﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="ed5588f0-15f0-4295-8b26-a17faf6b6b6f" codekey="ERGO_ReportInformationenZuLernprogrammen" categoryCodekey="LearningPrograms" name="Report Informationen zu Lernprogrammen " description="Es wird eine Liste über alle Lernprogramme mit Detailinformationen erstellt. Je Lernprogramm wird der Lernprogramm-Titel, der Titel für Lerner, die Beschreibung des jeweiligen Lernprogramms, die Lerndauer, die Bildungszeit, die Zuordnungen zu Bildungsangeboten und Modulen, die Zuordnungen zu Zielgruppen, die einstellende Person sowie das Kennzeichen gelistet.">
      <MetaData created="2016-09-29T09:37:50" createdBy="Administrator VIWIS (Administrator)" createdBy_user_id="272" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="de036d2c-7313-4d05-8de1-4648ba51a4d3" mandatorName="ERGO_e-Campus" isStandard="False" isUsedByMenu="False" />
      <Roles>
        <Role id="50" />
        <Role id="60" />
        <Role id="80" />
      </Roles>

      <command>
-- For testing
-- declare @current_mandator_id UNIQUEIDENTIFIER = '96BA2868-8BAF-4E69-B1FB-D2CC6D6832E8';

/* Set up the separator for the list of Edu Offers, Target Groups and Modules */
DECLARE @Separator NVARCHAR(10),
@SeparatorLength INT;


SET @Separator = '; ';
SET @SeparatorLength = LEN(@Separator)

/* ------------------------------------------------------------------------------------------------
Edu Offer titles by Theme for the specified Mandator joined into a CSV string
--------------------------------------------------------------------------------------------- */
DECLARE @EduOffers TABLE
(
ThemeId UNIQUEIDENTIFIER PRIMARY KEY,
EduOfferTitles NVARCHAR(MAX)
)

INSERT INTO @EduOffers (ThemeId, EduOfferTitles)
SELECT
t.id,
STUFF
(
(
SELECT  @Separator + i2.title
FROM    tblItems i2
INNER JOIN tblEduOffers eo2 ON  i2.id = eo2.id
INNER JOIN tblEduOffersModules eom2 ON eom2.eduOffer_id = eo2.id
INNER JOIN tblModuleItems mi2 ON mi2.module_id = eom2.module_id
WHERE   mi2.item_id = t.id
ORDER BY    i2.title
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),
1,
@SeparatorLength,
''
)
FROM
tblEduOffers eo
INNER JOIN tblItems i ON i.id = eo.id
INNER JOIN tblEduOffersModules eom ON eom.eduOffer_id = eo.id
INNER JOIN tblModuleItems mi ON mi.module_id = eom.module_id
INNER JOIN tblThemes t ON t.id = mi.item_id
WHERE
t.mandator_id = @current_mandator_id
AND i.deleted IS NULL
GROUP BY
t.id

/* ------------------------------------------------------------------------------------------------
Target Group titles by Theme for the specified Mandator joined into a CSV string
--------------------------------------------------------------------------------------------- */
declare @TargetGroups TABLE
(
ThemeId UNIQUEIDENTIFIER PRIMARY KEY,
TargetGroupTitles NVARCHAR(MAX)
)

INSERT INTO @TargetGroups (ThemeId, TargetGroupTitles)
SELECT
mi.item_id,
STUFF
(
(
SELECT
@Separator + tg2.title
FROM
tblTargetGroups tg2
INNER JOIN tblEduOffersTargetGroups eotg2 ON eotg2.targetGroup_id = tg2.id
INNER JOIN tblEduOffersModules eom2 ON eom2.eduOffer_id = eotg2.eduOffer_id
INNER JOIN tblModuleItems mi2 ON mi2.module_id = eom2.module_id
WHERE
mi2.item_id = mi.item_id
ORDER BY
tg2.title
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),
1,
@SeparatorLength,
''
)
FROM
tblTargetGroups tg
INNER JOIN tblEduOffersTargetGroups eotg ON eotg.targetGroup_id = tg.id
INNER JOIN tblEduOffersModules eom ON eom.eduOffer_id = eotg.eduOffer_id
INNER JOIN tblModuleItems mi ON mi.module_id = eom.module_id
WHERE
tg.mandator_id = @current_mandator_id
GROUP BY
mi.item_id


/* ------------------------------------------------------------------------------------------------
Module titles by Theme for the specified Mandator joined into a CSV string
--------------------------------------------------------------------------------------------- */
declare @Modules TABLE
(
ThemeId UNIQUEIDENTIFIER PRIMARY KEY,
ModuleTitles NVARCHAR(MAX)
)

INSERT INTO @Modules (ThemeId, ModuleTitles)
SELECT
t.id,
STUFF
(
(
SELECT
@Separator + i2.title
FROM
tblThemes t2
INNER JOIN tblModuleItems mi2 ON mi2.item_id = t2.id
INNER JOIN tblItems i2 ON i2.id = mi2.module_id
WHERE
t2.id = t.id
ORDER BY
i2.title
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),
1,
@SeparatorLength,
''
)
FROM
tblThemes t
INNER JOIN tblModuleItems mi ON mi.item_id = t.id
INNER JOIN tblItems i ON i.id = mi.module_id AND i.deleted IS NULL
WHERE
t.mandator_id = @current_mandator_id
GROUP BY
t.id


SELECT
i.title AS 'Titel in Adminansicht',
i.titleForLearners AS 'Titel für Lerner',
i.[description] AS 'Beschreibung',
t.learningDuration AS 'Lerndauer /Min',
i.educationTime AS 'Bildungszeit',
eo.EduOfferTitles AS 'Welchen BLM zugeordnet',
tg.TargetGroupTitles AS 'Welchen ZG‘s zugeordnet',
m.ModuleTitles AS 'Welchen Modulen zugeordnet',
dbo.fn_GetUserName(i.createdBy_user_id) AS 'Wer hat es erstmalig eingestellt',
i.Created AS 'Wann erstmalig eingestellt',
dbo.fn_GetUserName(t.importedBy_user_id) AS 'Wer hat es zuletzt importiert',
t.importedDate AS 'Wann zuletzt importiert',
i.tag AS 'Kennzeichen'
FROM
tblThemes as t
INNER JOIN tblItems i ON i.id = t.id
INNER JOIN @EduOffers eo ON eo.ThemeId = t.id
INNER JOIN @Modules m ON m.ThemeId = t.id
INNER JOIN @TargetGroups tg ON tg.ThemeId = t.id
WHERE
t.mandator_id = @current_mandator_id
ORDER BY
i.title ASC
      </command>
    </Report>
  </Reports>
</ReportsExport>