﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="b3a1f54d-d889-49ff-93a3-410664d568ea" codekey="Kosmos_StatsUserTargetGroups" categoryCodekey="UserStats" name="Auswertung ZG-Wechsel IDD-User" description="Der Report zeigt die Zielgruppen-Wechsel der User in den IDD-Mandanten.">
      <MetaData created="2023-02-02T11:54:40" createdBy="Fastenmeier, Benjamin (PAAFB)" createdBy_user_id="29588" modified="2023-05-05T10:14:27" modifiedBy="Everke, Claudius (ITSEC)" modifiedBy_user_id="10771" />
      <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="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isRequired="False" allowMultiSelect="False" name="Zeitraum" contextName="Zeitraum" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="8a788b48-9545-44e3-a700-678759456e6a" isRequired="False" allowMultiSelect="False" name="Ganze Zahl" contextName="Ganze Zahl" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="9e13f7d4-3794-429e-ac67-3cd49046da69" isRequired="False" allowMultiSelect="True" name="Zielgruppen Multiselektion Report StatsUserTargetGroups" contextName="Zielgruppen Multiselektion" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>/* DECLARE @dateRange_start DATETIME = '2022-02-01 00:00:00.000'
DECLARE @dateRange_end DATETIME = '2022-02-27 00:00:00.000'
DECLARE @integer INT
*/

CREATE TABLE #tg_ids(
	tg_id INT
)

DECLARE @tg_names typeStringList
INSERT INTO @tg_names VALUES('ACS IDD Vertreiber mit Sachkunde'),('ACS IDD Vertreiber ohne Sachkunde'),
														('AND IDD Vertreiber mit Sachkunde'),('AND IDD Vertreiber ohne Sachkunde'),
														('BBR IDD Vertreiber mit Sachkunde'),('BBR IDD Vertreiber ohne Sachkunde'),
														('EXDL IDD Vertreiber mit Sachkunde'),('EXDL IDD Vertreiber ohne Sachkunde'),
														('GKS IDD Vertreiber mit Sachkunde'),('GKS IDD Vertreiber ohne Sachkunde'),
														('HSA IDD Vertreiber mit Sachkunde'),('HSA IDD Vertreiber ohne Sachkunde'),
														('HTH IDD Vertreiber mit Sachkunde'),('HTH IDD Vertreiber ohne Sachkunde'),
														('MRH IDD Vertreiber mit Sachkunde'),('MRH IDD Vertreiber ohne Sachkunde'),
														('NBA IDD Vertreiber mit Sachkunde'),('NBA IDD Vertreiber ohne Sachkunde'),
														('NBY IDD Vertreiber mit Sachkunde'),('NBY IDD Vertreiber ohne Sachkunde'),
														('NRH IDD Vertreiber mit Sachkunde'),('NRH IDD Vertreiber ohne Sachkunde'),
														('NSA IDD Vertreiber mit Sachkunde'),('NSA IDD Vertreiber ohne Sachkunde'),
														('OWL IDD Vertreiber mit Sachkunde'),('OWL IDD Vertreiber ohne Sachkunde'),
														('PFA IDD Vertreiber mit Sachkunde'),('PFA IDD Vertreiber ohne Sachkunde'),
														('SAS IDD Vertreiber mit Sachkunde'),('SAS IDD Vertreiber ohne Sachkunde'),
														('SBA IDD Vertreiber mit Sachkunde'),('SBA IDD Vertreiber ohne Sachkunde'),
														('SBY IDD Vertreiber mit Sachkunde'),('SBY IDD Vertreiber ohne Sachkunde'),
														('SHO IDD Vertreiber mit Sachkunde'),('SHO IDD Vertreiber ohne Sachkunde'),
														('SRL IDD Vertreiber mit Sachkunde'),('SRL IDD Vertreiber ohne Sachkunde'),
														('WEM IDD Vertreiber mit Sachkunde'),('WEM IDD Vertreiber ohne Sachkunde'),
														('WFA IDD Vertreiber mit Sachkunde'),('WFA IDD Vertreiber ohne Sachkunde'),
														('WTB IDD Vertreiber mit Sachkunde'),('WTB IDD Vertreiber ohne Sachkunde'),
														('ZentraleLerner IDD Vertreiber mit Sachkunde'),('ZentraleLerner IDD Vertreiber ohne Sachkunde'),
														('ZentraleLerner IDD Vertreiber VES mit Sachkunde'),('ZentraleLerner IDD Vertreiber VES ohne Sachkunde')

INSERT INTO #tg_ids
SELECT	id
FROM	tblTargetGroups
WHERE	title IN (SELECT * FROM @tg_names)

CREATE TABLE #result(
	OE nvarchar(128),
	Zielgruppe nvarchar(2048),
	Vorname nvarchar(128),
	Nachname nvarchar(128),
  Status nvarchar(128),
	Datum datetime
)

-- Added
INSERT INTO #result
SELECT
		ou.title,
    tg.title,
		tu.Vorname,
		tu.Nachname,
		'User ZG zugewiesen',
		stats.addedTime
FROM	#tg_ids tgids
JOIN	tblStatsUsersTargetGroups stats
			ON stats.targetGroup_id = tgids.tg_id
JOIN	tblTargetGroups tg
			on tg.id = tgids.tg_id
JOIN	tableUsers tu
			ON tu.intUserCn = stats.user_id
JOIN	tblUsersOrganisationUnits uou
			ON uou.user_id = tu.intUserCn
JOIN	tblOrganisationUnits ou 
			ON ou.id = uou.organisationUnit_id
WHERE	(@dateRange_start IS NULL OR
			(stats.addedTime &gt;= @dateRange_start) 
		)
AND		(@dateRange_end IS NULL OR
			(stats.addedTime &lt;= @dateRange_end)
		)
AND		(@integer IS NULL OR 
			((MONTH(stats.addedTime) = @integer)) AND (YEAR(stats.addedTime ) = YEAR(GETDATE()))
		)
AND   (NOT EXISTS (SELECT * FROM @targetGroupId) OR
      (tg.id IN (SELECT * FROM @targetGroupId))
    )

-- Remove
INSERT INTO #result
SELECT
		ou.title,
    tg.title,
		tu.Vorname,
		tu.Nachname,
		'User ZG absortiert',
		stats.removedTime
FROM	#tg_ids tgids
JOIN	tblStatsUsersTargetGroups stats
			ON stats.targetGroup_id = tgids.tg_id
JOIN	tblTargetGroups tg
			on tg.id = tgids.tg_id
JOIN	tableUsers tu
			ON tu.intUserCn = stats.user_id
JOIN	tblUsersOrganisationUnits uou
			ON uou.user_id = tu.intUserCn
JOIN	tblOrganisationUnits ou 
			ON ou.id = uou.organisationUnit_id
WHERE	(@dateRange_start IS NULL OR
			(stats.removedTime &gt;= @dateRange_start) 
		)
AND		(@dateRange_end IS NULL OR
			(stats.removedTime &lt;= @dateRange_end)
		)
AND		(@integer IS NULL OR 
			((MONTH(stats.removedTime) = @integer) AND (YEAR(stats.removedTime) = YEAR(GETDATE())))
		)
AND   (NOT EXISTS (SELECT * FROM @targetGroupId) OR
      (tg.id IN (SELECT * FROM @targetGroupId))
    )
AND stats.removedTime IS NOT NULL

SELECT	*
FROM	#result
ORDER BY "Datum"

DROP TABLE #tg_ids
DROP TABLE #result</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isSystem="True" name="Zeitraum" reportParameterType_id="abff13be-91c3-4ee1-93a3-7292f8e013ba" queryParameterName="@dateRange" />
    <Parameter id="8a788b48-9545-44e3-a700-678759456e6a" isSystem="True" name="Ganze Zahl" reportParameterType_id="51b6166f-7a5a-4db3-b4ae-d9b9632dc129" queryParameterName="@integer" />
    <Parameter id="9e13f7d4-3794-429e-ac67-3cd49046da69" isSystem="True" name="Zielgruppen Multiselektion Report StatsUserTargetGroups" reportParameterType_id="e8a88ae6-7128-45c3-a1c3-13020e6e9ca7" queryParameterName="@targetGroupId" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="abff13be-91c3-4ee1-93a3-7292f8e013ba" isSystem="True" name="DateRange" datatype="DateRange" dataValueField="" dataTextField="" />
    <ParameterType id="51b6166f-7a5a-4db3-b4ae-d9b9632dc129" isSystem="True" name="Integer" datatype="Integer" dataValueField="" dataTextField="" />
    <ParameterType id="e8a88ae6-7128-45c3-a1c3-13020e6e9ca7" isSystem="False" name="Auswahl TargetGroups Report StatsUserTargetGroups" datatype="IntegerDDL" dataValueField="id" dataTextField="title">
      <query>
        DECLARE @tg_names typeStringList
        INSERT INTO @tg_names VALUES('ACS IDD Vertreiber mit Sachkunde'),('ACS IDD Vertreiber ohne Sachkunde'),
        ('AND IDD Vertreiber mit Sachkunde'),('AND IDD Vertreiber ohne Sachkunde'),
        ('BBR IDD Vertreiber mit Sachkunde'),('BBR IDD Vertreiber ohne Sachkunde'),
        ('EXDL IDD Vertreiber mit Sachkunde'),('EXDL IDD Vertreiber ohne Sachkunde'),
        ('GKS IDD Vertreiber mit Sachkunde'),('GKS IDD Vertreiber ohne Sachkunde'),
        ('HSA IDD Vertreiber mit Sachkunde'),('HSA IDD Vertreiber ohne Sachkunde'),
        ('HTH IDD Vertreiber mit Sachkunde'),('HTH IDD Vertreiber ohne Sachkunde'),
        ('MRH IDD Vertreiber mit Sachkunde'),('MRH IDD Vertreiber ohne Sachkunde'),
        ('NBA IDD Vertreiber mit Sachkunde'),('NBA IDD Vertreiber ohne Sachkunde'),
        ('NBY IDD Vertreiber mit Sachkunde'),('NBY IDD Vertreiber ohne Sachkunde'),
        ('NRH IDD Vertreiber mit Sachkunde'),('NRH IDD Vertreiber ohne Sachkunde'),
        ('NSA IDD Vertreiber mit Sachkunde'),('NSA IDD Vertreiber ohne Sachkunde'),
        ('OWL IDD Vertreiber mit Sachkunde'),('OWL IDD Vertreiber ohne Sachkunde'),
        ('PFA IDD Vertreiber mit Sachkunde'),('PFA IDD Vertreiber ohne Sachkunde'),
        ('SAS IDD Vertreiber mit Sachkunde'),('SAS IDD Vertreiber ohne Sachkunde'),
        ('SBA IDD Vertreiber mit Sachkunde'),('SBA IDD Vertreiber ohne Sachkunde'),
        ('SBY IDD Vertreiber mit Sachkunde'),('SBY IDD Vertreiber ohne Sachkunde'),
        ('SHO IDD Vertreiber mit Sachkunde'),('SHO IDD Vertreiber ohne Sachkunde'),
        ('SRL IDD Vertreiber mit Sachkunde'),('SRL IDD Vertreiber ohne Sachkunde'),
        ('WEM IDD Vertreiber mit Sachkunde'),('WEM IDD Vertreiber ohne Sachkunde'),
        ('WFA IDD Vertreiber mit Sachkunde'),('WFA IDD Vertreiber ohne Sachkunde'),
        ('WTB IDD Vertreiber mit Sachkunde'),('WTB IDD Vertreiber ohne Sachkunde'),
        ('ZentraleLerner IDD Vertreiber mit Sachkunde'),('ZentraleLerner IDD Vertreiber ohne Sachkunde'),
        ('ZentraleLerner IDD Vertreiber VES mit Sachkunde'),('ZentraleLerner IDD Vertreiber VES ohne Sachkunde')

        SELECT
        id, title
        FROM
        tblTargetGroups
        WHERE
        mandator_id = @current_mandator_id
        AND
        title IN (SELECT * FROM @tg_names)
        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
        AND tblFunctions.shortcut = 'FcnIsAuthorizedForAllTGs'
        INNER JOIN v_Users
        ON  v_Users.SecurityID = tblRoles.id
        WHERE
        tblRolesFunctions.mandator_id = @current_mandator_id
        AND v_Users.intUserCn = @current_user_id
        )
        )
        AND defaultforlibrary = 0
        ORDER BY
        title
      </query>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>