﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="b9b2c19d-dbae-47c9-b581-be54837b8563" codekey="UserLicensingData" categoryCodekey="SpecialPurpose" name="Nutzerdaten für Lizenzabrechnung" description="Der Report ermittelt Nutzerdaten für die Lizenzabrechnungen  (Reihen: VFW,VFW-GB,34i,ffv)">
      <MetaData created="2020-05-26T13:52:36" createdBy="VIWIS, Administrator (Administrator)" createdBy_user_id="243" modified="2020-06-09T17:33:48" modifiedBy="VIWIS, Administrator (Administrator)" modifiedBy_user_id="243" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="89174709-9ecf-4ca6-9919-464fdea856b3" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="a785aecc-668a-4609-9613-394bd4d708c2" isRequired="True" allowMultiSelect="False" name="Mandant" contextName="Mandant" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="c34dbe08-0158-4ad3-9e5d-9b603447c72a" isRequired="True" allowMultiSelect="False" name="Text" contextName="WBT/Reihe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="bf72399d-7582-4b2a-a06c-8d47afe576f2" isRequired="True" allowMultiSelect="False" name="Von" contextName="Von" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="80245dc5-ca96-4c76-9449-2b5d07b129e9" isRequired="True" allowMultiSelect="False" name="Bis" contextName="Bis" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="7a721121-2d2e-4a3d-b9e6-c6aa238e7ab2" isRequired="True" allowMultiSelect="False" name="Auswahl (ja/nein)" contextName="Full" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles />
      <command>-- DECLARE @mandator_id UNIQUEIDENTIFIER = @current_mandator_id --(SELECT TOP 1 id FROM tblmandators WHERE name = 'wuerttembergische')
--DECLARE @string NVARCHAR(64) = 'VFW'
--DECLARE @startDate DATETIME = @dateRange_start
--DECLARE @endDate DATETIME = @dateRange_end

DECLARE @themePattern NVARCHAR(64) 

CREATE TABLE #ThemeList
(
	id NVARCHAR(12),
        pattern NVARCHAR(12),
        label NVARCHAR(36)
)

INSERT INTO #ThemeList VALUES 
('VFW','vfw%prox%','Versicherungsfachwissen'),
('VFW-GB','gb%prox%','Kompetent in Versicherungen'),
('34i','34i%','Immobiliendarlehensvermittlung'),
('ffv','ffv%','Finanzanlagen')
-- Get theme pattern
SELECT @themePattern = (SELECT TOP 1 pattern FROM #ThemeList WHERE id = @string )

-- Collect General User data for full Report
CREATE TABLE #usersResult
(
	Nutzer NVARCHAR(64),
	Anzahl INT
)
CREATE TABLE #themeUsersOverview
(
	Nutzer NVARCHAR(64),
	Anzahl INT
)

-- if Full Report is selected, show general data
IF (@selection_yesno = 1)
BEGIN
INSERT INTO #usersResult SELECT 'Named User Gesamt' AS Wert, COUNT(*) AS Anzahl FROM tableUsers
	WHERE mandator_id = @mandator_id
	AND SecurityID &lt; 100
	AND userType = 0
	AND tableUsers.created &lt; @endDate-- only count users which were created before the end of the evaluation interval
	AND (tableUsers.deleted IS NULL OR tableUsers.deleted &gt; @startDate)		-- only count users which were not deleted before the start of the evaluation interval
INSERT INTO #usersResult SELECT 'Aktive Named User' AS Wert, COUNT(*)  AS Anzahl FROM tableUsers
	WHERE mandator_id = @mandator_id
	AND SecurityID &lt; 100
	AND userType = 0
	AND tableUsers.created &lt; @endDate -- only count users which were created before the end of the evaluation interval
	AND (tableUsers.deleted IS NULL OR tableUsers.deleted &gt; @startDate)		-- only count users which were not deleted before the start of the evaluation interval
	AND NOT (userStatus = 2 AND ISNULL(userStatusStart,GetDate()) &lt;= @startDate)
INSERT INTO #usersResult SELECT 'Ausgeschiedene Named User' AS Wert, COUNT(*) AS RetiredNamedUsers FROM tableUsers 
	WHERE mandator_id = @mandator_id
	AND SecurityID &lt; 100
	AND userType = 0
	AND tableUsers.created &lt; @endDate	-- only count users which were created before the end of the evaluation interval
	AND (tableUsers.deleted IS NULL OR tableUsers.deleted &gt; @startDate)		-- only count users which were not deleted before the start of the evaluation interval
	AND (userStatus = 2 AND ISNULL(userStatusStart,GetDate()) &lt;= @startDate)

SELECT  CONVERT(nvarchar(24), @startDate, 104) + ' bis ' + CONVERT(nvarchar(24), @endDate, 104)  AS 'Auswertungszeitraum'
SELECT * FROM #usersResult

END

	  SELECT  tableUsers.descUserCn AS Kennung
                ,tableUsers.Nachname AS Nachname
				,tableUsers.Vorname AS Vorname
				,MIN(tblStatsUsersTargetGroups.addedTime) AS ZuordnungWBT
				,MAX(tblStatsUsersTargetGroups.removedTime) AS AbwahlWBT
				,tblThemes.importPath AS [WBT-Pfad]
				, tblThemes.manifest_id AS [Kurs-ID]
				,tblItems.title AS WBT
	INTO #tmpThemeUsers
  FROM dbo.tblThemes
	INNER JOIN tblItems ON tblItems.id = tblThemes.id
       INNER JOIN dbo.tblModuleItems ON dbo.tblThemes.id = dbo.tblModuleItems.item_id
       INNER JOIN dbo.tblModules ON dbo.tblModuleItems.module_id = dbo.tblModules.id
       INNER JOIN dbo.tblEduOffersModules ON dbo.tblModules.id = dbo.tblEduOffersModules.module_id
       INNER JOIN dbo.tblEduOffers ON dbo.tblEduOffersModules.eduOffer_id = dbo.tblEduOffers.id
       INNER JOIN dbo.tblEduOffersTargetGroups ON dbo.tblEduOffers.id = dbo.tblEduOffersTargetGroups.eduOffer_id
       INNER JOIN dbo.tblTargetGroups ON dbo.tblEduOffersTargetGroups.targetGroup_id = dbo.tblTargetGroups.id
       INNER JOIN dbo.tblStatsUsersTargetGroups ON dbo.tblTargetGroups.id = dbo.tblStatsUsersTargetGroups.targetGroup_id
       INNER JOIN dbo.tableUsers ON dbo.tblStatsUsersTargetGroups.user_id = dbo.tableUsers.intUserCn
 WHERE 
	dbo.tblThemes.manifest_id LIKE @themePattern
    AND tblThemes.mandator_id = @mandator_id

GROUP BY tableUsers.descUserCn
                ,tableUsers.Nachname 
				,tableUsers.Vorname 
				,tblThemes.importPath
				,tblItems.title
				,tblThemes.manifest_id
HAVING 	MIN(tblStatsUsersTargetGroups.addedTime) &lt; @endDate
AND (MAX(tblStatsUsersTargetGroups.removedTime) IS NULL OR MAX(tblStatsUsersTargetGroups.removedTime) &gt; @startDate)
ORDER BY  Kennung, WBT

SELECT  WBT, [WBT-Pfad],[Kurs-ID], COUNT(*) AS [Anzahl Zuweisungen zu Nutzer] 
INTO #tmpThemes
FROM #tmpThemeUsers GROUP BY WBT, [WBT-Pfad],[Kurs-ID]
ORDER BY [Kurs-ID]

INSERT INTO #themeUsersOverview SELECT 'Maximale WBT-Nutzer gesamt' AS [Nutzer], COUNT(DISTINCT Kennung) AS Anzahl FROM #tmpThemeUsers 
INSERT INTO #themeUsersOverview SELECT 'Maximale Nutzer je WBT' AS [Nutzer], MAX ([Anzahl Zuweisungen zu Nutzer]) AS Anzahl  FROM #tmpThemes

SELECT TOP 1 label AS  'Auswertung WBT' FROM #ThemeList WHERE id = @string 

SELECT * FROM #themeUsersOverview
SELECT * FROM #tmpThemes
-- SELECT * FROM #tmpThemeUsers

DROP Table #tmpThemeUsers
DROP TABLE #themeUsersOverview
DROP Table #tmpThemes
DROP Table #usersResult</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="a785aecc-668a-4609-9613-394bd4d708c2" isSystem="True" name="Mandant" reportParameterType_id="6b8fa242-5449-45b3-a81a-65a7e5e3b51d" queryParameterName="@mandator_id" />
    <Parameter id="c34dbe08-0158-4ad3-9e5d-9b603447c72a" isSystem="True" name="Text" reportParameterType_id="6e221a70-58e9-46eb-b028-181b9983b2f6" queryParameterName="@string" />
    <Parameter id="bf72399d-7582-4b2a-a06c-8d47afe576f2" isSystem="True" name="Von" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@startDate" />
    <Parameter id="80245dc5-ca96-4c76-9449-2b5d07b129e9" isSystem="True" name="Bis" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@endDate" />
    <Parameter id="7a721121-2d2e-4a3d-b9e6-c6aa238e7ab2" isSystem="True" name="Auswahl (ja/nein)" reportParameterType_id="411ec93b-ab23-41ba-91d6-e7dc0235b5af" queryParameterName="@selection_yesno" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="6b8fa242-5449-45b3-a81a-65a7e5e3b51d" isSystem="True" name="Mandator" datatype="Mandator" dataValueField="" dataTextField="" />
    <ParameterType id="6e221a70-58e9-46eb-b028-181b9983b2f6" isSystem="True" name="String" datatype="String" dataValueField="" dataTextField="" />
    <ParameterType id="74253ba7-a386-4620-bff7-b65c16fe1e64" isSystem="True" name="Date" datatype="Date" dataValueField="" dataTextField="" />
    <ParameterType id="411ec93b-ab23-41ba-91d6-e7dc0235b5af" isSystem="True" name="Boolean" datatype="StringDDL" dataValueField="Value" dataTextField="Text">
      <query>
        SELECT 0 AS Value, 'Nein' AS Text
        UNION
        SELECT 1 AS Value, 'Ja' AS Text
      </query>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>