﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="de48297e-99e7-44c7-8af6-0b2b63a10103" codekey="Expiration_SetLastEducationTimeDate" categoryCodekey="Testing" name="Testing - Re-Qualifizierung: Datum Bildungszeit setzen" description="Ermöglicht, das Datum der letzten Bildungszeit 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 werden.">
      <MetaData created="2012-03-19T15:12:44" createdBy="Anton Administrator (Administrator)" createdBy_user_id="12" modified="2014-03-11T09:46:49" 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="False" 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>
        --declare @date DATETIME = NULL -- '2018-01-01';
        --declare @user_id INT = 128
        --declare @item_id UNIQUEIDENTIFIER = 'BD1CCBF1-D6EE-4A67-897B-FFAC575C7895'

        IF (@date IS NOT NULL)
        BEGIN
        -- Determine the difference between last green status and date
        DECLARE @datediffDays INT
        SELECT @datediffDays = DATEDIFF(dd, @date, MAX(tblUserItemScores.startDate))
        FROM tblUserItemScores
        WHERE tblUserItemScores.user_id = @user_id
        AND (tblUserItemScores.item_id = @item_id OR item_id IN (SELECT id FROM tblTrainings WHERE trainingTitle_id = @item_id))
        AND tblUserItemScores.referenceScore_id IS NULL

        IF @datediffDays IS NULL
        BEGIN
        SELECT 'Der Baustein hat keine aktuelle Bildungszeit; bitte zuerst wieder Bildungszeit erhalten und dann erneut versuchen'
        END
        ELSE
        BEGIN
        UPDATE tblUserItemScores
        SET startDate = DATEADD(dd, -@datediffDays, startDate),
        endDate = DATEADD(dd, -@datediffDays, endDate)
        WHERE tblUserItemScores.user_id = @user_id
        AND (tblUserItemScores.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_GetUserModuleItemLastScoreDate(v_Users.intUserCn, tblItems.id, 0) AS 'Datum letzte Bildungszeit' --Datum wann die Zeit erzeugt wurde
        FROM v_Users,
        tblItems,
        tblUserItemScores
        WHERE v_Users.intUserCn = tblUserItemScores.user_id
        AND tblItems.id = tblUserItemScores.item_id
        AND tblUserItemScores.user_id = @user_id
        AND (@item_id IS NULL OR tblUserItemScores.item_id = @item_id OR tblUserItemScores.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>