-- 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