-- ============================================= -- 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,'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