Aftersales_Rechnungen_ben_AW_final.sql 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. SELECT "Invoice Type",
  2. "Invoice Number",
  3. "Subsidiary",
  4. "Invoice Date",
  5. "Service Date",
  6. "Is Canceled",
  7. "Vehicle Number",
  8. "Invoice_Type_Invoice_Number",
  9. '1' AS "Hauptbetrieb",
  10. "Standort",
  11. "Serviceberater",
  12. "Umsatzart",
  13. "Fabrikat",
  14. "Fabrikat" AS "Description_Makes",
  15. "Description_Models",
  16. "Model",
  17. "Fahrzeug",
  18. "Kostenstelle",
  19. "Marke",
  20. 'Service' AS "Auftragsart",
  21. "Gesch�ftsart",
  22. "Kunde",
  23. "Time Units",
  24. "Time Units_Zahl",
  25. 10 AS "AW/Std.",
  26. "verk. Std._",
  27. "Order Number",
  28. "Order Number_Rg_Ausg",
  29. "Kundenart",
  30. "Summe Duration Minutes",
  31. "Order Number_ben_AW",
  32. 1 AS "Anzahl_Datens�tze_1",
  33. COUNT("Order Number_ben_AW") OVER (PARTITION BY "Order Number") AS "Anzahl_Datens�tze_2",
  34. (c38) / (COUNT("Order Number_ben_AW") OVER (PARTITION BY "Order Number")) AS "ben. Std."
  35. FROM (
  36. SELECT (
  37. CASE
  38. WHEN (T2."Serviceberater" IS NOT NULL)
  39. THEN (
  40. (left((((T1."invoice_type"))), 1)) + (left((((T1."invoice_number"))), 9)) + ' - ' + T2."Serviceberater" + ' - ' + (
  41. CASE
  42. WHEN (T3."first_name" IS NULL)
  43. THEN ((left((((T3."customer_number"))), 7)) + ' - ' + T3."family_name")
  44. ELSE ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name")
  45. END
  46. )
  47. )
  48. ELSE (
  49. (left((((T1."invoice_type"))), 1)) + (left((((T1."invoice_number"))), 9)) + ' - ' + (
  50. CASE
  51. WHEN (T3."first_name" IS NULL)
  52. THEN ((left((((T3."customer_number"))), 7)) + ' - ' + T3."family_name")
  53. ELSE ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name")
  54. END
  55. )
  56. )
  57. END
  58. ) AS "Order Number",
  59. T9."Summe_Duration_Minutes" / 60 AS c38,
  60. T9."order_number" AS "Order Number_ben_AW",
  61. T9."Summe_Duration_Minutes" AS "Summe Duration Minutes",
  62. (left((((T8."employee_number"))), 4)) + ' - ' + T8."name" AS "Kundenart",
  63. CASE
  64. WHEN ((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."invoice_date")))) <= 4)
  65. THEN (
  66. (
  67. CASE
  68. WHEN (T2."Serviceberater" IS NOT NULL)
  69. THEN (
  70. (left((((T1."invoice_type"))), 1)) + (left((((T1."invoice_number"))), 9)) + ' - ' + T2."Serviceberater" + ' - ' + (
  71. CASE
  72. WHEN (T3."first_name" IS NULL)
  73. THEN ((left((((T3."customer_number"))), 7)) + ' - ' + T3."family_name")
  74. ELSE ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name")
  75. END
  76. )
  77. )
  78. ELSE (
  79. (left((((T1."invoice_type"))), 1)) + (left((((T1."invoice_number"))), 9)) + ' - ' + (
  80. CASE
  81. WHEN (T3."first_name" IS NULL)
  82. THEN ((left((((T3."customer_number"))), 7)) + ' - ' + T3."family_name")
  83. ELSE ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name")
  84. END
  85. )
  86. )
  87. END
  88. )
  89. )
  90. ELSE NULL
  91. END AS "Order Number_Rg_Ausg",
  92. ((convert(FLOAT, T7."time_units"))) / 10 AS "verk. Std._",
  93. (convert(FLOAT, T7."time_units")) AS "Time Units_Zahl",
  94. T7."time_units" AS "Time Units",
  95. CASE
  96. WHEN (T3."first_name" IS NULL)
  97. THEN ((left((((T3."customer_number"))), 7)) + ' - ' + T3."family_name")
  98. ELSE ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name")
  99. END AS "Kunde",
  100. T3."zip_code" AS "Gesch�ftsart",
  101. CASE
  102. WHEN (T4."description" = 'Ford')
  103. THEN ('1')
  104. WHEN (T4."description" = 'Nissan')
  105. THEN ('3')
  106. WHEN (T4."description" = 'Suzuki')
  107. THEN ('2')
  108. ELSE ('9')
  109. END AS "Marke",
  110. CASE
  111. WHEN ((left((((T6."type"))), 1)) IN ('1', '6'))
  112. THEN ('41 - After Sales Kundendienst eigene Werkstatt')
  113. WHEN (T6."type" IN (40, 41, 44, 45, 46, 47, 48, 49, 88, 89, 50, 90))
  114. THEN ('41 - After Sales Kundendienst eigene Werkstatt')
  115. WHEN ((left((((T6."type"))), 1)) IN ('2'))
  116. THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung')
  117. WHEN (T6."type" IN (42, 92))
  118. THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung')
  119. WHEN ((left((((T6."type"))), 1)) IN ('3'))
  120. THEN ('45 - After Sales Kundendienst eigene Lackiererei')
  121. WHEN (T6."type" IN (43, 93))
  122. THEN ('45 - After Sales Kundendienst eigene Lackiererei')
  123. ELSE NULL
  124. END AS "Kostenstelle",
  125. (left((left((((T1."vehicle_number"))), 5)) + ' - ' + T5."description", 100)) AS "Fahrzeug",
  126. (left((ucase(T5."description")), 3)) AS "Model",
  127. T5."description" AS "Description_Models",
  128. T4."description" AS "Fabrikat",
  129. CASE
  130. WHEN (T1."invoice_type" = 6)
  131. THEN ('GWL')
  132. WHEN (
  133. (T1."invoice_type" = 4)
  134. OR (T3."customer_number" = 100001)
  135. )
  136. THEN ('intern')
  137. ELSE ('extern')
  138. END AS "Umsatzart",
  139. T2."Serviceberater" AS "Serviceberater",
  140. (((T1."subsidiary"))) AS "Standort",
  141. (left((((T1."invoice_type"))), 1)) + '_' + (left((((T1."invoice_number"))), 9)) AS "Invoice_Type_Invoice_Number",
  142. T1."vehicle_number" AS "Vehicle Number",
  143. T1."is_canceled" AS "Is Canceled",
  144. T1."service_date" AS "Service Date",
  145. T1."invoice_date" AS "Invoice Date",
  146. T1."subsidiary" AS "Subsidiary",
  147. T1."invoice_number" AS "Invoice Number",
  148. T1."invoice_type" AS "Invoice Type"
  149. FROM "ims"."ben_AW_Order_Number" T9,
  150. (
  151. (
  152. (
  153. (
  154. (
  155. (
  156. (
  157. (
  158. "dbo"."invoices" T1 LEFT JOIN "dbo"."customers_suppliers" T3 ON T3."customer_number" = T1."paying_customer"
  159. ) LEFT JOIN "dbo"."vehicles" T10 ON T1."vehicle_number" = T10."internal_number"
  160. ) LEFT JOIN "dbo"."makes" T4 ON T10."make_number" = T4."make_number"
  161. ) LEFT JOIN "dbo"."models" T5 ON (T10."make_number" = T5."make_number")
  162. AND (T10."model_code" = T5."model_code")
  163. ) LEFT JOIN "dbo"."labours" T7 ON (T7."invoice_number" = T1."invoice_number")
  164. AND (T7."invoice_type" = T1."invoice_type")
  165. ) LEFT JOIN "dbo"."charge_type_descriptions" T6 ON T6."type" = T7."charge_type"
  166. ) LEFT JOIN "dbo"."employees" T8 ON T1."creating_employee" = T8."employee_number"
  167. ) LEFT JOIN "ims"."Serviceberater_Rechnung" T2 ON T1."invtype_invnr" = T2."invtype_invnr"
  168. )
  169. WHERE (T7."order_number" = T9."order_number")
  170. AND (
  171. (
  172. (
  173. (T1."invoice_type" BETWEEN 2 AND 6)
  174. AND (T1."is_canceled" <> 1)
  175. )
  176. AND (T1."invoice_date" >= convert(DATE, '2017-01-01'))
  177. )
  178. AND (
  179. (((convert(FLOAT, T7."time_units"))) <> 0)
  180. AND (((convert(FLOAT, T7."time_units"))) IS NOT NULL)
  181. )
  182. )
  183. ) D1
  184. -- order by "Invoice_Type_Invoice_Number" asc,"Invoice Number" asc