-- flag_stato=1 completato (verde)
-- flag_stato=2 in esecuzione (giallo)
-- flag_stato=3 non lavorato (rosso)
--truncate table C6MartPeriodicoImmobiliare.tab_semaforo
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI
  --select * from C6MartPeriodicoImmobiliare.tab_semaforo
-- Stored procedure  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodicoImmobiliare].[SP_Valorizza_Stati_semaforo_IMM] @param1 varchar(20),@tipo varchar(20)
AS  
BEGIN  
 -- SET NOCOUNT ON added to prevent extra result sets from  
 -- interfering with SELECT statements.  
 declare 
 @intero  int,
 @semestrale varchar(3),
 @lotto varchar(3),
 @testi_statici varchar(3),
 --@lotto_zero varchar(3),
 @omi varchar(3),
 @richiesta_catasto varchar(3),
 @richiesta_rischio varchar(3),
 @Generazione_Invio_PDF varchar(3),
 --descrizioni
 @desc_semestrale varchar(256),
 @desc_testi_statici varchar(256),
 @desc_lotto varchar(256),
 @desc_omi varchar(256),
 @desc_richiesta_catasto varchar(256),
 @desc_richiesta_rischio varchar(256),
 @desc_Generazione_Invio_PDF varchar(256)
 set @intero='0'
 set @semestrale='1'
 --set @lotto='2'
 set @testi_statici='2'
 set @omi='3'
 set @richiesta_catasto='4'
 set @richiesta_rischio='5'
 --set @adeguatezza='7'
 --set @post_ade='8'
 set @Generazione_Invio_PDF='6'
 set @desc_semestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "IMMOBILIARI". '
 set @desc_testi_statici='Fase dei testi statici.'
 set @desc_lotto='Preparazione delle rendicontazioni in corso.'
 set @desc_omi='Fase di omi per il database di marketing.'
 set @desc_richiesta_catasto='Fase di Richiesta al Catasto'
 set @desc_richiesta_rischio='Fase di Richiesta del Rischio.'
 set @desc_Generazione_Invio_PDF='Generazione e Invio PDF.'
 --select * from C6MartPeriodicoImmobiliare.tab_semaforo
 --inserimento
 --select * from C6MartPeriodicoImmobiliare.tab_semaforo
 --insert into C6MartPeriodicoImmobiliare.tab_semaforo values
 --avvio_trimestre
 --update C6MartPeriodicoImmobiliare.tab_semaforo
 --set descrizione='Fase di omi per il database di marketing'
 --from C6MartPeriodicoImmobiliare.tab_semaforo
 --where id_milestone=4
if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo)=0)
begin
insert into C6MartPeriodicoImmobiliare.tab_semaforo values 
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0),
--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0),
--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO',@desc_lotto,'','',3,@intero+1,'','',0),
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,'','',3,@intero,'','',0),
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,'','',3,@intero,'','',0),
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO',@desc_richiesta_catasto,'','',3,@intero,'','',0),
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO',@desc_richiesta_rischio,'','',3,@intero,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1),
([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF',@desc_Generazione_Invio_PDF,'','',3,@intero,'','',0)
end
--insert into C6MartPeriodicoImmobiliare.tab_semaforo values 
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,getdate()+1,getdate()+4,3,@intero,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,getdate()+5,getdate()+30,3,@intero+1,getdate()+5,getdate()+30,0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,getdate()+6,getdate()+8,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_catasto,getdate()+6,getdate()+8,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_rischio,getdate()+9,getdate()+11,3,@intero+1,'','',0),
----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1),
----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_Generazione_Invio_PDF,getdate()+12,getdate()+14,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,getdate()+13,getdate()+17,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,getdate()+18,getdate()+21,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,getdate()+23,getdate()+25,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,getdate()+25,getdate()+27,3,@intero+1,'','',0),
--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,getdate()+27,getdate()+30,3,@intero+1,'','',0)
if (@param1='SEM_START')
begin
if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and  tipo_reportistica=@tipo and flg_stato=1)>0)
begin
truncate table C6MartPeriodicoImmobiliare.tab_semaforo 
--;throw 51014,'Presente una semestrale conclusa, per continuare fai una truncate su questa tabella',0
end
select @intero= COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and  tipo_reportistica=@tipo
if(@intero>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0),
--fine_milestone=GETDATE()+50,
--fine_lotto=GETDATE()+50,
flg_stato=2
where milestone='SEMESTRALE' and tipo_reportistica=@tipo;
--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM LOTTO_START,@tipo
end
--else
--begin
--insert into C6MartPeriodicoImmobiliare.tab_semaforo 
--values ([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,'SEMESTRALE','',GETDATE(),GETDATE()+50,2,@intero)
--end
end
--if(@param1='LOTTO_START')
--begin
--if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0)
--begin
--update C6MartPeriodicoImmobiliare.tab_semaforo
--set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
--flg_stato=2
----fine_milestone=GETDATE()+4,
----fine_lotto=GETDATE()+4
--from C6MartPeriodicoImmobiliare.tab_semaforo
--where milestone='LOTTO' and tipo_reportistica=@tipo
--end
--else
--begin
--;throw 50003,'Nessuna fase di Semestrale in corso',0
--end
--end
if(@param1='TESTI_START')
begin
if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
flg_stato=2
--fine_milestone=GETDATE()+4,
--fine_lotto=GETDATE()+4
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='TESTI STATICI' and tipo_reportistica=@tipo
end
else
begin
;throw 50003,'Nessuna fase di Lotto in corso',0
end
end
if(@param1='OMI_START')
begin
if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
flg_stato=2
--fine_milestone=GETDATE()+4,
--fine_lotto=GETDATE()+4
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='OMI' and tipo_reportistica=@tipo
end
else
begin
;throw 50003,'Nessuna fase di Lotto in corso',0
end
end
if(@param1='CATASTO_START')
begin
if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
flg_stato=2
--fine_milestone=GETDATE()+4,
--fine_lotto=GETDATE()+4
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='RICHIESTA CATASTO' and tipo_reportistica=@tipo
end
else
begin
;throw 50003,'Fase di OMI non completata',0
end
end
if(@param1='RISCHIO_START')
begin
if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
flg_stato=2
--fine_milestone=GETDATE()+4,
--fine_lotto=GETDATE()+4
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='RICHIESTA RISCHIO' and tipo_reportistica=@tipo
end
else
begin
;throw 50003,'Fase di OMI non completata',0
end
end
if(@param1='ZIPPING_START')
begin
if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='RICHIESTA RISCHIO' and flg_stato=1 and tipo_reportistica=@tipo)<>0)
begin
update C6MartPeriodicoImmobiliare.tab_semaforo
set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end,
inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end,
flg_stato=2
--fine_milestone=GETDATE()+4,
--fine_lotto=GETDATE()+4
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo
end
else
begin
;throw 50003,'Fase di Richiesta non completata',0
end
end
if (@param1='SEM_END')
begin
--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and  tipo_reportistica=@tipo
--if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and  tipo_reportistica=@tipo) <>0 )
--begin
--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM lotto_end,IMM
--end
update C6MartPeriodicoImmobiliare.tab_semaforo
set fine_milestone=GETDATE(),flg_stato=1
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone='SEMESTRALE' and tipo_reportistica=@tipo
end
--if(@param1='LOTTO_END')
--begin
--if ((select count(*) from C6MartPeriodicoImmobiliare.tab_semaforo where inizio_milestone='GENERAZIONE E INVIO PDF' and flg_stato=2)>0)
--begin
--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM
----end
--update C6MartPeriodico.tab_semaforo 
--set fine_milestone=GETDATE(),flg_stato=1
--from C6MartPeriodico.tab_semaforo
--where milestone = 'LOTTO'and tipo_reportistica=@tipo
--end
--if(@param1='ZIPPING_END')
--begin
--update C6MartPeriodico.tab_semaforo 
--set fine_milestone=GETDATE(),flg_stato=1
--from C6MartPeriodico.tab_semaforo
--where milestone = 'GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo
--end
if(@param1='RISCHIO_END')
begin
update C6MartPeriodicoImmobiliare.tab_semaforo 
set fine_milestone=GETDATE(),flg_stato=1
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone = 'RICHIESTA RISCHIO' and tipo_reportistica=@tipo
end
if(@param1='CATASTO_END')
begin
update C6MartPeriodicoImmobiliare.tab_semaforo 
set fine_milestone=GETDATE(),flg_stato=1
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone = 'RICHIESTA CATASTO' and tipo_reportistica=@tipo
end
if(@param1='OMI_END')
begin
update C6MartPeriodicoImmobiliare.tab_semaforo 
set fine_milestone=GETDATE(),flg_stato=1
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone = 'OMI' and tipo_reportistica=@tipo
end
if(@param1='TEST_END')
begin
update C6MartPeriodicoImmobiliare.tab_semaforo 
set fine_milestone=GETDATE(),flg_stato=1
from C6MartPeriodicoImmobiliare.tab_semaforo
where milestone = 'TESTI STATICI' and tipo_reportistica=@tipo
end
----truncate table C6MartPeriodicoImmobiliare.tab_semaforo 
--select * from C6MartPeriodicoImmobiliare.tab_semaforo order by inizio_milestone desc
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_start,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_end,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_end,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_end,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_end,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_end,IMM
--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM
end