Facebook
From Bistre Capybara, 3 Years ago, written in SQL.
This paste is a reply to Untitled from Crimson Ibis - view diff
Embed
Download Paste or View Raw
Hits: 190
  1. USE [PRECIZO]
  2. GO
  3. /****** Object:  UserDefinedFunction [dbo].[FUN_R_Brak_Jakości]    Script Date: 24.04.2020 11:08:48 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author:              <Radosław Sniegocki>
  10. -- Create date: <13-06-2018>
  11. -- Description: <Funkcja zwraca dane do raportu karty zużycia narzędzi>
  12. -- =============================================
  13. ALTER FUNCTION [dbo].[FUN_R_Brak_Jakości]
  14. (
  15.         @oID_Podmiotu BIGINT
  16.         ,@oID_Przeciwnej_Transakcji_Magazynowej BIGINT
  17.         ,@oID_Magazynu_Uruchamiania_Zlecen BIGINT
  18.         ,@oID_Produktu BIGINT
  19. )
  20. RETURNS @TABELA TABLE
  21. (
  22.                 [Źródło złej jakości] nvarchar(10)
  23.                 ,[DATA analityczna] datetime
  24.                 ,[Tydzień roku daty analitycznej] INT
  25.                 ,[DATA wystawienia] datetime
  26.                 ,[DATA zgłoszenia przez pracownika] datetime
  27.                 ,[Zakończył] nvarchar(150)
  28.                 ,[DATA zakończenia] datetime
  29.                 ,[Tydzień roku] INT
  30.                 ,[Indeks wyrobu] nvarchar(30)
  31.                 ,[Wariant wyrobu] BIGINT
  32.                 ,[Nazwa wyrobu] nvarchar(200)
  33.                 ,[Rodzaj] VARCHAR(10)
  34.                 ,[Nr zlecenia] nvarchar(20)
  35.                 ,[STATUS WT] BIGINT
  36.                 ,[Koncern] nvarchar(50)
  37.                 ,[Ilość zlecona] NUMERIC(18,6)
  38.                 ,[Ilość zabrakowana/naprawiona] NUMERIC(18,6)
  39.                 ,[Nr operacji] nvarchar(4)
  40.                 ,[Nazwa operacji] nvarchar(50)
  41.                 ,[Przyczyna] nvarchar(30)
  42.                 ,[Powód] nvarchar(100)
  43.                 ,[Obszar] nvarchar(200)
  44.                 ,[Zasób] nvarchar(200)
  45.                 ,[Symbol obrabiarki] nvarchar(30)
  46.                 ,[Nr inwentarzowy] nvarchar(50)
  47.                 ,[Koszt materiału na sztukę] money
  48.                 ,[Wartość zabr. materiałów] money
  49.                 ,[Suma Tj złej jakości] NUMERIC(18,2)
  50.                 ,[Suma Tpz złej jakości] NUMERIC(18,2)
  51.                 ,[Suma Tj+Tpz złej jakości] NUMERIC(18,2)
  52.                 ,[Indeks materiału]  nvarchar(30)
  53.                 ,[Nazwa materiału]  nvarchar(200)
  54.                 ,[Nr PZ]  nvarchar(70)
  55.                 ,[Dostawca]  nvarchar(200)
  56.                 ,[Pracownik]  nvarchar(70)
  57.                 ,[STATUS pracownika]  nvarchar(30)
  58.                 ,[Lider]  nvarchar(70)
  59.                 ,[Bezpośredni przełożony]  nvarchar(70)
  60.                 ,[Koszt robocizny] money
  61.                 ,[Godziny robocizny] NUMERIC(18,6)
  62.                 ,[Kierownik procesu]  nvarchar(70)
  63.                 ,[Wystawił]  nvarchar(70)
  64.                 ,[Uwagi operacji]  nvarchar(300)
  65.                 ,[ID Zlecenia] BIGINT
  66. )
  67. AS
  68.         BEGIN
  69.  
  70.         DECLARE @ID_Podmiotu BIGINT = @oID_Podmiotu
  71.         DECLARE @ID_Przeciwnej_Transakcji_Magazynowej BIGINT = @oID_Przeciwnej_Transakcji_Magazynowej
  72.         DECLARE @ID_Magazynu_Uruchamiania_Zlecen BIGINT = @oID_Magazynu_Uruchamiania_Zlecen
  73.         DECLARE @ID_Produktu BIGINT = @oID_Produktu
  74.  
  75.  
  76.         --5, 101, 37,0
  77.                 DECLARE @ZN TABLE
  78.                 (
  79.                 [Źródło złej jakości] nvarchar(10)
  80.                 ,[DATA analityczna] datetime
  81.                 ,[Tydzień roku daty analitycznej] INT
  82.                 ,[DATA wystawienia] datetime
  83.                 ,[DATA zgłoszenia przez pracownika] datetime
  84.                 ,[Zakończył] nvarchar(150)
  85.                 ,[DATA zakończenia] datetime
  86.                 ,[Tydzień roku] INT
  87.                 ,[Indeks wyrobu] nvarchar(30)
  88.                 ,[Wariant wyrobu] BIGINT
  89.                 ,[Nazwa wyrobu] nvarchar(200)
  90.                 ,[Rodzaj] VARCHAR(10)
  91.                 ,[Nr zlecenia] nvarchar(20)
  92.                 ,[STATUS WT] BIGINT
  93.                 ,[Koncern] nvarchar(50)
  94.                 ,[Ilość zlecona] NUMERIC(18,6)
  95.                 ,[Ilość zabrakowana/naprawiona] NUMERIC(18,6)
  96.                 ,[Nr operacji] nvarchar(4)
  97.                 ,[Nazwa operacji] nvarchar(50)
  98.                 ,[Przyczyna] nvarchar(30)
  99.                 ,[Powód] nvarchar(100)
  100.                 ,[Obszar] nvarchar(200)
  101.                 ,[Zasób] nvarchar(200)
  102.                 ,[Symbol obrabiarki] nvarchar(30)
  103.                 ,[Nr inwentarzowy] nvarchar(50)
  104.                 ,[Koszt materiału na sztukę] money
  105.                 ,[Wartość zabr. materiałów] money
  106.                 ,[Suma Tj złej jakości] NUMERIC(18,2)
  107.                 ,[Suma Tpz złej jakości] NUMERIC(18,2)
  108.                 ,[Suma Tj+Tpz złej jakości] NUMERIC(18,2)
  109.                 ,[Indeks materiału]  nvarchar(30)
  110.                 ,[Nazwa materiału]  nvarchar(200)
  111.                 ,[Nr PZ]  nvarchar(70)
  112.                 ,[Dostawca]  nvarchar(200)
  113.                 ,[Pracownik]  nvarchar(70)
  114.                 ,[STATUS pracownika]  nvarchar(30)
  115.                 ,[Lider]  nvarchar(70)
  116.                 ,[Bezpośredni przełożony]  nvarchar(70)
  117.                 ,[Koszt robocizny] money
  118.                 ,[Godziny robocizny] NUMERIC(18,6)
  119.                 ,[Kierownik procesu]  nvarchar(70)
  120.                 ,[Wystawił]  nvarchar(70)
  121.                 ,[Uwagi operacji]  nvarchar(300)
  122.                 ,[ID Zlecenia] BIGINT
  123.                 )
  124.  
  125.                 DECLARE @OP TABLE
  126.                 (
  127.                 [Źródło złej jakości] nvarchar(10)
  128.                 ,[DATA analityczna] datetime
  129.                 ,[Tydzień roku daty analitycznej] INT
  130.                 ,[DATA wystawienia] datetime
  131.                 ,[DATA zgłoszenia przez pracownika] datetime
  132.                 ,[Zakończył] nvarchar(150)
  133.                 ,[DATA zakończenia] datetime
  134.                 ,[Tydzień roku] INT
  135.                 ,[Indeks wyrobu] nvarchar(30)
  136.                 ,[Wariant wyrobu] BIGINT
  137.                 ,[Nazwa wyrobu] nvarchar(200)
  138.                 ,[Rodzaj] VARCHAR(10)
  139.                 ,[Nr zlecenia] nvarchar(20)
  140.                 ,[STATUS WT] BIGINT
  141.                 ,[Koncern] nvarchar(50)
  142.                 ,[Ilość zlecona] NUMERIC(18,6)
  143.                 ,[Ilość zabrakowana/naprawiona] NUMERIC(18,6)
  144.                 ,[Nr operacji] nvarchar(4)
  145.                 ,[Nazwa operacji] nvarchar(50)
  146.                 ,[Przyczyna] nvarchar(30)
  147.                 ,[Powód] nvarchar(100)
  148.                 ,[Obszar] nvarchar(200)
  149.                 ,[Zasób] nvarchar(200)
  150.                 ,[Symbol obrabiarki] nvarchar(30)
  151.                 ,[Nr inwentarzowy] nvarchar(50)
  152.                 ,[Koszt materiału na sztukę] money
  153.                 ,[Wartość zabr. materiałów] money
  154.                 ,[Suma Tj złej jakości] NUMERIC(18,2)
  155.                 ,[Suma Tpz złej jakości] NUMERIC(18,2)
  156.                 ,[Suma Tj+Tpz złej jakości] NUMERIC(18,2)
  157.                 ,[Indeks materiału]  nvarchar(30)
  158.                 ,[Nazwa materiału]  nvarchar(200)
  159.                 ,[Nr PZ]  nvarchar(70)
  160.                 ,[Dostawca]  nvarchar(200)
  161.                 ,[Pracownik]  nvarchar(70)
  162.                 ,[STATUS pracownika]  nvarchar(30)
  163.                 ,[Lider]  nvarchar(70)
  164.                 ,[Bezpośredni przełożony]  nvarchar(70)
  165.                 ,[Koszt robocizny] money
  166.                 ,[Godziny robocizny] NUMERIC(18,6)
  167.                 ,[Kierownik procesu]  nvarchar(70)
  168.                 ,[Wystawił]  nvarchar(70)
  169.                 ,[Uwagi operacji]  nvarchar(300)
  170.                 ,[ID Zlecenia] BIGINT
  171.                 )
  172.  
  173.  
  174.                 DECLARE @KB TABLE
  175.                 (
  176.                 [Źródło złej jakości] nvarchar(10)
  177.                 ,[DATA analityczna] datetime
  178.                 ,[Tydzień roku daty analitycznej] INT
  179.                 ,[DATA wystawienia] datetime
  180.                 ,[DATA zgłoszenia przez pracownika] datetime
  181.                 ,[Zakończył] nvarchar(150)
  182.                 ,[DATA zakończenia] datetime
  183.                 ,[Tydzień roku] INT
  184.                 ,[Indeks wyrobu] nvarchar(30)
  185.                 ,[Wariant wyrobu] BIGINT
  186.                 ,[Nazwa wyrobu] nvarchar(200)
  187.                 ,[Rodzaj] VARCHAR(10)
  188.                 ,[Nr zlecenia] nvarchar(20)
  189.                 ,[STATUS WT] BIGINT
  190.                 ,[Koncern] nvarchar(50)
  191.                 ,[Ilość zlecona] NUMERIC(18,6)
  192.                 ,[Ilość zabrakowana/naprawiona] NUMERIC(18,6)
  193.                 ,[Nr operacji] nvarchar(4)
  194.                 ,[Nazwa operacji] nvarchar(50)
  195.                 ,[Przyczyna] nvarchar(30)
  196.                 ,[Powód] nvarchar(100)
  197.                 ,[Obszar] nvarchar(200)
  198.                 ,[Zasób] nvarchar(200)
  199.                 ,[Symbol obrabiarki] nvarchar(30)
  200.                 ,[Nr inwentarzowy] nvarchar(50)
  201.                 ,[Koszt materiału na sztukę] money
  202.                 ,[Wartość zabr. materiałów] money
  203.                 ,[Suma Tj złej jakości] NUMERIC(18,2)
  204.                 ,[Suma Tpz złej jakości] NUMERIC(18,2)
  205.                 ,[Suma Tj+Tpz złej jakości] NUMERIC(18,2)
  206.                 ,[Indeks materiału]  nvarchar(30)
  207.                 ,[Nazwa materiału]  nvarchar(200)
  208.                 ,[Nr PZ]  nvarchar(70)
  209.                 ,[Dostawca]  nvarchar(200)
  210.                 ,[Pracownik]  nvarchar(70)
  211.                 ,[STATUS pracownika]  nvarchar(30)
  212.                 ,[Lider]  nvarchar(70)
  213.                 ,[Bezpośredni przełożony]  nvarchar(70)
  214.                 ,[Koszt robocizny] money
  215.                 ,[Godziny robocizny] NUMERIC(18,6)
  216.                 ,[Kierownik procesu]  nvarchar(70)
  217.                 ,[Wystawił]  nvarchar(70)
  218.                 ,[Uwagi operacji]  nvarchar(300)
  219.                 ,[ID Zlecenia] BIGINT
  220.                 )
  221.                 DECLARE @RE TABLE
  222.                 (
  223.                 [Źródło złej jakości] nvarchar(10)
  224.                 ,[DATA analityczna] datetime
  225.                 ,[Tydzień roku daty analitycznej] INT
  226.                 ,[DATA wystawienia] datetime
  227.                 ,[DATA zgłoszenia przez pracownika] datetime
  228.                 ,[Zakończył] nvarchar(150)
  229.                 ,[DATA zakończenia] datetime
  230.                 ,[Tydzień roku] INT
  231.                 ,[Indeks wyrobu] nvarchar(30)
  232.                 ,[Wariant wyrobu] BIGINT
  233.                 ,[Nazwa wyrobu] nvarchar(200)
  234.                 ,[Rodzaj] VARCHAR(10)
  235.                 ,[Nr zlecenia] nvarchar(20)
  236.                 ,[STATUS WT] BIGINT
  237.                 ,[Koncern] nvarchar(50)
  238.                 ,[Ilość zlecona] NUMERIC(18,6)
  239.                 ,[Ilość zabrakowana/naprawiona] NUMERIC(18,6)
  240.                 ,[Nr operacji] nvarchar(4)
  241.                 ,[Nazwa operacji] nvarchar(50)
  242.                 ,[Przyczyna] nvarchar(30)
  243.                 ,[Powód] nvarchar(100)
  244.                 ,[Obszar] nvarchar(200)
  245.                 ,[Zasób] nvarchar(200)
  246.                 ,[Symbol obrabiarki] nvarchar(30)
  247.                 ,[Nr inwentarzowy] nvarchar(50)
  248.                 ,[Koszt materiału na sztukę] money
  249.                 ,[Wartość zabr. materiałów] money
  250.                 ,[Suma Tj złej jakości] NUMERIC(18,2)
  251.                 ,[Suma Tpz złej jakości] NUMERIC(18,2)
  252.                 ,[Suma Tj+Tpz złej jakości] NUMERIC(18,2)
  253.                 ,[Indeks materiału]  nvarchar(30)
  254.                 ,[Nazwa materiału]  nvarchar(200)
  255.                 ,[Nr PZ]  nvarchar(70)
  256.                 ,[Dostawca]  nvarchar(200)
  257.                 ,[Pracownik]  nvarchar(70)
  258.                 ,[STATUS pracownika]  nvarchar(30)
  259.                 ,[Lider]  nvarchar(70)
  260.                 ,[Bezpośredni przełożony]  nvarchar(70)
  261.                 ,[Koszt robocizny] money
  262.                 ,[Godziny robocizny] NUMERIC(18,6)
  263.                 ,[Kierownik procesu]  nvarchar(70)
  264.                 ,[Wystawił]  nvarchar(70)
  265.                 ,[Uwagi operacji]  nvarchar(300)
  266.                 ,[ID Zlecenia] BIGINT
  267.                 )
  268.  
  269.                 DECLARE @Pracownicy TABLE
  270.                 (
  271.                 [ID Pracownika] BIGINT
  272.                 ,[ID Kolekcji Pracownika] BIGINT
  273.                 ,[Dane] nvarchar(70)
  274.                 ,[STATUS] nvarchar(30)
  275.                 )
  276.  
  277.                 DECLARE @Koszt TABLE
  278.                 (
  279.                 [ID Produktu] BIGINT,
  280.                 [Koszt] NUMERIC (18,6)
  281.                 )
  282.  
  283. ;WITH CTE_Koszty AS
  284. (
  285.         SELECT P.[ID Produktu], [Koszt] = WNKNH.[Koszt netto]
  286.         FROM [Produkty] P
  287.         OUTER APPLY dbo.[Wyroby_Normatywny_Koszt_Materialow_Historia](@ID_Podmiotu,P.[ID Produktu],1,'Materiały podstawowe',17,P.[DATA utworzenia]) WNKNH
  288.         WHERE P.[Przeznaczenie] = 'Wyroby' AND (P.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  289. )
  290.  
  291. INSERT INTO @Koszt
  292.         SELECT * FROM CTE_Koszty
  293.  
  294. ;WITH  CTE_Pracownicy AS
  295. (
  296.         SELECT
  297.                 [ID Pracownika] = P.[ID Pracownika],
  298.                 [ID Kolekcji Pracownika] = PU.[ID Kolekcji Pracownika],
  299.                 [Dane] = P.[Imię] + ' ' + PU.[Nazwisko],
  300.                 [STATUS]
  301.         FROM
  302.                 [Pracownicy] P
  303.                 INNER JOIN [Pracownicy-Ustawienia] PU ON PU.[ID Pracownika] = P.[ID Pracownika]
  304.                         AND PU.[ID Kolekcji Pracownika] = [dbo].[Pobierz_ID_Ustawienia_Pracownika](P.[ID Pracownika], GETDATE())
  305.                 LEFT JOIN [Słowniki-Statusy] SS ON SS.[ID Statusu] = PU.[ID Statusu]
  306.         WHERE
  307.                 P.[ID Podmiotu] = @ID_Podmiotu
  308. )
  309.  
  310. INSERT INTO @Pracownicy
  311.         SELECT * FROM CTE_Pracownicy
  312.        
  313. ;WITH BASE_CTS AS
  314. (
  315.     SELECT
  316.                 PZP.[ID Zlecenia],
  317.                 PZP.[DATA wystawienia],
  318.                 PZP.[DATA uruchomienia],
  319.                 PZP.[DATA zamknięcia],
  320.                 P.[Indeks],
  321.                 P.[Wariant],
  322.                 P.[Nazwa],
  323.                 PZP.[Numer],
  324.                 SPOP.[Przyczyna],
  325.                 SPZN.[Powód],
  326.                 U.[Login],
  327.                 [TjM] = (SUM(PZP_ON.[TjM]) * PZP.[Ilość] / 3600),
  328.                 [TpzM] = (SUM(CAST(PZP_ON.[TpzM] AS NUMERIC(18,2)) / 60)),
  329.                 PZP.[Ilość],
  330.                 vWR.[Rodzaj]
  331.     FROM
  332.                 [Produkcja-Zlecenia produkcyjne] PZP
  333.                 INNER JOIN [Produkty] P ON PZP.[ID Produktu] = P.[ID Produktu]
  334.                 INNER JOIN [dbo].[Wyroby_Rodzaj] vWR ON P.[ID Produktu] = vWR.[ID Produktu]
  335.                 INNER JOIN [Produkcja-Zlecenia produkcyjne-Operacje naprawcze] PZP_ON ON PZP.[ID Zlecenia] = PZP_ON.[ID Zlecenia]
  336.                 LEFT JOIN [Kontrahenci-Produkty] KP ON PZP.[ID Produktu] = KP.[ID Produktu]
  337.                 LEFT JOIN [Kontrahenci] K ON KP.[ID Kontrahenta] = K.[ID Kontrahenta]
  338.                 LEFT JOIN [Słowniki-Statusy] SS ON PZP.[ID Statusu] = SS.[ID Statusu]
  339.                 LEFT JOIN [Aktualne_Statusy_WT_Wyrobow_K] ASWTW ON PZP.[ID Produktu] = ASWTW.[ID Produktu]  
  340.                 LEFT JOIN [Słowniki-Przyczyny operacji naprawczych] SPOP ON SPOP.[ID Przyczyny] = PZP.[ID Przyczyny]
  341.                 LEFT JOIN [Słowniki-Powody zleceń naprawczych] SPZN ON SPZN.[ID Powodu] = PZP.[ID Powodu]
  342.                 LEFT JOIN [Użytkownicy] U ON U.[ID Użytkownika] = PZP.[ID Użytkownika Wystawił]
  343.     WHERE
  344.                 PZP.[ID Podmiotu] = @ID_Podmiotu
  345.                 AND PZP.[Naprawcze] = 1
  346.                 AND PZP.[DATA uruchomienia] IS NOT NULL
  347.                 AND (P.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  348.     GROUP BY
  349.                 PZP.[ID Zlecenia],
  350.                 PZP.[DATA wystawienia],
  351.                 PZP.[DATA uruchomienia],
  352.                 PZP.[DATA zamknięcia],
  353.                 P.[Indeks],
  354.                 P.[Wariant],
  355.                 P.[Nazwa],
  356.                 PZP.[Numer],
  357.                 SPOP.[Przyczyna],
  358.                 SPZN.[Powód],
  359.                 U.[Login],
  360.                 PZP.[Ilość],
  361.                 vWR.[Rodzaj]
  362. )
  363.  
  364. ,Koszt_Materiału_CTE AS
  365. (
  366. SELECT
  367.         PZP.[ID Zlecenia],
  368.         [Koszt] = SUM(PMO_P.[Ilość] * PMO_P.[Cena netto])
  369. FROM
  370.         [Produkcja-Zlecenia produkcyjne] PZP
  371.         INNER JOIN [Produkty-Magazyn-Obroty-Pozycje] AS PMO_P ON PZP.[ID Zlecenia] = PMO_P.[ID Zlecenia Produkcyjnego]
  372.                 AND PZP.[ID Produktu] <> PMO_P.[ID Produktu]
  373.         INNER JOIN [Produkty-Magazyn-Obroty] PMO ON PMO.[ID Obrotu] = PMO_P.[ID Obrotu]
  374. WHERE
  375.         PMO_P.[ID Zlecenia Produkcyjnego] IN (SELECT [ID Zlecenia] FROM BASE_CTS)
  376.         AND PMO.[ID Transakcji] = @ID_Przeciwnej_Transakcji_Magazynowej -- ID_Przeciwnej_Transakcji_Magazynowej(Ustawienia_Glowne.Produkcja.ID_Transkacji_Uruchamiania_Zlecen)
  377.         AND PMO.[ID Magazynu] = @ID_Magazynu_Uruchamiania_Zlecen -- Ustawienia_Glowne.Produkcja.ID_Magazynu_Uruchamiania_Zlecen & _
  378.         AND (PZP.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  379. GROUP BY
  380.         PZP.[ID Zlecenia]
  381. )
  382.  
  383. ,CTE_ALL_ZN AS
  384.  (
  385.         SELECT
  386.                 [Źródło złej jakości] = 'ZN',
  387.                 [DATA analityczna] = BCTE.[DATA zamknięcia],
  388.                 [Tydzień roku daty analitycznej] = DATEPART(WEEK,BCTE.[DATA zamknięcia]),
  389.                 [DATA wystawienia] = BCTE.[DATA wystawienia],
  390.                 [DATA zgłoszenia przez pracownika] = NULL,
  391.                 [Zakończył] = NULL,
  392.                 [DATA zakończenia] = BCTE.[DATA zamknięcia],
  393.                 [Tydzień roku] = DATEPART(WEEK,BCTE.[DATA uruchomienia]),
  394.                 [Indeks wyrobu] = BCTE.[Indeks],
  395.                 [Wariant wyrobu] = BCTE.[Wariant],
  396.                 [Nazwa wyrobu] = BCTE.[Nazwa],
  397.                 [Rodzaj] = BCTE.[Rodzaj],
  398.                 [Nr zlecenia] = BCTE.[Numer],
  399.                 [STATUS WT] = NULL,
  400.                 [Koncern] = NULL,
  401.                 [Ilość zlecona] = SUM(BCTE.[Ilość]),
  402.                 [Ilość zabrakowana/naprawiona] = NULL,
  403.                 [Nr operacji] = NULL,
  404.                 [Nazwa operacji] = NULL,
  405.                 [Przyczyna] = BCTE.[Przyczyna],
  406.                 [Powód] = BCTE.[Powód],
  407.                 [Obszar] = NULL,
  408.                 [Zasób] = NULL,
  409.                 [Symbol obrabiarki] = NULL,
  410.                 [Nr inwentarzowy] = NULL,
  411.                 [Koszt materiału na sztukę] = SUM(KMCTE.[Koszt] / BCTE.[Ilość]),
  412.                 [Wartość zabr. materiałów] = NULL,
  413.                 [Suma Tj złej jakości] = SUM(BCTE.[TjM]),
  414.                 [Suma Tpz złej jakości] = SUM(BCTE.[TpzM]),
  415.                 [Suma Tj+Tpz złej jakości]= SUM(BCTE.[TjM] + BCTE.[TpzM] ),
  416.                 [Indeks materiału] = NULL,
  417.                 [Nazwa materiału] = NULL,
  418.                 [Nr PZ] = NULL,
  419.                 [Dostawca] = NULL,
  420.                 [Pracownik] = NULL,
  421.                 [STATUS pracownika] = NULL,
  422.                 [Lider] = NULL,
  423.                 [Bezpośredni przełożony] = NULL,
  424.                 [Koszt robocizny] = NULL,
  425.                 [Godziny robocizny] = NULL,
  426.                 [Kierownik procesu] = NULL,
  427.                 [Wystawił] = BCTE.[Login],
  428.                 [Uwagi operacji] = NULL,
  429.                 [ID Zlecenia] = BCTE.[ID Zlecenia]
  430.         FROM
  431.                 BASE_CTS AS BCTE
  432.                 LEFT JOIN Koszt_Materiału_CTE KMCTE ON KMCTE.[ID Zlecenia] = BCTE.[ID Zlecenia]
  433.         GROUP BY
  434.                 BCTE.[ID Zlecenia],
  435.                 BCTE.[DATA wystawienia],
  436.                 BCTE.[DATA uruchomienia],
  437.                 BCTE.[DATA zamknięcia],
  438.                 BCTE.[Indeks],
  439.                 BCTE.[Wariant],
  440.                 BCTE.[Nazwa],
  441.                 BCTE.[Numer],
  442.                 BCTE.[Przyczyna],
  443.                 BCTE.[Powód],
  444.                 BCTE.[Login],
  445.                 BCTE.[Ilość],
  446.                 BCTE.[Rodzaj]
  447. )
  448. INSERT INTO @ZN
  449.         SELECT * FROM CTE_ALL_ZN
  450.  
  451. ;WITH CTE_ALL_OP AS
  452. (
  453.         SELECT
  454.                 [Źródło złej jakości] = 'OP'
  455.                 ,[DATA analityczna] = OA.[DATA zakończenie]
  456.                 ,[Tydzień roku daty analitycznej] = DATEPART(WEEK,OA.[DATA zakończenie])
  457.                 ,[DATA wystawienia] = P_ZP_ON.[DATA utworzenia]
  458.                 ,[DATA zgłoszenia przez pracownika] = PROP.[DATA rozliczenia]
  459.                 ,[Zakończył] = OA.[Zakończył]
  460.                 ,[DATA zakończenia] = OA.[DATA zakończenie]
  461.                 ,[Tydzień roku] = DATEPART(WEEK,P_ZP_ON.[DATA utworzenia])
  462.                 ,[Indeks wyrobu] = P.[Indeks]
  463.                 ,[Wariant wyrobu] = P.[Wariant]
  464.                 ,[Nazwa wyrobu] = P.[Nazwa]
  465.                 ,[Rodzaj] = vWR.[Rodzaj]
  466.                 ,[Nr zlecenia] = P_ZP.[Numer]
  467.                 ,[STATUS WT] = ISNULL(SSWT.[ID Statusu],0)
  468.                 ,[Koncern] = NULL
  469.                 ,[Ilość zlecona] = P_ZP_ON.[Ilość]
  470.                 ,[Ilość zabrakowana/naprawiona] = PROP.[Ilość wykonana]
  471.                 ,[Nr operacji] = P_ZP_ON.[Nr operacji]
  472.                 ,[Nazwa operacji] = ISNULL(S_OP.Operacja,NULL)
  473.                 ,[Przyczyna] = ISNULL(S_KON.[Przyczyna],NULL)
  474.                 ,[Powód] = ISNULL(S_PON.[Powód],NULL)
  475.                 ,[Obszar] = ISNULL(POb.[Nazwa], NULL)
  476.                 ,[Zasób] = ISNULL(PZ.[Nazwa], NULL)
  477.                 ,[Symbol obrabiarki] = OS.[Indeks]
  478.                 ,[Nr inwentarzowy] = OS.[Nr inwentarzowy]
  479.                 ,[Koszt materiału na sztukę] = ISNULL(KOSZT.Koszt,0)
  480.                 ,[Wartość zabr. materiałów] = NULL
  481.                 ,[Suma Tj złej jakości] = CAST((PROP.[Ilość wykonana] * P_ZP_ON.[TjM]) AS NUMERIC(18,2)) / 3600
  482.                 ,[Suma Tpz złej jakości] = CAST((PROP.[Uwzględnij Tpz] * P_ZP_ON.[TpzM]) AS NUMERIC(18,2)) / 60
  483.                 ,[Suma Tj+Tpz złej jakości] = (CAST((PROP.[Ilość wykonana] * P_ZP_ON.[TjM]) AS NUMERIC(18,2)) / 3600) + (CAST((PROP.[Uwzględnij Tpz] * P_ZP_ON.[TpzM]) AS NUMERIC(18,2)) / 60)
  484.                 ,[Indeks materiału] = NULL
  485.                 ,[Nazwa materiału] = NULL
  486.                 ,[Nr PZ] = NULL
  487.                 ,[Dostawca] = NULL
  488.                 ,[Pracownik] = CASE WHEN PROP.[ID Pracownika] IS NOT NULL THEN
  489.                                                         PU.[Nazwisko] + ' ' + PRAC.[Imię]
  490.                                                 ELSE
  491.                                                         UZYT.[Login]
  492.                                                 END
  493.                 ,[STATUS pracownika] = (SELECT [STATUS] FROM @Pracownicy WHERE [ID Pracownika] = PU.[ID Pracownika])
  494.                 ,[Lider] = (SELECT [Dane] FROM @Pracownicy WHERE [ID Kolekcji Pracownika] = PU.[ID Kolekcji Pracownika lidera])
  495.                 ,[Bezpośredni przełożony] = (SELECT [Dane] FROM @Pracownicy WHERE [ID Kolekcji Pracownika] = PU.[ID Kolekcji Pracownika Przełożonego])
  496.                 ,[Koszt robocizny] = ISNULL((PROP.[Ilość wykonana] * CONVERT(NUMERIC(18,6),P_ZP_ON.[TjM]) / 3600) + (CONVERT(INT,PROP.[Uwzględnij Tpz]) * CONVERT(NUMERIC(18,6),P_ZP_ON.[TpzM]) / 60),0) * 150
  497.                 ,[Godziny robocizny] = ISNULL((PROP.[Ilość wykonana] * CONVERT(NUMERIC(18,6),P_ZP_ON.[TjM]) / 3600) + (CONVERT(INT,PROP.[Uwzględnij Tpz]) * CONVERT(NUMERIC(18,6),P_ZP_ON.[TpzM]) / 60),0)
  498.                 ,[Kierownik procesu] = NULL
  499.                 ,[Wystawił] = P_ZP_ON.[Utworzył użytkownik]
  500.                 ,[Uwagi operacji] = P_ZP_ON.[Uwagi operacji]
  501.                 ,[ID Zlecenia] = P_ZP.[ID Zlecenia]
  502.         FROM
  503.                 [Produkcja-Zlecenia produkcyjne-Operacje naprawcze] AS P_ZP_ON
  504.                 INNER JOIN [Produkcja-ROP] PROP ON PROP.[ID Kolekcji operacji naprawczej] = P_ZP_ON.[ID Kolekcji operacji]
  505.                 INNER JOIN [Produkcja-Zlecenia produkcyjne] P_ZP ON P_ZP.[ID Zlecenia] = P_ZP_ON.[ID Zlecenia] AND P_ZP.[Naprawcze] = 0 AND P_ZP.[ID Podmiotu] = @ID_Podmiotu
  506.                 INNER JOIN [Produkty] P ON P.[ID Produktu] = P_ZP.[ID Produktu]
  507.                 INNER JOIN [Technologia-Procesy technologiczne] T_PT ON T_PT.[ID Procesu] = P_ZP.[ID Procesu technologicznego]
  508.                 INNER JOIN [Słowniki-Wersje PW] S_WP ON S_WP.[ID Wersji] = T_PT.[ID Wersji]
  509.                 INNER JOIN [dbo].[Wyroby_Rodzaj] vWR ON P.[ID Produktu] = vWR.[ID Produktu]
  510.                 LEFT JOIN @Koszt KOSZT ON KOSZT.[ID Produktu] = P.[ID Produktu]
  511.                 LEFT JOIN [Pracownicy] PRAC ON PRAC.[ID Pracownika] = PROP.[ID Pracownika]
  512.                 LEFT JOIN [Pracownicy-Ustawienia] PU ON PU.[ID Kolekcji Pracownika] = [dbo].[Pobierz_ID_Ustawienia_Pracownika](PRAC.[ID Pracownika],PROP.[DATA rozliczenia])
  513.                 LEFT JOIN [Użytkownicy] UZYT ON UZYT.[ID Użytkownika] = PROP.[ID Użytkownika]
  514.                 LEFT JOIN [Słowniki-Statusy wymagań technicznych] SSWT ON SSWT.[ID Statusu] = P_ZP.[ID Statusu wymagań technicznych]
  515.                 LEFT JOIN [Słowniki-Przyczyny operacji naprawczych] S_KON ON P_ZP_ON.[ID Przyczyny] = S_KON.[ID Przyczyny]
  516.                 LEFT JOIN [Słowniki-Powody operacji naprawczych] S_PON ON P_ZP_ON.[ID Powodu] = S_PON.[ID Powodu]
  517.                 LEFT JOIN [Produkty-Usługi produkcyjne] P_UP ON P_ZP_ON.[ID Kolekcji Produkt-Usługa] = P_UP.[ID Kolekcji]
  518.                 LEFT JOIN [Usługi produkcyjne] UP ON P_UP.[ID Usługi produkcyjnej] = UP.[ID Usługi]
  519.                 LEFT JOIN [Obrabiarki i stanowiska] OS ON P_ZP_ON.[ID Obrabiarki] = OS.[ID Obrabiarki]
  520.                 LEFT JOIN [Słowniki-Operacje produkcyjne] S_OP ON P_ZP_ON.[ID Operacji] = S_OP.[ID Operacji]
  521.                 LEFT JOIN [Produkcja-Zasoby-Obrabiarki] PZO ON P_ZP_ON.[ID Obrabiarki] = PZO.[ID Obrabiarki]
  522.                 LEFT JOIN [Produkcja-Zasoby] PZ ON PZO.[ID Zasobu] = PZ.[ID Zasobu]
  523.                 LEFT JOIN [Produkcja-Obszary-Zasoby] POZ ON PZ.[ID Zasobu] = POZ.[ID Zasobu]
  524.                 LEFT JOIN [Produkcja-Obszary] POb ON POZ.[ID Obszaru] = POb.[ID Obszaru]
  525.                 OUTER APPLY (
  526.                         SELECT TOP 1
  527.                                 [DATA zakończenie] = FIRST_VALUE(xPROP.[DATA modyfikacji]) OVER (ORDER BY xPROP.[DATA modyfikacji] DESC),
  528.                                 [Zakończył] = FIRST_VALUE(xPROP.[Zmodyfikował użytkownik]) OVER (ORDER BY xPROP.[DATA modyfikacji] DESC)
  529.                         FROM
  530.                                 [Produkcja-ROP] xPROP
  531.                         WHERE
  532.                                 xPROP.[Operacja zakończona] = 1
  533.                                 AND xPROP.[ID Kolekcji operacji naprawczej] = P_ZP_ON.[ID Kolekcji operacji]
  534.                 ) OA
  535.                 WHERE (P.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  536.                
  537.         )
  538.  
  539. INSERT INTO @OP
  540.         SELECT * FROM CTE_ALL_OP
  541.  
  542. ;WITH CTE_ALL_KB AS
  543. (
  544.         SELECT
  545.                 [Źródło złej jakości] = 'KB',
  546.                 [DATA analityczna] = P_KB.[DATA],
  547.                 [Tydzień roku daty analitycznej] = DATEPART(WEEK,P_KB.[DATA]),
  548.                 [DATA wystawienia] = P_KB.[DATA],
  549.                 [DATA zgłoszenia przez pracownika] = PROP.[DATA rozliczenia],
  550.                 [Zakończył] = NULL,
  551.                 [DATA zakończenia] = P_KB.[DATA],
  552.                 [Tydzień roku] = DATEPART(WEEK,PROP.[DATA rozliczenia]),
  553.                 [Indeks wyrobu] = P.[Indeks],
  554.                 [Wariant wyrobu] = P.[Wariant],
  555.                 [Nazwa wyrobu] = P.[Nazwa],
  556.                 [Rodzaj] = vWR.[Rodzaj],
  557.                 [Nr zlecenia] = P_ZP.[Numer],
  558.                 [STATUS WT] = ISNULL(P_ZP.[ID Statusu WT-Wystawione],0),
  559.                 [Koncern] = NULL,
  560.                 [Ilość zlecona] = P_ZP.[Ilość],
  561.                 [Ilość zabrakowana/naprawiona] = P_KB.[Ilość],
  562.                 [Nr operacji] = ISNULL(T_PTO.[Nr operacji], P_ZPON.[Nr operacji]),
  563.                 [Nazwa operacji] = SOP.[Operacja],
  564.                 [Przyczyna] = P_KB.[Przyczyna braku],
  565.                 [Powód] = P_KB.[Powód braku],
  566.                 [Obszar] = PO.Nazwa,
  567.                 [Zasób] = PZ.[Nazwa],
  568.                 [Symbol obrabiarki] = O.[Indeks],
  569.                 [Nr inwentarzowy] = O.[Nr inwentarzowy],
  570.                 [Koszt materiału na sztukę] = ISNULL(KOSZT.Koszt,0),
  571.                 [Wartość zabr. materiałów] = P_KB.[Koszt materiałów],
  572.                 [Suma Tj złej jakości] = CAST(P_KB.[Zabrakowany Tj całkowity] AS NUMERIC(18,2))  / 3600,
  573.                 [Suma Tpz złej jakości] = CAST(P_KB.[Zabrakowany Tpz całkowity] AS NUMERIC(18,2))  / 3600,
  574.                 [Suma Tj+Tpz złej jakości] = (CAST(P_KB.[Zabrakowany Tj całkowity] AS NUMERIC(18,2))  / 3600) + (CAST(P_KB.[Zabrakowany Tpz całkowity] AS NUMERIC(18,2))  / 3600),
  575.                 [Indeks materiału] = NULL,
  576.                 [Nazwa materiału] = NULL,
  577.                 [Nr PZ] = NULL,
  578.                 [Dostawca] = NULL,
  579.                 [Pracownik] = (SELECT [Dane] FROM @Pracownicy WHERE [ID Pracownika] = P_KB.[ID Pracownika]),
  580.                 [STATUS pracownika] = (SELECT [STATUS] FROM @Pracownicy WHERE [ID Pracownika] = P_KB.[ID Pracownika]),
  581.                 [Lider] = (SELECT [Dane] FROM @Pracownicy WHERE [ID Kolekcji Pracownika] = PRAC_U.[ID Kolekcji Pracownika lidera]),
  582.                 [Bezpośredni przełożony] = (SELECT [Dane] FROM @Pracownicy WHERE [ID Kolekcji Pracownika] = PRAC_U.[ID Kolekcji Pracownika Przełożonego]),
  583.                 [Koszt robocizny] = P_KB.[Koszt robocizny],
  584.                 [Godziny robocizny] = NULL,
  585.                 [Kierownik procesu] = (SELECT [Login] FROM [Użytkownicy] WHERE [ID Użytkownika] = T_PT.[ID Użytkownika kierownik]),
  586.                 [Wystawił] = P_KB.[Utworzył użytkownik],
  587.                 [Uwagi operacji],
  588.                 [ID Zlecenia] = P_ZP.[ID Zlecenia]
  589.         FROM
  590.                 [Produkcja-Karty braków] AS P_KB
  591.                 INNER JOIN [PRodukcja-Braki] PB ON PB.[ID Braku] = P_KB.[ID Braku]  
  592.                 INNER JOIN [Produkcja-ROP] PROP ON PROP.[ID Rozliczenia] = PB.[ID Rozliczenia]
  593.                 INNER JOIN [Produkcja-Zlecenia produkcyjne] P_ZP ON P_KB.[ID Zlecenia] = P_ZP.[ID Zlecenia]
  594.                 INNER JOIN [Produkty] P ON P_KB.[ID Produktu] = P.[ID Produktu]
  595.                 INNER JOIN [Słowniki-Jednostki miary] SJM ON P.[ID Jednostki podstawowej] = SJM.[ID Jednostki]
  596.                 INNER JOIN [dbo].[Wyroby_Rodzaj] vWR ON P.[ID Produktu] = vWR.[ID Produktu]
  597.                 LEFT JOIN @Koszt KOSZT ON KOSZT.[ID Produktu] = P.[ID Produktu]
  598.                 LEFT JOIN [Technologia-Procesy technologiczne] T_PT ON P_ZP.[ID Procesu technologicznego] = T_PT.[ID Procesu]
  599.                 LEFT JOIN [Obrabiarki i stanowiska] O ON P_KB.[ID Obrabiarki] = O.[ID Obrabiarki]
  600.                 LEFT JOIN [Produkcja-Zasoby-Obrabiarki] PZO ON O.[ID Obrabiarki] = PZO.[ID Obrabiarki]
  601.                 LEFT JOIN [Produkcja-Zasoby] PZ ON PZ.[ID Zasobu] = PZO.[ID Zasobu]
  602.                 LEFT JOIN [Produkcja-Obszary-Zasoby] POZ ON PZO.[ID Zasobu] = POZ.[ID Zasobu]
  603.                 LEFT JOIN [Produkcja-Obszary] PO ON PO.[ID Obszaru] = POZ.[ID Obszaru]
  604.                 LEFT JOIN [Słowniki-Grupy] AS S_G ON O.[ID Grupy] = S_G.[ID Grupy]
  605.                 LEFT JOIN [Produkcja-Zlecenia produkcyjne-Operacje naprawcze] AS P_ZPON ON P_KB.[ID Kolekcji Operacji zlecenia naprawczego] = P_ZPON.[ID Kolekcji operacji]
  606.                 LEFT JOIN [Technologia-Procesy technologiczne-Operacje] AS T_PTO ON P_KB.[ID Kolekcji Operacji procesu technologicznego] = T_PTO.[ID Kolekcji operacji]
  607.                 LEFT JOIN [Słowniki-Operacje produkcyjne] SOP ON SOP.[ID Operacji] = T_PTO.[ID Operacji]
  608.                 LEFT JOIN [Pracownicy] PRAC ON PRAC.[ID Pracownika] = P_KB.[ID Pracownika]
  609.                 LEFT JOIN [Pracownicy-Ustawienia] PRAC_U ON PRAC_U.[ID Pracownika] = PRAC.[ID Pracownika] AND PRAC_U.[ID Kolekcji Pracownika] = dbo.Pobierz_ID_Ustawienia_Pracownika(PRAC.[ID Pracownika], GETDATE())
  610.         WHERE
  611.                 P_KB.[ID Podmiotu] = @ID_Podmiotu
  612.                 AND (P.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  613. )
  614.  
  615. INSERT INTO @KB
  616.         SELECT * FROM CTE_ALL_KB
  617.  
  618.  ;WITH CTE_ALL_RE AS
  619.  (
  620.         SELECT
  621.                 [Źródło złej jakości] = 'RE'
  622.                 ,[DATA analityczna] = PB.[DATA weryfikacji]
  623.                 ,[Tydzień roku daty analitycznej] = DATEPART(WEEK,PB.[DATA weryfikacji])
  624.                 ,[DATA wystawienia] = PB.[DATA weryfikacji]
  625.                 ,[DATA zgłoszenia przez pracownika] = PB.[DATA utworzenia]
  626.                 ,[Zakończył] = NULL
  627.                 ,[DATA zakończenia] = PB.[DATA akceptacji]
  628.                 ,[Tydzień roku] = DATEPART(WEEK,PB.[DATA weryfikacji])
  629.                 ,[Indeks wyrobu] = P.[Indeks]
  630.                 ,[Wariant wyrobu] = P.[Wariant]
  631.                 ,[Nazwa wyrobu] = P.[Nazwa]
  632.                 ,[Rodzaj] = vWR.[Rodzaj]
  633.                 ,[Nr zlecenia] = PZP.[Numer]
  634.                 ,[STATUS WT] = NULL
  635.                 ,[Koncern] = NULL
  636.                 ,[Ilość zlecona] = PZP.[Ilość]
  637.                 ,[Ilość zabrakowana/naprawiona] = PB.[Ilość]
  638.                 ,[Nr operacji] = TPTO.[Nr operacji]
  639.                 ,[Nazwa operacji] = SOP.[Operacja]
  640.                 ,[Przyczyna] = PB.[Przyczyna]
  641.                 ,[Powód] = PB.[Powód]
  642.                 ,[Obszar] = PO.[Nazwa]
  643.                 ,[Zasób] = PZ.[Nazwa]
  644.                 ,[Symbol obrabiarki] = O.[Indeks]
  645.                 ,[Nr inwentarzowy] = O.[Nr inwentarzowy]
  646.                 ,[Koszt materiału na sztukę] = ISNULL(KOSZT.Koszt,0)
  647.                 ,[Wartość zabr. materiałów] = NULL
  648.                 ,[Suma Tj złej jakości] = CAST((PB.[Ilość] * X.[Suma TjM]) AS NUMERIC(18,2)) / 3600
  649.                 ,[Suma Tpz złej jakości] = CAST((PROP.[Uwzględnij Tpz] * X.[Suma TpZ]) AS NUMERIC(18,2)) / 60
  650.                 ,[Suma Tj+Tpz złej jakości]= (CAST((PB.[Ilość] * X.[Suma TjM]) AS NUMERIC(18,2)) / 3600) + (CAST((PROP.[Uwzględnij Tpz] * TPTO.[TpzM]) AS NUMERIC(18,2)) / 60)
  651.                 ,[Indeks materiału] = NULL
  652.                 ,[Nazwa materiału] = NULL
  653.                 ,[Nr PZ] = NULL
  654.                 ,[Dostawca] = NULL
  655.                 ,[Pracownik] = NULL
  656.                 ,[STATUS pracownika] = NULL
  657.                 ,[Lider] = NULL
  658.                 ,[Bezpośredni przełożony] = NULL
  659.                 ,[Koszt robocizny] = (CAST((PB.[Ilość] * X.[Suma TjM]) AS NUMERIC(18,2)) / 3600) * O.[Koszt roboczogodziny]
  660.                 ,[Godziny robocizny] = (CAST((PB.[Ilość] * X.[Suma TjM]) AS NUMERIC(18,2)) / 3600)
  661.                 ,[Kierownik procesu] = NULL
  662.                 ,[Wystawił] = (SELECT [Login] FROM [Użytkownicy] WHERE [ID Użytkownika] = PB.[ID Użytkownika Zaakceptował])
  663.                 ,[Uwagi operacji] = NULL
  664.                 ,[ID Zlecenia] = PZP.[ID Zlecenia]
  665.         FROM
  666.                 [Produkcja-Braki] PB
  667.                 INNER JOIN [Produkcja-ROP] PROP ON PROP.[ID Rozliczenia] = PB.[ID Rozliczenia]
  668.                 INNER JOIN [Produkcja-Zlecenia produkcyjne] PZP ON PZP.[ID Zlecenia] = PROP.[ID Zlecenia]
  669.                 INNER JOIN [Technologia-Procesy technologiczne] TPT ON TPT.[ID Procesu] = PZP.[ID Procesu technologicznego]
  670.                 INNER JOIN [Technologia-Procesy technologiczne-Operacje] TPTO ON TPTO.[ID Procesu] = TPT.[ID Procesu] AND TPTO.[ID Kolekcji operacji] = PROP.[ID Kolekcji operacji]
  671.                 INNER JOIN [Produkty] P ON P.[ID Produktu] = PZP.[ID Produktu]
  672.                 INNER JOIN [Obrabiarki i stanowiska] O ON PROP.[ID Obrabiarki] = O.[ID Obrabiarki]
  673.                 INNER JOIN [Słowniki-Operacje produkcyjne] SOP ON SOP.[ID Operacji] = TPTO.[ID Operacji]
  674.                 INNER JOIN [Produkcja-Zasoby-Obrabiarki] PZO ON O.[ID Obrabiarki] = PZO.[ID Obrabiarki]
  675.                 INNER JOIN [Produkcja-Zasoby] PZ ON PZ.[ID Zasobu] = PZO.[ID Zasobu]
  676.                 INNER JOIN [Produkcja-Obszary-Zasoby] POZ ON PZO.[ID Zasobu] = POZ.[ID Zasobu]
  677.                 INNER JOIN [Produkcja-Obszary] PO ON PO.[ID Obszaru] = POZ.[ID Obszaru]
  678.                 INNER JOIN [dbo].[Wyroby_Rodzaj] vWR ON P.[ID Produktu] = vWR.[ID Produktu]
  679.                 LEFT JOIN @Koszt KOSZT ON KOSZT.[ID Produktu] = P.[ID Produktu]
  680.                 OUTER APPLY (SELECT [Suma TjM] = SUM([TjM]), [Suma TpZ] = SUM([TpzM]) FROM [Technologia-Procesy technologiczne-Operacje] xTPTO WHERE xTPTO.[ID Procesu] = TPT.[ID Procesu] ) X
  681.         WHERE
  682.                 PB.[Decyzja] = 'Reklamacja'
  683.                 AND P.[ID Podmiotu] = @ID_Podmiotu
  684.                 AND (P.[ID Produktu] = @ID_Produktu OR @ID_Produktu = 0)
  685. )
  686.  
  687. INSERT INTO @RE
  688.         SELECT * FROM CTE_ALL_RE
  689.  
  690. INSERT INTO @TABELA
  691.         SELECT * FROM @OP
  692.         UNION ALL
  693.         SELECT * FROM @KB
  694.         UNION ALL
  695.         SELECT * FROM @ZN
  696.         UNION ALL
  697.         SELECT * FROM @RE
  698.         RETURN
  699. END
  700.