﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="7b092fc5-3fac-4b68-9a30-84ae049d43b8" codekey="ELECT_LearnersWithoutCompletedLearningProgramState" categoryCodekey="LearningPrograms" name="Lerner ohne vollständigen Bearbeitungsstand" description="Der Report soll eine Liste aller Nutzer einer Zielgruppe ausgeben, die ein (oder mehrere) Lernprogramm(e) nicht  oder nicht vollständig bearbeitet haben.">
      <MetaData created="2015-12-01T14:24:44" createdBy="Rolle Administrator (Administrator)" createdBy_user_id="12" modified="2015-12-09T13:37:01" modifiedBy="Rolle Administrator" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="IncludeMandators" mandator_id="96ba2868-8baf-4e69-b1fb-d2cc6d6832e8" mandatorName="ELECT" isStandard="False" isUsedByMenu="False">
        <Mandator mandatorName="ELECT" />
      </Mandators>
      <Parameters>
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="True" allowMultiSelect="True" name="Zielgruppe" contextName="Zielgruppen" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="988a4ad2-5502-4c70-8f69-db9ab9ae1690" isRequired="True" allowMultiSelect="True" name="Lernprogramm abhängig vom Zielgruppen" contextName="WBTs" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>
        ;
        WITH selection
        AS (SELECT DISTINCT descUserCn AS Personalnummer,
        v_Users.Nachname,
        v_Users.Vorname,
        tblUserCustomAttributes.customAttribute1 AS Ort,
        tblUserCustomAttributes.customAttribute3 AS Firma,
        v_Users.division AS Abteilung,
        tblItems.title AS Lernprogramm,
        wbts.value AS theme_id,
        intUserCn --,
        FROM v_Users
        LEFT JOIN tblUserCustomAttributes ON tblUserCustomAttributes.user_id = v_Users.intUserCn
        INNER JOIN tblUsersTargetGroups ON tblUsersTargetGroups.UserCn = v_Users.intUserCn
        INNER JOIN @targetGroup_id AS targetGroups ON targetGroups.value = tblUsersTargetGroups.targetGroup_id
        INNER JOIN tblEduOffersTargetGroups ON tblEduOffersTargetGroups.targetGroup_id = targetGroups.value
        INNER JOIN tblEduOffersModules ON tblEduOffersModules.eduOffer_id = tblEduOffersTargetGroups.eduOffer_id
        INNER JOIN tblModuleItems ON tblModuleItems.module_id = tblEduOffersModules.module_id
        INNER JOIN @wbts AS wbts ON wbts.value = tblModuleItems.item_id
        INNER JOIN tblItems ON tblItems.id = wbts.value)

        -- gather here all that have at least one status (e.g. they did any of the wbts)
        , bestStatus
        AS (SELECT intUserCn,
        selection.theme_id,
        MAX(BestComplete) AS Bearbeitungsstand
        FROM selection
        INNER JOIN tblStatusUserCourse ON tblStatusUserCourse.theme_id = selection.theme_id
        AND tblStatusUserCourse.UserId = selection.intUserCn
        GROUP BY intUserCn,
        selection.theme_id)


        -- now select the ones that completed any of the wbts
        , completeStatus
        AS (SELECT DISTINCT intUserCn
        FROM bestStatus
        WHERE Bearbeitungsstand = 100)

        SELECT Personalnummer,
        Nachname,
        Vorname,
        Ort,
        Firma,
        Abteilung,
        Lernprogramm,
        CAST(ROUND(Bearbeitungsstand, 2)AS DECIMAL(18, 2)) AS 'Bester Bearbeitungsstand'
        FROM selection
        LEFT JOIN bestStatus ON bestStatus.intUserCn = selection.intUserCn
        AND bestStatus.theme_id = selection.theme_id
        WHERE Bearbeitungsstand IS NULL  OR Bearbeitungsstand &lt; 100
    AND selection.intUserCn NOT IN (SELECT * FROM completeStatus)
    ORDER BY Lernprogramm, Ort, Bearbeitungsstand, Nachname
</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isSystem="True" name="Zielgruppe" reportParameterType_id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" queryParameterName="@targetGroup_id" />
    <Parameter id="988a4ad2-5502-4c70-8f69-db9ab9ae1690" isSystem="False" name="Lernprogramm abhängig vom Zielgruppen" reportParameterType_id="85d5ee3f-0a84-4de4-811b-074ec44b8176" queryParameterName="@wbts" />
    <Parameter id="76f4d3c5-2618-4c32-bade-747a2fd8b2ad" isSystem="False" name="Target Groups Current Mandator" reportParameterType_id="4123c2c2-d408-476a-82bf-ca77f9ecf944" queryParameterName="@targetGroup_id" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" isSystem="True" name="TargetGroup" datatype="TargetGroup" dataValueField="" dataTextField="" />
    <ParameterType id="85d5ee3f-0a84-4de4-811b-074ec44b8176" isSystem="False" name="Lernprogramm abhängig vom Zielgruppen" datatype="GuidDDL" dataValueField="id" dataTextField="title">
      <query>
SELECT DISTINCT tblThemes.id, tblItems.title
  FROM tblThemes 
       inner join tblItems on tblItems.id = tblThemes.id
       INNER JOIN tblModuleItems ON tblModuleItems.item_id = tblThemes.id
       INNER JOIN tblEduOffersModules ON tblEduOffersModules.module_id = tblModuleItems.module_id
       INNER JOIN tblEduOffersTargetGroups ON tblEduOffersTargetGroups.eduOffer_id = tblEduOffersModules.eduOffer_id
       INNER JOIN @targetGroup_id AS targetGroups ON targetGroups.value = tblEduOffersTargetGroups.targetGroup_id
ORDER BY  tblItems.title
</query>
      <Parameters>
        <Parameter id="76f4d3c5-2618-4c32-bade-747a2fd8b2ad" isRequired="False" allowMultiSelect="True" name="Target Groups Current Mandator" contextName="Target Groups Current Mandator" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
    <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>
  </ParameterTypes>
</ReportsExport>