USE [CLARA_ROS_MICROSOFT_TEAMS]
GO
/****** Object:  StoredProcedure [dbo].[CoursGroupeEtudiant]    Script Date: 20/11/2019 14:57:25 ******/
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 associés aux étudiants dans Clara
--				Dans le cas de la formation contenue, il retourne la liste des cours-groupe de toutes les cohortes actives associés aux étudiants 
--				le résultat est filtré par année-session, par unité organisationnelle ou la Cohorte pour la formation continue
--
--Parameter: @noUniteOrg (Obligatoire)
--			 @anSession (Obligatoire pour la Formation régulière et optionnel pour les autres formations)
--			 @noCohorteFC (ça s'applique seulement à la formation contenue. il est optionnel)
-- ===================================================================================================================================================
ALTER PROCEDURE [dbo].[CoursGroupeEtudiant] 
	-- Add the parameters for the stored procedure here
	 @noUniteOrg varchar(10)
	,@anSession int
	,@noCohorteFC varchar(20)
	 
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here

	if @noUniteOrg ='915000-1'
	BEGIN
		select distinct
		VueCoursGroupesClara.NumeroEtudiant as NoEtudiant
		,CONCAT 
		(case RIGHT(VueCoursGroupesClara.AnSession,1) 
				when 1 then 'H'  
				when 2 then 'E' 
				when 3 then 'A'  
				END 
				,  LEFT(VueCoursGroupesClara.AnSession,4) , '_' 
				, ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' 
				, ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))
		) as EquipeTeams
		--, VueCoursGroupesClara.DateDebutCohorteFC 
		--, VueCoursGroupesClara.DateFinCohorteFC
		from VueCoursGroupesClara 
		--where VueCoursGroupesClara.AnSession = @anSession
		where VueCoursGroupesClara.NumeroUniteOrg = @noUniteOrg
		and VueCoursGroupesClara.AnSession = @anSession
		order by EquipeTeams,NoEtudiant 
	END
    ELSE
    BEGIN
		select distinct
		VueCoursGroupesClara.NumeroEtudiant as NoEtudiant
		, CONCAT(isnull(ltrim(rtrim(VueCoursGroupesClara.NumeroCohorteFC)),'0') , '_' , ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' , ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))) as EquipeTeams
		--, CASE @noUniteOrg 
		--	when  '915000-1' -- reguliere
		--	then CONCAT (case RIGHT(VueCoursGroupesClara.AnSession,1) when 1 then 'H'  when 2 then 'E' when 3 then 'A'  END ,  LEFT(VueCoursGroupesClara.AnSession,4) , '_' , ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' , ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))) 
		--	when '915000-2' -- Contenu
		--	then CONCAT (isnull(ltrim(rtrim(VueCoursGroupesClara.NumeroCohorteFC)),'0') , '_' , ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' , ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))) 
		--	when '915000-4' -- RAC
		--	then CONCAT (isnull(ltrim(rtrim(VueCoursGroupesClara.NumeroCohorteFC)),'0') , '_' , ltrim(rtrim(VueCoursGroupesClara.NumeroCours)) , '_' , ltrim(rtrim(str(VueCoursGroupesClara.NumeroGroupe)))) 
		--	end as EquipeTeams
		--, VueCoursGroupesClara.DateDebutCohorteFC 
		--, 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 (getDate() between VueCoursGroupesClara.DateDebutCohorteFC and VueCoursGroupesClara.DateFinCohorteFC )
		order by EquipeTeams,NoEtudiant 
	END
END

-- CoursGroupeEtudiant '915000-1',20193,0 
-- CoursGroupeEtudiant '915000-2',0,0 
-- CoursGroupeEtudiant '915000-3',0,0
-- CoursGroupeEtudiant '915000-4',0,0
