﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="932a2ee0-f1bd-4ccf-914b-73f2a458cd4a" codekey="ReassignResignedUsers" categoryCodekey="SpecialPurpose" name="Manipuliere ausgetretene Benutzer" description="Wählt alle Zielgruppen ab außer &quot;Bibliothek&quot;(Standard) und &quot;Ausgeschieden&quot;&#xD;&#xA;Löscht den Inhalt von &quot;Gruppe/Agenturnummer&quot; und &quot;Abteilung/BD&quot;&#xD;&#xA;Löscht User aus allen Organisationseinheiten und wählt OE EX&#xD;&#xA;Sperrt Benutzer">
      <MetaData created="2020-10-20T15:03:00" createdBy="Mecklenburgische, Administrator (Administrator)" createdBy_user_id="244" modified="2020-11-13T10:49:46" modifiedBy="Mecklenburgische, Administrator (Administrator)" modifiedBy_user_id="244" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="35f3db1c-1b05-4a11-883a-2e57dafb9a9a" mandatorName="Mecklenburgische" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="7a721121-2d2e-4a3d-b9e6-c6aa238e7ab2" isRequired="True" allowMultiSelect="False" name="Auswahl (ja/nein)" contextName="Benutzer verschieben" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>IF(@selection_yesno = 1)
BEGIN
	--DECLARE @current_mandator_id UNIQUEIDENTIFIER = '35F3DB1C-1B05-4A11-883A-2E57DAFB9A9A'

	CREATE TABLE #users(
		descUserCn NVARCHAR(255),
		users_id INT
	)

	INSERT INTO #users
	SELECT descUserCn,intUserCn FROM tableUsers 
	WHERE mandator_id = @current_mandator_id
	AND userStatus = 2
	AND userStatusStart &lt;= GETDATE()

	
	DECLARE @DescUserCn NVARCHAR(255)
	DECLARE @UserInt INT

	-- Delete From all OEs and set OE EX as default
	DECLARE @AllUsersIds typeIntList 
	INSERT INTO @AllUsersIds
	SELECT users_id FROM #users

	DECLARE @OEs typeGuidList
	INSERT INTO @OEs
	SELECT organisationUnit_id FROM tblUsersOrganisationUnits WHERE user_id IN (SELECT user_id FROM #users)

	DECLARE @OEExId uniqueidentifier = (SELECT id FROM tblOrganisationUnits WHERE mandator_id = @current_mandator_id AND codekey = 'OE EX')
	exec sp_RemoveUsersFromOrganisationUnits @AllUsersIds, @OEs, @OEExId
	
	DECLARE @tgIdOfAusgeschieden typeIntList
	INSERT INTO @tgIdOfAusgeschieden
	SELECT id FROM tblTargetGroups WHERE title = 'Ausgeschiedene'

	-- Cursor to target single users
	DECLARE UserCursor CURSOR FAST_FORWARD FOR 
	SELECT * FROM #users	

	OPEN UserCursor
	FETCH NEXT FROM UserCursor INTO @DescUserCn,@UserInt

	WHILE @@FETCH_STATUS = 0
	BEGIN		
		DECLARE @tgsToReassginUserFrom typeIntList
		INSERT INTO @tgsToReassginUserFrom
		SELECT DISTINCT targetGroup_id FROM tblUsersTargetGroups WHERE UserCn = @UserInt

		-- Remove from all Targetgroups
		exec sp_ApplyTargetGroupsToUser @tgIdOfAusgeschieden, @tgsToReassginUserFrom, @UserInt

		-- Set division and office to "" and block user
		-- exec sp_UserImport @vchLogon = @DescUserCn, @vchDivision = '', @vchOffice = '', @isBlocked = 1
		
		UPDATE tableUsers
		SET division = '', office = '', blocked = 1
		WHERE tableusers.intUserCn = @UserInt
		FETCH NEXT FROM UserCursor INTO @DescUserCn,@UserInt
	END
	CLOSE UserCursor
    DEALLOCATE UserCursor

	SELECT v.descUserCn,Nachname, Vorname, blocked, division, office,
	(SELECT COUNT(targetGroup_id) FROM tblUsersTargetGroups WHERE UserCn = v.IntUserCn) AS "verbliebene Zielgruppen"
	FROM #users
	INNER JOIN v_Users v ON v.IntUserCn = #users.users_id

	DROP TABLE #users
END
</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="7a721121-2d2e-4a3d-b9e6-c6aa238e7ab2" isSystem="True" name="Auswahl (ja/nein)" reportParameterType_id="411ec93b-ab23-41ba-91d6-e7dc0235b5af" queryParameterName="@selection_yesno" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="411ec93b-ab23-41ba-91d6-e7dc0235b5af" isSystem="True" name="Boolean" datatype="StringDDL" dataValueField="Value" dataTextField="Text">
      <query>
        SELECT 0 AS Value, 'Nein' AS Text
        UNION
        SELECT 1 AS Value, 'Ja' AS Text
      </query>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>