﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="b029b8de-248c-47ad-8365-ab21144f4e31" codekey="ApetitoLearningStatusWBT" categoryCodekey="LearningPrograms" name="Lernstand anzeigen - Lernprogramm (Apetito)" description="">
      <MetaData created="2015-01-08T13:23:03" createdBy="Administrator VIWIS (Administrator)" createdBy_user_id="3" modified="2015-01-08T13:50:25" modifiedBy="Administrator VIWIS" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="cf85efc9-150b-4eee-8c20-929a112b658c" mandatorName="Apetito" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="a3916c66-34e4-4a8c-a399-12e038af0e93" isRequired="True" name="Lernprogramm" contextName="Lernprogramm" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>--declare    @theme_id UNIQUEIDENTIFIER = 'be0d4ac8-6755-4343-9ea6-632009f0f78f' --, -- 'a8c50a24-dcd5-48f6-824f-f51bc51903b1' --, 
CREATE TABLE #tmpThemes(intUserCn INT, 
                        Personalnummer NVARCHAR(64),
                        Vorname NVARCHAR(256), 
                        Nachname NVARCHAR(256), 
                        Firma NVARCHAR(256),
                        Abteilung NVARCHAR (128),
                        Dienststelle NVARCHAR(64),
                        Abwesenheit TEXT,
                        Vertragsende DATETIME,
                        Bearbeitungsstand  VARCHAR(32), --FLOAT, 
                        certificateReceived  NVARCHAR(64)) --INT, 

/*getting data to be used */
SELECT DISTINCT tblEduOffersTargetGroups.targetGroup_id AS 'tgID' INTO #temptTableTargetGroupIDs
  FROM tblEduOffersTargetGroups INNER JOIN tblEduOffersModules ON tblEduOffersModules.eduOffer_id = tblEduOffersTargetGroups.eduOffer_id
                                INNER JOIN tblModuleItems ON tblModuleItems.module_id = tblEduOffersModules.module_id
                                INNER JOIN tblThemes ON tblThemes.id = tblModuleItems.item_id
 WHERE tblThemes.id = @theme_id


/* creating temporary helping object with given sorting */
;
WITH OrderedResult
    AS (SELECT v_CoursesPerUser.UserCn AS intUserCn, 
               v_Users.descUserCn,
               v_Users.Vorname, 
               v_Users.Nachname, 
               v_Users.companyAD,
               v_Users.division,
               v_Users.office,
               (SELECT customAttribute1 FROM tblUserCustomAttributes WHERE tblUserCustomAttributes.user_id = v_CoursesPerUser.UserCn) as abwesenheit,
               v_Users.accountExpiresOn,
               tblStatusUserCourse.Complete  AS Bearbeitungsstand, 
               tblStatusUserCourse.exams AS certificateReceived
          FROM v_CoursesPerUser INNER JOIN v_Users ON v_Users.intUserCn = v_CoursesPerUser.UserCn
                                LEFT OUTER JOIN tblStatusUserCourse ON tblStatusUserCourse.UserId = v_CoursesPerUser.UserCn
                                                                   AND tblStatusUserCourse.theme_id = @theme_id
         WHERE KursID = @theme_id           
    )

    /* ordered and reduced paged results into helping table */
    INSERT INTO #tmpThemes
    SELECT *
      FROM OrderedResult
     ORDER BY descUserCn, Nachname, Vorname ASC

/*resetting rowcount for further data retrivial */
--SET ROWCOUNT 0


DECLARE @calcStatusUseBestValues INT
DECLARE @lastChanged DATETIME

SELECT @calcStatusUseBestValues = tblThemes.calcStatusUseBestValues
  FROM tblThemes
 WHERE tblThemes.id = @theme_id


UPDATE #tmpThemes
SET certificateReceived = CASE
                              WHEN EXISTS(SELECT * FROM tblStatusUserItemHistory hist
										   inner join tblUserItemCertificate on hist.id = tblUserItemCertificate.status_id
										   WHERE hist.item_id = @theme_id and 
												 hist.user_id = intUserCn and 
												 hist.endDate IS NULL) THEN 'Ja'
                              ELSE 'Keines zugeordnet'
                          END

UPDATE #tmpThemes
SET Bearbeitungsstand = ISNULL(tblStatusUserCourse.Complete, 0)    
  FROM #tmpThemes AS h1 INNER JOIN tblStatusUserCourse ON tblStatusUsercourse.UserId = h1.intUserCn
                                                      AND tblStatusUserCourse.theme_id = @theme_id

/* returning data updated after selecting paging and sorting */
SELECT Personalnummer,
       Vorname,
       Nachname,
       Firma,
       Abteilung,
       Dienststelle,
       abwesenheit AS 'Abwesenheitskürzel',
       Vertragsende,
       CASE Bearbeitungsstand WHEN NULL THEN '0%' ELSE (STR(Bearbeitungsstand, 6, 2) + '%') END AS Bearbeitungsstand,
       certificateReceived AS 'Zertifikat erhalten' 
FROM #tmpThemes

DROP TABLE #tmpThemes
DROP TABLE #temptTableTargetGroupIDs
</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="a3916c66-34e4-4a8c-a399-12e038af0e93" isSystem="True" name="Lernprogramm" reportParameterType_id="9b1ab1b2-f839-433b-8da7-02781b96def7" queryParameterName="@theme_id" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="9b1ab1b2-f839-433b-8da7-02781b96def7" isSystem="True" name="Theme" datatype="Theme" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>