﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="fcdc5318-aa6a-413d-86cd-286ad90b731c" codekey="Kosmos_ExportWaitingTrainingUsers" categoryCodekey="Trainings" name="Export Warteliste" description="Der Report listet für den  gewählten Seminartitel alle Termine und Nutzer, die jeweils für einen Seminartermin eines Seminartitels im gewählten Zeitraum die folgenden Bedingungen erfüllen:&#xD;&#xA;&lt;ul&gt;&#xD;&#xA;&lt;li&gt;User hat Status „auf Warteliste“ für den Seminartermin&lt;/li&gt;&#xD;&#xA;&lt;li&gt;User hat nicht Status „gebucht“ oder  „Eingeladen“ oder „Anwesenheit bestätigt“ oder  „Teilnahme bestätigt“ für einen anderen  Seminartermin des Titels&lt;/li&gt;&#xD;&#xA;&lt;/ul&gt;">
      <MetaData created="2016-11-30T15:47:12" createdBy="Administrator Zentrale (Administrator)" createdBy_user_id="2" modified="2016-12-01T17:10:15" modifiedBy="Administrator Zentrale" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="0ab3e804-57cb-42a7-82a3-a6fd412d317d" mandatorName="Kosmos" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="30a31f7a-c7d3-4345-bd00-64b115b070f6" isRequired="True" allowMultiSelect="False" name="Seminartitel abhängig vom Mandanten (PULL)" contextName="Seminartitel abhängig vom Mandanten (PULL)" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <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>
        /* REGION REPORT DEFAULT PARAMETERS*/
        --DECLARE @trainingTitle_id UNIQUEIDENTIFIER
        --DECLARE @current_mandator_id UNIQUEIDENTIFIER
        --DECLARE @dateRange_start DATETIME
        --DECLARE @dateRange_end DATETIME

        --SET @trainingTitle_id = '08B2408B-9063-496F-850E-82BC883AC067'
        /* REGION REPORT DEFAULT PARAMETERS*/


        CREATE TABLE #result(mandator_id UNIQUEIDENTIFIER,
        codekey NVARCHAR(200),
        descUserCn NVARCHAR(200),
        firstname NVARCHAR(200),
        lastname NVARCHAR(200),
        department NVARCHAR(200),
        costcenter NVARCHAR(200),
        startDate DATETIME,
        endDATE DATETIME,
        comment NVARCHAR(200)NULL)

        IF(@dateRange_start IS NOT NULL)
        SET @dateRange_start = CAST(CONVERT(NVARCHAR(32), @dateRange_start, 112)AS DATETIME)

        IF(@dateRange_end IS NOT NULL)
        BEGIN
        SET @dateRange_end = CAST(CONVERT(NVARCHAR(32), @dateRange_end, 112)AS DATETIME)
        SET @dateRange_end = DATEADD(day, 1, @dateRange_end)
        SET @dateRange_end = DATEADD(second, -1, @dateRange_end)
        END

        INSERT INTO #result
        SELECT v_Users.mandator_id,
        v_Users.employeeId,
        v_Users.descUserCn,
        v_Users.Vorname,
        v_Users.Nachname,
        v_Users.office,
        (
          SELECT
            customAttribute1
          FROM
            tblUserCustomAttributes ca
          WHERE
            ca.user_id = intUserCn
        )AS customAttribute,
        tblTrainings.startDate,
        tblTrainings.endDate,
        ''
        FROM tblTrainings INNER JOIN tblUserTrainingStatus AS userStatus ON userStatus.training_id = tblTrainings.id
        INNER JOIN v_Users ON v_Users.intUserCn = userStatus.user_id
        WHERE trainingTitle_id = @trainingTitle_id
        AND (@dateRange_start IS NULL OR startDate &gt;= @dateRange_start)
        AND (@dateRange_end IS NULL OR startDate &lt;= @dateRange_end)
        AND userStatus.actionclass_id = 10 /* only waiting users*/
        AND NOT EXISTS(
        SELECT *
        FROM tblUserTrainingStatus AS A INNER JOIN tblTrainings AS B ON A.training_id = B.id
        WHERE B.trainingTitle_id = @trainingTitle_id
        AND A.user_id = userStatus.user_id
        AND A.training_id &lt;&gt; userStatus.training_id
        AND A.actionclass_id IN(20, 30, 60, 70, 80))
        ORDER BY userStatus.user_id

        SELECT tblMandators.Name AS 'Mandant',
        codekey AS 'Interne ID',
        descUserCn AS 'Kennung',
        lastname AS 'Nachname',
        firstname AS 'Vorname',
        department AS 'Dienststelle',
        costcenter AS 'Kostenstelle',
        startDate AS 'Seminartermin',
        comment AS 'Bemerkung'
        FROM #result INNER JOIN tblMandators ON tblMandators.id = mandator_id
        ORDER BY startDATE ASC, endDate ASC
        DROP TABLE #result
      </command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="30a31f7a-c7d3-4345-bd00-64b115b070f6" isSystem="True" name="Seminartitel abhängig vom Mandanten (PULL)" reportParameterType_id="c4fa1006-96a9-4b85-bf22-6a480289e5f3" queryParameterName="@trainingTitle_id" />
    <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isSystem="True" name="Zeitraum" reportParameterType_id="abff13be-91c3-4ee1-93a3-7292f8e013ba" queryParameterName="@dateRange" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="c4fa1006-96a9-4b85-bf22-6a480289e5f3" isSystem="False" name="Seminartitel" datatype="GuidDDL" dataValueField="" dataTextField="">
      <query>SELECT tblItems.id AS value, tblItems.title AS text FROM tblTrainingTitles INNER JOIN tblItems ON tblItems.id = tblTrainingTitles.id WHERE tblTrainingTitles.mandator_id = @current_mandator_id AND tblTrainingTitles.workflow = 0 ORDER BY text</query>
    </ParameterType>
    <ParameterType id="abff13be-91c3-4ee1-93a3-7292f8e013ba" isSystem="True" name="DateRange" datatype="DateRange" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>