PDC_REPORT_CreazioneDB/sql/storedCollaudo/dbo_ElencoClientiImmobiliareDaStampare.sql
2025-06-09 17:09:11 +02:00

86 lines
4.0 KiB
Transact-SQL

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