﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="b0e72ac5-a57c-4674-8afa-8b38f1e47e8e" codekey="ERGO_e-Campus_PTD_Gesamtdatenbankabzug_M_V" categoryCodekey="UserStats" name="PTD_Gesamtdatenbankabzug (Modul)(Variabel)" description="Gibt die Grünstatus der Benutzer und Bausteine zurück die dem Modul &quot;Gesamtdatenbank_alleLernprogramme_variabel&quot; zugeordnet sind.">
      <MetaData created="2022-04-22T12:10:06" createdBy="Kaiser, Jan-Patrick (245527)" createdBy_user_id="101393" modified="2023-02-13T14:45:59" modifiedBy="Kaiser, Jan-Patrick (245527)" modifiedBy_user_id="101393" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="bfa70f6b-484c-49da-9ad7-1ccd8f0d684c" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isRequired="False" allowMultiSelect="False" name="Zeitraum" contextName="Zeitraum" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>/**
 * Report Name: ERGO_e-Campus_PTD_Gesamtdatenabzug
**/

--DECLARE @mandator_id UNIQUEIDENTIFIER = (SELECT id FROM tblMandators WHERE name = 'ERGO_e-Campus')

--DECLARE @dateRange_start DATETIME
--DECLARE @dateRange_end DATETIME

DECLARE @module_id UNIQUEIDENTIFIER = (SELECT id FROM tblItems WHERE title = 'Gesamtdatenbankabzug alle Lernprogramme variabel' and itemType_id = 1001)

IF (@dateRange_end IS NULL)
BEGIN
	SET @dateRange_end = GETDATE()
END

CREATE TABLE #users(
	UserCn INT
)

SELECT suih.* 
INTO #usersAndStates
FROM tblModuleItems mi
INNER JOIN tblStatusUserItemHistory suih ON suih.item_id = mi.item_id 
	and suih.status = 2 
	AND (@dateRange_start IS NULL OR suih.startDate &gt;= @dateRange_start)
	AND (suih.endDate IS NULL OR suih.endDate &lt;= @dateRange_end)
WHERE mi.module_id = @module_id

SELECT
(SELECT descUserCn FROM tableUsers WHERE intUserCn = u.user_id) AS PNR,
(SELECT title FROM tblItems WHERE id = u.item_id) AS [Bausteintitel],
(SELECT titleForLearners FROM tblItems WHERE id = u.item_id) AS [Bausteintitel für Lerner],
(SELECT TOP 1 mainVersion FROM tblVersionMap WHERE id = u.item_id ORDER BY mainVersion DESC) AS [letzte Version],
u.item_version AS [Versionsnummer],
CASE
WHEN (SELECT itemType_id FROM tblItems WHERE id = u.item_id) = 1 THEN
(SELECT CAST(learningDuration AS int) FROM tblThemeVersions WHERE id = u.item_id AND version = (
	SELECT TOP 1 subVersion FROM tblVersionMap WHERE id = u.item_id and tableName = 'tblThemeVersions'
	AND mainVersion = (SELECT TOP 1 mainVersion FROM tblVersionMap WHERE id = u.item_id ORDER BY mainVersion DESC)
))
ELSE 
(SELECT CAST(timeLimit AS int) FROM tblTasTestVersions WHERE id = u.item_id AND version = (
	SELECT TOP 1 subVersion FROM tblVersionMap WHERE id = u.item_id and tableName = 'tblThemeVersions'
	AND mainVersion = (SELECT TOP 1 mainVersion FROM tblVersionMap WHERE id = u.item_id ORDER BY mainVersion DESC)
)) 
END AS [Lerndauer in Minuten],
(SELECT CAST( (SUM(durationSeconds) / 60) AS INT)
FROM tblStatsThemeSessions tsts2 
WHERE tsts2.theme_id = u.item_id
AND tsts2.user_id = u.user_id) AS [Bearbeitungszeit in Min],
(
	SELECT TOP 1 educationTime From tblUserItemScores uis WHERE uis.status_id = u.id
) AS [Bildungszeit in Min],
ISNULL(u.endDate, u.startDate) AS [Datum]
FROM #usersAndStates u
ORDER BY PNR

IF OBJECT_ID('tempdb..#users') IS NOT NULL
	DROP TABLE #users

IF OBJECT_ID('tempdb..#usersAndScores') IS NOT NULL
	DROP TABLE #usersAndScores

IF OBJECT_ID('tempdb..#usersAndStates') IS NOT NULL
	DROP TABLE #usersAndStates
</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isSystem="True" name="Zeitraum" reportParameterType_id="abff13be-91c3-4ee1-93a3-7292f8e013ba" queryParameterName="@dateRange" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="abff13be-91c3-4ee1-93a3-7292f8e013ba" isSystem="True" name="DateRange" datatype="DateRange" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>