PDC_REPORT_CreazioneDB/sql/Collaudo/funzioni/dbo_Cc_Email_20161021.sql
2025-06-10 15:29:00 +02:00

97 lines
2.7 KiB
Transact-SQL

CREATE FUNCTION [dbo].[Cc_Email_20161021]
(
@RETE as varchar(1) = '',
@CODICE as varchar(6) = '',
@NS as int = 0, -- NUMERO SOLLECITI FATTI,
@TIPOEMAIL as varchar(19) = ''
)
RETURNS varchar(500)
AS
BEGIN
DECLARE @CC_DI_RITORNO as varchar(500)
SET @CC_DI_RITORNO = '';
if @TIPOEMAIL = 'PERF'
RETURN @CC_DI_RITORNO
declare @flag as bit
set @flag = 0
DECLARE @PV as varchar(1)
SET @PV = ';'
declare @flagAM as bit
set @flagAM = 0
DECLARE @REF_SEDE as varchar(200)
SET @REF_SEDE = ''
IF @RETE = 'F'
BEGIN
SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@BANCAFIDEURAM.IT' + @PV;
SET @REF_SEDE = @REF_SEDE + 'SEI@BANCAFIDEURAM.IT';
END
ELSE IF @RETE = 'S'
BEGIN
SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@SPINVEST.COM' + @PV;
SET @REF_SEDE = @REF_SEDE + 'SEI@SPINVEST.COM';
END
--dal 2 sollecito coinvolgo la struttura RETE manageriale
SELECT @flag =
(CASE
WHEN (@TIPOEMAIL in ('2_SOLL_NOMIG','2_SOLL_NOASS','3_SOLL_NOMIG','3_SOLL_NOASS','S_SOLL_NOMIG','S_SOLL_NOASS','REVOCA_NOMIG','REVOCA_NOASS')) THEN 1
ELSE 0
END)
--dal 3 sollecito coinvolgo l'AM
SELECT @flagAM =
(CASE
WHEN (@TIPOEMAIL in ('3_SOLL_NOMIG','3_SOLL_NOASS','S_SOLL_NOMIG','S_SOLL_NOASS','REVOCA_NOMIG','REVOCA_NOASS')) THEN 1
ELSE 0
END)
declare @ritorno as varchar(500)
set @ritorno = ''
IF(@flag=1)
begin
--em.rete,em.codice,
--em.email
select @ritorno = @ritorno + em.email + @PV
from
(
SELECT rete,rm as codice
from c6mart.struttura_rete sr
where Rete = @RETE
and PB = @CODICE
and rm <> pb
union all
SELECT rete,dm as codice
from c6mart.struttura_rete sr
where Rete = @RETE
and PB = @CODICE
and dm <> rm
union all
SELECT rete,am as codice
from c6mart.struttura_rete sr
where Rete = @RETE
and PB = @CODICE
and am <> dm
and @flagAM = 1
) a
inner join C6Mart.EMAIL_PB em
on a.rete = em.rete
and a.codice = em.codice
end
--dal 3 sollecito coinvolgo anche Direzione ed Assistenza Rete
if(@flagAM=1)
set @ritorno = @REF_SEDE + @PV + @ritorno
RETURN @ritorno
--RETURN '@NS=' + cast(@NS as varchar(2)) + '-' + '@flag=' + cast(@flag as varchar(2))+ '-' + '@flagAM=' + cast(@flagAM as varchar(2))
END
--BEGIN
-- DECLARE @CC_DI_RITORNO as varchar(255)
-- SET @CC_DI_RITORNO = @CC;
-- IF @RETE = 'F'
-- BEGIN
-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_DIREZIONE$/','DIREZIONERETE@BANCAFIDEURAM.IT');
-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_ASSISTENZA$/','ASSISTENZARETE@BANCAFIDEURAM.IT');
-- END
-- ELSE IF @RETE = 'S'
-- BEGIN
-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_DIREZIONE$/','DIREZIONERETE@SPINVEST.IT');
-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_ASSISTENZA$/','ASSISTENZARETE@SPINVEST.IT');
-- END
-- RETURN @CC_DI_RITORNO
--END