﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="ed165ece-11cf-4f18-8357-a6bd589530ee" codekey="Expiration_SetAssignedDate" categoryCodekey="Testing" name="Testing - Re-Zertifizierung: Datum Grün-Status setzen" description="Ermöglicht, das Datum des Grün-Status für ein Item eines Users zu setzen. Dieser Report ist ausschließlich zu Testzwecken auf Testsystemen gedacht und darf grundsätzlich nicht auf Produktivsystemen ausgeführt wer">
      <MetaData created="2012-03-19T15:12:44" createdBy="Anton Administrator (Administrator)" createdBy_user_id="12" modified="2014-03-11T09:38:37" modifiedBy="Anton Administrator" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="ExcludeMandators" mandator_id="345bbab2-62a8-424d-a6e6-133aeab480a4" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="ca406f5d-c0f6-414b-97b2-1382f42684f0" isRequired="True" name="Benutzer" contextName="Benutzer" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="a389fa37-6924-4df0-8923-ae214c7d6e19" isRequired="True" name="Baustein abhängig vom Benutzer" contextName="Baustein abhängig vom Benutzer" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="79fd307f-f3f9-4345-a628-2551cc5ba444" isRequired="False" name="Datum" contextName="Datum" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles />
      <command>IF (@date IS NOT NULL)
BEGIN
    -- Determine the difference between last green status and date
    DECLARE @datediffDays INT
    SELECT @datediffDays = DATEDIFF(dd, @date, MAX(tblStatusUserItemHistory.startDate))
      FROM tblStatusUserItemHistory
     WHERE tblStatusUserItemHistory.user_id = @user_id
       AND (tblStatusUserItemHistory.item_id = @item_id OR item_id IN (SELECT id FROM tblTrainings WHERE trainingTitle_id = @item_id))
       AND tblStatusUserItemHistory.status = 2 -- green

    IF @datediffDays IS NULL
    BEGIN
      SELECT 'Der Baustein hat keinen aktuellen Grün-Status; bitte zuerst wieder auf grün setzen und dann erneut versuchen'
    END
    ELSE
    BEGIN
      UPDATE tblStatusUserItemHistory
         SET startDate = DATEADD(dd, -@datediffDays, startDate),
             endDate = DATEADD(dd, -@datediffDays, endDate)
       WHERE tblStatusUserItemHistory.user_id = @user_id
         AND (tblStatusUserItemHistory.item_id = @item_id OR item_id IN (SELECT id FROM tblTrainings WHERE trainingTitle_id = @item_id))
    END

END
ELSE
SELECT (v_Users.Vorname + ' ' + v_Users.Nachname + ' (' + v_Users.descUserCn + ')') AS [User],
       tblItems.title AS Baustein,
       dbo.fn_GetUserModuleItemLastPassedDate(v_Users.intUserCn, tblItems.id) AS 'Letztes Mal bestanden'
  FROM v_Users,
       tblItems,
       tblStatusUserItemOverride,
       tblStatusUserItemHistory
 WHERE v_Users.intUserCn = tblStatusUserItemOverride.user_id
   AND tblItems.id = tblStatusUserItemOverride.item_id
   AND tblStatusUserItemOverride.user_id = @user_id 
   AND (tblStatusUserItemHistory.item_id = @item_id OR tblStatusUserItemHistory.item_id IN (SELECT id FROM tblTrainings WHERE trainingTitle_id = @item_id))
</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="ca406f5d-c0f6-414b-97b2-1382f42684f0" isSystem="True" name="Benutzer" reportParameterType_id="1f6b4472-1471-441e-a195-454faa229f22" queryParameterName="@user_id" />
    <Parameter id="a389fa37-6924-4df0-8923-ae214c7d6e19" isSystem="False" name="Baustein abhängig vom Benutzer" reportParameterType_id="d3388569-6dff-4f6f-b1d9-003c8565d83d" queryParameterName="@item_id" />
    <Parameter id="79fd307f-f3f9-4345-a628-2551cc5ba444" isSystem="True" name="Datum" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@date" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="1f6b4472-1471-441e-a195-454faa229f22" isSystem="True" name="User" datatype="User" dataValueField="" dataTextField="" />
    <ParameterType id="d3388569-6dff-4f6f-b1d9-003c8565d83d" isSystem="False" name="Baustein abhängig vom Benutzer" datatype="GuidDDL" dataValueField="value" dataTextField="text">
      <query>SELECT tblItems.id AS value,
       tblItems.title AS text
  FROM tblItems
 WHERE EXISTS (SELECT * FROM tblStatusUserItemOverride 
                WHERE user_id = @user_id AND tblStatusUserItemOverride.item_id = tblItems.id)
ORDER BY tblItems.title</query>
      <Parameters>
        <Parameter id="ca406f5d-c0f6-414b-97b2-1382f42684f0" isRequired="False" name="Benutzer" contextName="Benutzer" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
    <ParameterType id="74253ba7-a386-4620-bff7-b65c16fe1e64" isSystem="True" name="Date" datatype="Date" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>