﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="a5f542e3-8761-4658-a6cf-bd7af61bd341" codekey="KOSMOS_Praesenztrainings_Akademie_ASES" categoryCodekey="Trainings" name="Präsenztrainings Akademie &gt; ASES" description="">
      <MetaData created="2024-03-11T11:38:49" createdBy="35325_LastName, 35325_FirstName (Administrator)" createdBy_user_id="35325" modified="2024-03-19T16:38:41" modifiedBy="35325_LastName, 35325_FirstName (Administrator)" modifiedBy_user_id="35325" />
      <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" />
      <Roles>
        <Role id="90" />
      </Roles>
      <command>
DECLARE @HLP_ou UNIQUEIDENTIFIER
select @HLP_ou=id from tblOrganisationUnits where codekey like 'HLP' AND mandator_id = @current_mandator_id

CREATE TABLE #selection(id UNIQUEIDENTIFIER)
INSERT INTO #selection
SELECT DISTINCT tblTrainings.id
FROM tblTrainings
    JOIN tblItems on tblItems.id = tblTrainings.id
WHERE tblItems.deleted IS NULL AND tblTrainings.isPublished = 1
    AND tblTrainings.isArchived = 0 AND isMicroTraining = 0
	AND tblTrainings.organizer = @HLP_ou

-- gather all trainers already ordered
DECLARE @trainers TABLE(training_id UNIQUEIDENTIFIER, trainer_id UNIQUEIDENTIFIER,
employeeId NVARCHAR(50), firstName NVARCHAR(128), surName NVARCHAR(128), rowNo INT)

INSERT INTO @trainers
SELECT tblTrainingsTrainers.training_id, tblTrainingsTrainers.trainer_id,
    employeeId, ISNULL(firstName, vorname) , ISNULL(lastName, nachname),
    ROW_NUMBER() OVER (PARTITION BY training_id ORDER BY ISNULL(firstName, vorname) , ISNULL(lastName, nachname))
FROM tblTrainingsTrainers
    JOIN tblTrainers ON tblTrainers.id = trainer_id
    JOIN #selection ON #selection.id = training_id
    LEFT JOIN v_users on v_Users.intUserCn = tblTrainers.user_id


SELECT
    tag AS trainingid,
    tblItems.title AS training_text,
    SUBSTRING(REPLACE(tblItems.description, CHAR(13) + CHAR(10), ' '), 1, 200) AS training_long_text,
    NULL AS training_type,
    FORMAT(startDate, 'dd.MM.yyyy') as date_from, FORMAT(endDate, 'dd.MM.yyyy') AS date_to,
    CASE WHEN DATEDIFF(day, startDate, endDate) &gt; 0 THEN NULL ELSE CAST(CAST(startDate AS TIME) AS VARCHAR(5)) END AS train_uhrzeit_von,
    CASE WHEN DATEDIFF(day, startDate, endDate) &gt; 0 THEN NULL ELSE CAST(CAST(endDate AS TIME) AS VARCHAR(5)) END AS train_uhrzeit_bis,
    organiser.title AS name_organiser,
    orgAddress.zipcode AS post_code_org, orgAddress.town AS location_org, orgAddress.streetname as st_org, orgAddress.streetnumber AS st_no_org,
    locationAddress.zipcode AS post_code, locationAddress.town AS location_training, locationAddress.streetname as st_training, locationAddress.streetnumber AS st_no_training,
    (SELECT TOP 1 roomNumber FROM tblTrainingLocationRoomBookings JOIN tblTrainingLocationRooms ON  tblTrainingLocationRooms.id = room_id
    WHERE tblTrainingLocationRoomBookings.training_id = selection.id ORDER BY tblTrainingLocationRooms.title) AS room,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 1) AS emplno1,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 1) AS firstname1,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 1) AS surname1,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 2) AS emplno2,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 2) AS firstname2,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 2) AS surname2,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 3) AS emplno3,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 3) AS firstname3,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 3) AS surname3,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 4) AS emplno4,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 4) AS firstname4,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 4) AS surname4,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 5) AS emplno5,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 5) AS firstname5,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 5) AS surname5,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 6) AS emplno6,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 6) AS firstname6,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 6) AS surname6,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 7) AS emplno7,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 7) AS firstname7,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 7) AS surname7,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 8) AS emplno8,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 8) AS firstname8,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 8) AS surname8,
    (SELECT employeeId FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 9) AS emplno9,
    (SELECT firstName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 9) AS firstname9,
    (SELECT surName FROM @trainers AS trainers WHERE trainers.training_id = selection.id AND trainers.rowNo = 9) AS surname9,
    NULL AS notification_value,
    NULL AS time_from,
    NULL AS time_to,
    (select sum(seatCount) from tblTrainingsMandatorsSeatCount where training_id = selection.id) +
    (select sum(isnull(seatsCount,0)) from tblTrainings where id = selection.id) AS max_no_participants,
    tag2 AS Qualifikation
FROM #selection AS selection
    JOIN tblTrainings ON tblTrainings.id = selection.id
    JOIN tblItems on tblItems.id = selection.id
    LEFT JOIN tblOrganisationUnits AS organiser ON organiser.id = tblTrainings.organizer
    LEFT JOIN tblAddresses AS orgAddress ON orgAddress.id = organiser.address_id
    LEFT JOIN tblTrainingLocations AS location ON location.id = tblTrainings.trainingLocation_id
    LEFT JOIN tblAddresses AS locationAddress ON locationAddress.id = location.address_id
ORDER BY training_text, trainingid

DROP TABLE #selection
      </command>
    </Report>
  </Reports>
</ReportsExport>