<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="c63e92b3-4d97-4603-94ed-790f18ed5838" codekey="UebersichtGesamt" categoryCodekey="Trainings" name="Gesamtübersicht Seminarstatus" description="Lister aller aktiven und nicht gesperrten VM + KDB über die Weiterbildungsaktivitäten (Seminare) des aktuellen Kalenderjahres">
      <MetaData created="2025-01-13T10:21:15" createdBy="zz_Ködelpeter, Marcus (AP4605)" createdBy_user_id="30663" modified="2025-03-24T15:06:38" modifiedBy="zz_Ködelpeter, Marcus (AP4605)" modifiedBy_user_id="30663" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="f7a65c38-6ce4-41c9-aaf7-c6111449f0f0" mandatorName="HUKeLearning" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="420648ce-6ead-43a0-b693-28d13e96e8d9" isRequired="False" allowMultiSelect="False" name="Jahre ab 2019" contextName="Jahre" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="20" />
        <Role id="30" />
        <Role id="55" />
        <Role id="80" />
        <Role id="90" />
      </Roles>
      <command>-- default parameter
DECLARE @mandator_id UNIQUEIDENTIFIER = @current_mandator_id
-- DECLARE @mandator_id UNIQUEIDENTIFIER = 'F7A65C38-6CE4-41C9-AAF7-C6111449F0F0'

-- injected parameter
DECLARE @currentYear NVARCHAR(4) = COALESCE(NULLIF(@year, ''), CONVERT(NVARCHAR(4), YEAR(GETDATE())))
-- DECLARE @currentYear NVARCHAR(4) = '2025'
-- DECLARE @region NVARCHAR(255) = 'Süd'

-- individual parameters
DECLARE @StartDate DATE = @currentYear + '-01-01'
DECLARE @EndDate   DATE = @currentYear + '-12-31'


SELECT 
u.Nachname AS 'Name'
, u.Vorname AS 'Vorname'
, u.office AS 'GS'
, u.division AS 'Gebiet'
, CASE
	WHEN RIGHT(u.office, 2) IN ('01', '02', '04', '06', '09', '16', '38') THEN 'Süd'
	WHEN RIGHT(u.office, 2) IN ('03', '19', '43', '44', '45', '46', '47', '55') THEN 'Mitte'
	WHEN RIGHT(u.office, 2) IN ('10', '12', '13', '25', '29', '40', '41') THEN 'Nord'
	WHEN RIGHT(u.office, 2) IN ('08', '11', '14', '17', '18', '21', '36', '37') THEN 'Südwest'
	WHEN RIGHT(u.office, 2) IN ('20', '26', '27', '28', '30', '31', '34', '35') THEN 'West'
	ELSE 'Unbekannt'
END AS "Region"
, tt.titleForLearners AS 'Seminartitle'
, t.startDate AS 'Beginn'
, t.enddate AS 'Ende'
, CASE
	-- prefer tblUserTrainingStatus when available
	WHEN uts.actionclass_id = 10 THEN 'wartend'																-- Auf Warteliste -> wartend
	WHEN uts.actionclass_id = 20 THEN 'gebucht'																-- Gebucht
	WHEN uts.actionclass_id IN (30, 60) THEN 'eingeladen'											-- Einladung / Einladung bestätigt -> eingeladen
	WHEN uts.actionclass_id IN (70, 80) THEN 'teilgenommen'										-- Anwesenheit/Teilnahme bestätigt -> teilgenommen
	WHEN uts.actionclass_id = 40 THEN 'abgesagt'															-- Storniert -> abgesagt
	-- fallback to existing tblStatusUserItemHistory.status if no tblUserTrainingStatus record
  WHEN suih.status = 3 THEN 'abgesagt'
  WHEN suih.status = 2 THEN 'teilgenommen'
  WHEN suih.status = 1 THEN 'eingeladen'
	WHEN suih.status = 0 THEN 'gebucht'
	ELSE 'unbekannt'
  END AS 'Status'
FROM tblStatusUserItemHistory AS suih
JOIN tblUserTrainingStatus AS uts ON uts.user_id = suih."user_id" AND uts.training_id = suih.item_id
JOIN tblItems AS i ON i.id = suih.item_id AND i.itemType_id = 2
JOIN tblTrainings AS t ON t.id = i.id
JOIN tblItems AS tt ON tt.id = t.trainingTitle_id AND tt.itemType_id = 8 AND tt.tag LIKE 'WB%'
JOIN tableUsers AS u ON u.intUserCn = suih."user_id"
JOIN tblUserCustomAttributes AS uca ON uca."user_id" = u.intUserCn
JOIN tblOrganisationUnits AS ou ON ou.id = t.organizer AND ou.title LIKE '%VK%'
WHERE u.blocked = 0
AND u.userStatus &lt; 2
AND uca.customAttribute3 &lt;&gt; 'MAKDB'
AND uca.customAttribute3 &lt;&gt; 'KDBMA'
AND uca.customAttribute3 &lt;&gt; 'KDB-MA'
AND uca.customAttribute3 &lt;&gt; ''
AND uca.customAttribute3 IS NOT NULL
AND suih.startDate BETWEEN @StartDate AND @EndDate
AND suih.endDate IS NULL
ORDER BY u.office, u.division, u.Nachname, t.startDate</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="420648ce-6ead-43a0-b693-28d13e96e8d9" mandator_id="f7a65c38-6ce4-41c9-aaf7-c6111449f0f0" isSystem="False" name="Jahre ab 2019" reportParameterType_id="b3f1a2c4-9e77-4a2b-8d6f-123456789abc" queryParameterName="@year" />
    <!-- internal parameters for from/to date, which are calculated based on the selected year parameter in the report -->
    <Parameter id="d4f8a1b2-7c3e-4f5a-9e2b-1234567890ab" mandator_id="f7a65c38-6ce4-41c9-aaf7-c6111449f0f0" isSystem="True" name="StartDate (intern)" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@StartDate" />
    <Parameter id="e5f9b2c3-8d4f-5a6b-0c3d-abcdefabcdef" mandator_id="f7a65c38-6ce4-41c9-aaf7-c6111449f0f0" isSystem="True" name="EndDate (intern)" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@EndDate" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="b3f1a2c4-9e77-4a2b-8d6f-123456789abc" isSystem="True" name="Auswahlliste Zahlen (Jahre 2019+)" datatype="IntegerDDL" dataValueField="year_id" dataTextField="year_name">
      <query>
        ; WITH yearsCTE AS
        (
          SELECT YEAR(GETDATE()) AS year
          UNION ALL
          SELECT year - 1
          FROM yearsCTE
          WHERE year &gt;= 2020
        )
        SELECT year AS year_id, CAST(year AS NVARCHAR(64)) AS year_name
        FROM yearsCTE
        ORDER BY year DESC
        OPTION (MAXRECURSION 0)
      </query>
    </ParameterType>
    <!-- simple Date-ParameterType for internal from/to-Parameter -->
    <ParameterType id="74253ba7-a386-4620-bff7-b65c16fe1e64" isSystem="True" name="Datum" datatype="Date" />
  </ParameterTypes>
</ReportsExport>