USE [CLARA_ROS_MICROSOFT_TEAMS]
GO
/****** Object:  StoredProcedure [dbo].[CoursGroupeFinCohort]    Script Date: 20/11/2019 14:31:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ===================================================================================================================================================
-- Author:		Nadia Amrouche
-- Create date: 18-11-2019
-- Description:	Retourne la liste des cours-groupe de toutes les cohortes inactives de formation contenue dans Clara
--				le résultat est filtré par année-session, par unité organisationnelle, la Cohorte et la date fin de la Cohorte
--
--Parameter: @noUniteOrg (Obligatoire)
--			 @anSession (optionnel)
--			 @noCohorteFC (optionnel)
--		     @nbreMois : Un nombre négatif pour le mois antérieur et positif pour le mois  postérieur par défaut c'est le mois actuel. 
--			 @nbreAnnee : Un nombre négatif pour l'année antérieure et positif pour l'année postérieure par défaut par defaut c'est l'année actuelle 
-- ===================================================================================================================================================
ALTER PROCEDURE [dbo].[CoursGroupeFinCohort] 
	-- Add the parameters for the stored procedure here
	 @noUniteOrg varchar(10),
	 @anSession int,
	 @noCohorteFC varchar(20),
	 @nbreMois int,
	 @nbreAnnee int	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	declare @datefin date
	set @datefin=getdate()

	set @datefin = DATEADD(month,@nbreMois,@datefin) 
	set @datefin = DATEADD(year, @nbreAnnee,@datefin)  
	--select @datefin

	select distinct
	 CONCAT (isnull(ltrim(rtrim(VueCoursGroupesClara.NumeroCohorteFC)),'0') , '_' , ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' , ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))) as EquipeTeams
	--,VueCoursGroupesClara.DateFinCohorteFC 
	from VueCoursGroupesClara 
	where VueCoursGroupesClara.NumeroUniteOrg = @noUniteOrg
	and (case @anSession when 0 then 0  else VueCoursGroupesClara.AnSession   end = @anSession)
	and (case @noCohorteFC when 0 then 0  else VueCoursGroupesClara.NumeroCohorteFC   end = @noCohorteFC)
	and VueCoursGroupesClara.DateFinCohorteFC  between @datefin and DATEADD(day,-30,getdate())   
	--order by VueCoursGroupesClara.DateFinCohorteFC  
END

-- CoursGroupeFinCohort '915000-2',0,0, 0,-5


