PDC_REPORT_CreazioneDB/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio.sql
2025-06-06 19:02:52 +02:00

87 lines
2.9 KiB
Transact-SQL

-- =============================================
-- Author: <Alessandro Tringali>
-- Create date: <Create Date,,>
-- Description: <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