﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="5e6d6651-81d9-49f2-857e-2815989881e3" codekey="ERGODirektThemeTestTargetGroupsStatistics" categoryCodekey="SpecialPurpose" name="WBT- &amp; Teststatus je Zielgruppe" description="">
      <MetaData created="2015-06-22T15:28:33" createdBy="  (werner.crnjanowic)" createdBy_user_id="27314" modified="2015-06-24T11:12:27" modifiedBy=" " />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="c5fd8bcc-2b1a-4f1d-b30d-9063c3f768cc" mandatorName="ERGODirekt" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="False" allowMultiSelect="True" name="Zielgruppe" contextName="Zielgruppe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="986256a7-b816-470b-9802-a61d24e0d1e3" isRequired="True" allowMultiSelect="False" name="Modul abhängig von Zielgruppen" contextName="Modul" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="236ab62e-0490-4c36-8721-715ac8c95651" isRequired="True" allowMultiSelect="False" name="WBT abhängig vom Modul" contextName="WBT" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="4b782129-559e-40e3-a670-aa737d213949" isRequired="True" allowMultiSelect="False" name="Test abhängig vom Modul" contextName="Test" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="30" />
        <Role id="80" />
        <Role id="90" />
      </Roles>
      <command>
DECLARE @WBTBearbeitet NVARCHAR(MAX)
DECLARE @WBTNichtBearbeitet NVARCHAR(MAX)
DECLARE @testBearbeitet NVARCHAR(MAX)
DECLARE @testNichtBearbeitet NVARCHAR(MAX)
DECLARE @sql NVARCHAR(MAX)
DECLARE @params NVARCHAR(MAX)

SET @WBTBearbeitet = 'Lernprogramm bearbeitet'
SET @WBTNichtBearbeitet = 'Lernprogramm nicht bearbeitet'
SET @testBearbeitet = 'Test bestanden'
SET @testNichtBearbeitet = 'Test nicht bestanden'

SET @params = '@targetGroupsMandator  TYPEINTLIST READONLY, @themeId UNIQUEIDENTIFIER, @testId UNIQUEIDENTIFIER'

SET @sql = 'DECLARE @zielGruppe TABLE(name NVARCHAR(256), 
                          id INT, 
                          members INT)

INSERT INTO @zielGruppe
SELECT DISTINCT title, 
                tblTargetGroups.id, 
                COUNT(UserCn) OVER (PARTITION BY tblTargetGroups.id) AS usersCount
  FROM tblTargetGroups
       JOIN @targetGroupsMandator AS targetGroups ON targetGroups.value = tblTargetGroups.id
       JOIN tblUsersTargetGroups ON tblUsersTargetGroups.targetGroup_id = targetGroups.value

SELECT tgs.name AS Zielgruppe, 
       tgs.members AS ''Benutzer in Zielgruppe'', 
       counts.themeGreen as ''' + @WBTBearbeitet + ''', 
       tgs.members - counts.themeGreen AS ''' + @WBTNichtBearbeitet + ''', 
       counts.testGreen as ''' + @testBearbeitet  + ''', 
       tgs.members - counts.testGreen AS ''' + @testNichtBearbeitet + '''
  FROM(
       SELECT targetGroups.value, 
              COUNT(themeStatus.user_id)AS themeGreen, 
              COUNT(testStatus.user_id)AS testGreen
         FROM @targetGroupsMandator AS targetGroups --@zielGruppe as targetGroups
              JOIN tblUsersTargetGroups ON tblUsersTargetGroups.targetGroup_id = targetGroups.value
              LEFT JOIN tblStatusUserItemHistory AS themeStatus ON themeStatus.user_id = tblUsersTargetGroups.UserCn
                                                               AND themeStatus.item_id = @themeId
                                                               AND themeStatus.overrideDate IS NULL
                                                               AND themeStatus.endDate IS NULL
                                                               AND themeStatus.status = 2
              LEFT JOIN tblStatusUserItemHistory AS testStatus ON testStatus.user_id = tblUsersTargetGroups.UserCn
                                                              AND testStatus.item_id = @testId
                                                              AND testStatus.overrideDate IS NULL
                                                              AND testStatus.status = 2 
                                                              AND testStatus.endDate is null
        GROUP BY targetGroups.value)AS counts --, targetGroups.name, targetGroups.members
      JOIN @zielGruppe AS tgs ON tgs.id = counts.value
 ORDER BY name'

-- select @sql
       
EXEC SP_EXECUTESQL @sql, @params, @targetGroupsMandator = @targetGroup_id, @themeId = @theme_id, @testId = @test_id

</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isSystem="False" name="Zielgruppe" reportParameterType_id="4123c2c2-d408-476a-82bf-ca77f9ecf944" queryParameterName="@targetGroup_id" />
    <Parameter id="986256a7-b816-470b-9802-a61d24e0d1e3" isSystem="False" name="Modul abhängig von Zielgruppen" reportParameterType_id="99630598-5924-4e25-8f4e-6c2751444ab1" queryParameterName="@module_id" />
    <Parameter id="236ab62e-0490-4c36-8721-715ac8c95651" isSystem="False" name="WBT abhängig vom Modul" reportParameterType_id="22b42f8d-f690-40c8-947a-d8ab3044495c" queryParameterName="@theme_id" />
    <Parameter id="4b782129-559e-40e3-a670-aa737d213949" isSystem="False" name="Test abhängig vom Modul" reportParameterType_id="66284a2a-e928-4dcf-9ac7-ad81d7847fd9" queryParameterName="@test_id" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="4123c2c2-d408-476a-82bf-ca77f9ecf944" isSystem="False" name="TargetGroup" datatype="IntegerDDL" dataValueField="id" dataTextField="title">
      <query>
        SELECT id, title
        FROM tblTargetGroups
        WHERE(mandator_id = @current_mandator_id)
        AND (EXISTS(SELECT * FROM v_Users WHERE intUserCn = @current_user_id AND securityId = 100)
        OR EXISTS(SELECT * FROM tblTargetGroupManagers WHERE tblTargetGroupManagers.user_id = @current_user_id
                  AND tblTargetGroupManagers.targetGroup_id = tblTargetGroups.id)
        OR EXISTS(SELECT *
                  FROM tblRolesFunctions
                  JOIN tblRoles ON tblRoles.id = tblRolesFunctions.role_id
                  JOIN tblFunctions ON tblFunctions.id = tblRolesFunctions.function_id
                  JOIN v_Users ON v_Users.intUserCn = @current_user_id
                  WHERE tblFunctions.shortcut = 'FcnIsAuthorizedForAllTGs' AND tblRoles.id = v_Users.SecurityID))
        AND defaultforlibrary = 0
        ORDER BY title
      </query>
    </ParameterType>
    <ParameterType id="99630598-5924-4e25-8f4e-6c2751444ab1" isSystem="False" name="Modul abhängig von Zielgruppen Typ" datatype="GuidDDL" dataValueField="id" dataTextField="title">
      <query>SELECT DISTINCT tblItems.id, 
                tblItems.title
  FROM tblItems
       JOIN tblEduOffersModules ON tblEduOffersModules.module_id = tblItems.id
       JOIN tblEduOffersTargetGroups ON tblEduOffersModules.eduOffer_id = tblEduOffersTargetGroups.eduOffer_id
 WHERE itemType_id = 1001
   AND mandator_id = @current_mandator_id
   AND tblEduOffersTargetGroups.targetGroup_id IN(
       SELECT * FROM @targetGroup_id)
 ORDER BY title</query>
      <Parameters>
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="False" allowMultiSelect="True" name="TargetGroup" contextName="TargetGroup" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
    <ParameterType id="22b42f8d-f690-40c8-947a-d8ab3044495c" isSystem="False" name="Theme abhängig vom Modul Typ" datatype="GuidDDL" dataValueField="id" dataTextField="title">
      <query>SELECT DISTINCT tblItems.id, 
                tblItems.title
  FROM tblItems
       JOIN tblModuleItems ON tblModuleItems.item_id = tblItems.id AND tblItems.itemType_id = 1 --theme
 WHERE tblModuleItems.module_id = @module_id</query>
      <Parameters>
        <Parameter id="986256a7-b816-470b-9802-a61d24e0d1e3" isRequired="False" allowMultiSelect="False" name="Modul abhängig von Zielgruppen" contextName="Modul abhängig von Zielgruppen" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
    <ParameterType id="66284a2a-e928-4dcf-9ac7-ad81d7847fd9" isSystem="False" name="Test abhängig vom Modul Typ" datatype="GuidDDL" dataValueField="id" dataTextField="title">
      <query> SELECT DISTINCT tblItems.id, 
                tblItems.title
  FROM tblItems
       JOIN tblModuleItems ON tblModuleItems.item_id = tblItems.id AND tblItems.itemType_id = 0 --test
 WHERE tblModuleItems.module_id = @module_id</query>
      <Parameters>
        <Parameter id="986256a7-b816-470b-9802-a61d24e0d1e3" isRequired="False" allowMultiSelect="False" name="Modul abhängig von Zielgruppen" contextName="Modul abhängig von Zielgruppen" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>