Quellcode durchsuchen

Feld "Monteur und Stunden" bzw. "Monteur" für Service

Stange C11 vor 5 Tagen
Ursprung
Commit
b9982a08f3

+ 1 - 0
schema/GC_DWH_LOCOSOFT/tables/Aftersales_Rechnungen_ben_AW_final.sql

@@ -5,6 +5,7 @@ CREATE TABLE [dbo].[Aftersales_Rechnungen_ben_AW_final] (
    [Standort_Name] [varchar](50) NULL,
    [Employee_Function] [varchar](20) NULL,
    [Serviceberater] [varchar](200) NULL,
+   [Monteur] [varchar](150) NULL,
    [Order Number] [varchar](500) NULL,
    [Invoice_Desc_100] [varchar](500) NULL,
    [Fabrikat] [varchar](100) NULL,

+ 1 - 0
schema/GC_DWH_LOCOSOFT/tables/TBL_SERVICE_GUV_O21.sql

@@ -13,6 +13,7 @@ CREATE TABLE [dbo].[TBL_SERVICE_GUV_O21] (
    [Betrieb_ID] [varchar](10) NULL,
    [Betrieb_Name] [varchar](50) NULL,
    [Serviceberater] [varchar](200) NULL,
+   [Monteur] [varchar](200) NULL,
    [Umsatzart] [varchar](10) NULL,
    [verk. Stunden] [decimal](28,8) NULL,
    [benutzte Zeit (Auftrag)] [decimal](28,8) NULL,

+ 1 - 0
schema/GC_DWH_LOCOSOFT/tables/offene_Auftraege_Ums_ben_AW.sql

@@ -4,6 +4,7 @@ CREATE TABLE [dbo].[offene_Auftraege_Ums_ben_AW] (
    [Standort_ID] [varchar](10) NULL,
    [Standort_Name] [varchar](50) NULL,
    [Serviceberater] [varchar](150) NULL,
+   [Monteur] [varchar](150) NULL,
    [Order Number] [varchar](500) NULL,
    [Fabrikat] [varchar](100) NULL,
    [Fabrikat_Order_By] [int] NULL,

+ 1 - 0
schema/GC_ETL_LOCOSOFT/views/load.Aftersales_Rechnungen_ben_AW_final.sql

@@ -9,6 +9,7 @@ SELECT convert(varchar(10), [Hauptbetrieb_ID])               AS [Hauptbetrieb_ID
      , convert(varchar(50), [Standort_Name])                 AS [Standort_Name]
      , convert(varchar(20), [Employee_Function])             AS [Employee_Function]
      , convert(varchar(200), [Serviceberater])               AS [Serviceberater]
+	 , convert(varchar(150), [Monteur])                      AS [Monteur]
      , convert(varchar(500), [Order_Number])                 AS [Order Number]
      , convert(varchar(500), [Invoice_Desc_100])             AS [Invoice_Desc_100]
      , convert(varchar(100), [Fabrikat])                     AS [Fabrikat]

+ 1 - 0
schema/GC_ETL_LOCOSOFT/views/load.TBL_SERVICE_GUV_O21.sql

@@ -18,6 +18,7 @@ SELECT convert(varchar(50), [Acct Nr])                        AS [Acct Nr]
      , convert(varchar(10), Betrieb_ID)                       AS Betrieb_ID
      , convert(varchar(50), Betrieb_Name)                     AS Betrieb_Name
      , convert(varchar(200), Serviceberater)                  AS Serviceberater
+	 , convert(varchar(200), Monteur_und_Stunden)             AS Monteur
      , convert(varchar(10), Umsatzart)                        AS Umsatzart
      , convert(decimal(28, 8), [verk. Stunden])               AS [verk. Stunden]
      , convert(decimal(28, 8), [benutzte Zeit (Auftrag)])     AS [benutzte Zeit (Auftrag)]

+ 1 - 0
schema/GC_ETL_LOCOSOFT/views/load.offene_Auftraege_Ums_ben_AW.sql

@@ -9,6 +9,7 @@ SELECT convert(varchar(10), [Hauptbetrieb_ID])     AS [Hauptbetrieb_ID]
      , convert(varchar(10), [Standort_ID])         AS [Standort_ID]
      , convert(varchar(50), [Standort_Name])       AS [Standort_Name]
      , convert(varchar(150), [Serviceberater])     AS [Serviceberater]
+	 , convert(varchar(150), [Monteur])            AS [Monteur]
      , convert(varchar(500), [Order_Number])       AS [Order Number]
      , convert(varchar(100), [Fabrikat])           AS [Fabrikat]
      , convert(int, [Fabrikat_Order_By])           AS [Fabrikat_Order_By]

+ 1 - 0
schema/GC_ETL_LOCOSOFT/views/transform.Aftersales_Rechnungen_ben_AW_final.sql

@@ -12,6 +12,7 @@ select T2.[Hauptbetrieb] as Hauptbetrieb_imr,
        "GC_Department"."Standort_Name"                                                       AS "Standort_Name",
        'Serviceberater'                                                                      AS "Employee_Function",
        "T2"."Serviceberater"                                                                 AS "Serviceberater",
+	   "T2"."Monteur_und_Stunden" AS Monteur,
        "T2"."Order Number" + ' - ' + CONVERT(VARCHAR(10), "T2"."Invoice Date", 121)          AS "Order_Number",
        ''                                                                                    AS "Invoice_Desc_100",
        T2.Fabrikat as Fabrikat_imr,

+ 2 - 1
schema/GC_ETL_LOCOSOFT/views/transform.TBL_SERVICE_GUV_O21.sql

@@ -21,8 +21,9 @@ SELECT ' ' AS [Acct Nr]
      , [Rg].[Time Units] / 10 AS [verk. Stunden]
 --	  ,COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS "Anzahl"
 --   , cast([ben_AW].[Summe_Duration_Minutes] / 60.0 AS decimal(26, 12)) AS [benutzte Zeit (Auftrag)]
-	  ,CAST(ben_AW.Summe_Duration_Minutes / 60.0 AS DECIMAL(26,12)) / COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS [benutzte Zeit (Auftrag)]
+	  ,ben_AW.ben_Std_Auftrag / COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS [benutzte Zeit (Auftrag)]
      , 1.0 / COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS [DG]
+	 , ben_AW.Monteur_und_Stunden
      , ' ' AS [Zuordnung_Funktion]
      , [Rg].[Zuordnung] AS [Zuordnung_Produktbuchungsgruppe]
      , [Rg].[Produktbuchungsgruppe] AS [Produktbuchungsgruppe]

+ 1 - 0
schema/GC_ETL_LOCOSOFT/views/transform.offene_Auftraege_Ums_ben_AW.sql

@@ -11,6 +11,7 @@ SELECT "offene_Auftraege_Ums_ben_AW"."Hauptbetrieb" AS [Hauptbetrieb_imr]
      , "GC_Department"."Standort_ID" AS "Standort_ID"
      , "GC_Department"."Standort_Name" AS "Standort_Name"
      , "offene_Auftraege_Ums_ben_AW"."Serviceberater" AS "Serviceberater"
+	 , "offene_Auftraege_Ums_ben_AW"."Monteur_und_Stunden" AS "Monteur"
      , "offene_Auftraege_Ums_ben_AW"."Order Number" AS "Order_Number"
      , "offene_Auftraege_Ums_ben_AW"."Fabrikat" AS [Fabrikat_imr]
      , CASE

+ 3 - 3
schema/GC_ETL_LOCOSOFT/views/transform_imr.Aftersales_Rechnungen_ben_AW_final.sql

@@ -32,7 +32,7 @@ SELECT "Invoice Type"
      , "Order Number"
      , "Order Number_Rg_Ausg"
      , "Kundenart"
-     , "Summe Duration Minutes"
+     , "Monteur_und_Stunden"
      , "Order Number_ben_AW"
      , 1.0 AS "Anzahl_Datensätze_1"
      , count("Order Number_ben_AW") OVER (PARTITION BY "Order Number") AS "Anzahl_Datensätze_2"
@@ -60,9 +60,9 @@ FROM (SELECT (
             )
     END
     ) AS "Order Number"
-           , (0.0 + [ben_AW_Order_Number]."Summe_Duration_Minutes") / 60.0 AS [c38]
+           , [ben_AW_Order_Number]."ben_Std_Auftrag" AS [c38]
            , [ben_AW_Order_Number]."order_number" AS "Order Number_ben_AW"
-           , [ben_AW_Order_Number]."Summe_Duration_Minutes" AS "Summe Duration Minutes"
+           , [ben_AW_Order_Number]."Monteur_und_Stunden" AS "Monteur_und_Stunden"
            , (left(((([employees]."employee_number"))), 4)) + ' - ' + [employees]."name" AS "Kundenart"
            , CASE
                  WHEN ((- 1 * datediff(DAY, (getdate()), (convert(datetime, [invoices]."invoice_date")))) <= 4)

+ 4 - 4
schema/GC_ETL_LOCOSOFT/views/transform_imr.offene_auftraege_ums_ben_aw.sql

@@ -53,18 +53,18 @@ SELECT c55 AS "Order Number_ori",
 	c56 AS "Net Price In Order",
 	c60 AS "Text Line",
 	c59 AS "Order Number_ben_AW",
-	c58 AS "Summe Duration Minutes_ben_AW",
+	c58 AS "Monteur_und_Stunden",
 	--1.0 * c57 / (COUNT(c99) OVER (PARTITION BY c55)) AS "ben. Std",
 	--CAST(1.0 * c57 / COUNT(c99) OVER (PARTITION BY c55) AS DECIMAL(18,6)) AS "ben. Std",
-	CAST(1.0 * c58/60 / COUNT(c99) OVER (PARTITION BY c55) AS DECIMAL(18,6)) AS "ben. Std",
+	CAST(1.0 * c57/60 / COUNT(c99) OVER (PARTITION BY c55) AS DECIMAL(18,6)) AS "ben. Std",
 	c56 AS "Umsatz Lohn",
 	[labour_operation_id] AS [labour_operation_id],
 	[charge_type] AS [charge_type]
 FROM (
 	SELECT T1."order_number" AS c55,
 		T2."net_price_in_order" AS c56,
-		T9."Summe_Duration_Minutes" / 60 AS c57,
-		T9."Summe_Duration_Minutes" AS c58,
+		T9.ben_Std_Auftrag AS c57,
+		T9.Monteur_und_Stunden AS c58,
 		T9."order_number" AS c59,
 		T2."text_line" AS c60,
 		T2."order_position" AS c61,

+ 35 - 7
schema/GC_ETL_LOCOSOFT/views/transform_ims.ben_AW_Order_Number.sql

@@ -2,13 +2,41 @@ SET QUOTED_IDENTIFIER ON
 GO
 SET ANSI_NULLS ON 
 GO
-CREATE   VIEW [transform_ims].[ben_AW_Order_Number]
-AS
-SELECT times."order_number" AS "Order_Number",
-	SUM(times."duration_minutes") AS "Summe_Duration_Minutes"
-FROM LOCOSOFT."dbo"."times" times
-WHERE (times."order_number" <> 0)
-GROUP BY (times."order_number")
+CREATE   VIEW [transform_ims].[ben_AW_Order_Number] AS
+WITH
+    [Mitarbeiter_Summe] AS
+        (SELECT [client_db]
+              , [order_number]
+              , [employee_number]
+              , sum([duration_minutes]) / 60.0 AS [ben_Std_Auftrag_Monteur]
+         FROM [LOCOSOFT].[dbo].[times]
+         WHERE ([order_number] <> 0)
+         GROUP BY [client_db], [order_number], [employee_number])
+  , [ben_Std_Monteur_Text] AS
+        (SELECT [M].[client_db]
+              , [M].[order_number]
+              , [M].[employee_number]
+              , [E].[name]
+              , [M].[ben_Std_Auftrag_Monteur]
+              , [E].[name] + ' (' + replace(convert(varchar, convert(decimal(18, 2), round([M].[ben_Std_Auftrag_Monteur], 2))), '.', ',') + ' h)' AS [Monteur_und_Stunden]
+         FROM [Mitarbeiter_Summe] [M]
+                  INNER JOIN [LOCOSOFT].[dbo].[employees] [E] ON [E].[client_db] = [M].[client_db]
+             AND [E].[employee_number] = [M].[employee_number]
+             AND [E].[is_latest_record] = 1)
+
+  , [ben_Std_Auftrag]
+        AS (SELECT [client_db]
+                 , [order_number]
+                 , sum([ben_Std_Auftrag_Monteur]) AS [ben_Std_Auftrag]
+                 , string_agg([Monteur_und_Stunden], ' / ') WITHIN GROUP (ORDER BY [ben_Std_Auftrag_Monteur] DESC) AS [Monteur_und_Stunden]
+            FROM [ben_Std_Monteur_Text]
+            GROUP BY [Client_DB], [order_number])
+
+SELECT [Client_DB]
+     , [Order_Number]
+     , [ben_Std_Auftrag]
+     , left([Monteur_und_Stunden], 100) AS [Monteur_und_Stunden]
+FROM [ben_Std_Auftrag]
 GO
 SET QUOTED_IDENTIFIER OFF 
 GO