ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
@kWarenlager INT,
@enddate DATE
)
RETURNS TABLE
AS
/*************************************************************************************************************
Beschreibung: Diese TVF-Function ist die Basis-Query für das Dashboard-Widget "Lager/Verpackte Pakete pro Mitarbeiter".
Übergeben werden die Lager ID und das Datum, ab dem die Warenausgänge gezählt werden sollen.
--------------------------------------------------------------------------------------------------------------
-- Beispielaufruf:
SELECT Mitarbeiter, Pakete, Datum FROM Dashboard.tfnPaketeProMitarbeiter(1, '2022-12-30') -- kWarenlager und Datum ab dem die Warenausgänge gezählt werden sollen
*************************************************************************************************************/
RETURN
SELECT Benu.cName AS Mitarbeiter, COUNT(Vers.kVersand) AS Pakete, TRY_CAST(Vers.dErstellt as date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (SELECT *
FROM dbo.tLieferschein AS Lief
JOIN dbo.tLieferscheinpos AS LiPo ON LiPo.kLieferschein = Lief.kLieferschein
JOIN dbo.tWarenlagerausgang AS WaLA ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
JOIN dbo.tWarenLagerPlatz AS WaLP ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
WHERE WaLP.kWarenLager = @kWarenLager
AND Lief.kLieferschein = Vers.kLieferschein)
GROUP BY Benu.cName, TRY_CAST(Vers.dErstellt as date)