zeit_2_aftersales.sql 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. select "Employee No" as "Employee No",
  2. "Datum" as "Datum",
  3. "Department No" as "Department No",
  4. "Time Account No" as "Time Account No",
  5. "Time Account Value" as "Time Account Value",
  6. "Ta Class (general)" as "Ta Class (general)",
  7. "Ta Class (statistics)" as "Ta Class (statistics)",
  8. "Ta Class (absent Days)" as "Ta Class (absent Days)",
  9. "Ta Class (time Processing)" as "Ta Class (time Processing)",
  10. "Ta Class (individual)" as "Ta Class (individual)",
  11. "Ta Class (employee Info)" as "Ta Class (employee Info)",
  12. "Ta Class (vacation Reduction)" as "Ta Class (vacation Reduction)",
  13. "Ta Formatting" as "Ta Formatting",
  14. "Generating Function" as "Generating Function",
  15. "Record Protected" as "Record Protected",
  16. "No" as "No",
  17. "Description" as "Description",
  18. "Description 2" as "Description 2",
  19. "Zeitdauer" as "Zeitdauer",
  20. RSUM("Zeitdauer") as "Summe (Zeitdauer) Nr.1",
  21. "gesamt Stunden" as "gesamt Stunden",
  22. RSUM("gesamt Stunden" for "Datum") as "Summe (gesamt Stunden) Nr.3",
  23. RSUM("gesamt Stunden") as "Summe (gesamt Stunden) Nr.2",
  24. RSUM("gesamt Stunden") as "Summe (gesamt Stunden) Nr.1",
  25. "Wehr- /Zivildienst" as "Wehr- /Zivildienst",
  26. "Innung Azubi" as "Innung Azubi",
  27. "W-fix Stunden" as "W-fix Stunden",
  28. "Hauptbetrieb" as "Hauptbetrieb",
  29. "Standort" as "Standort",
  30. "First Name" as "First Name",
  31. "Last Name" as "Last Name",
  32. "Monteur_Gruppe_ori" as "Monteur_Gruppe_ori",
  33. "Abteilung" as "Abteilung",
  34. "Order Number" as "Order Number",
  35. "Monteur_ori" as "Monteur_ori",
  36. "Überstunden" as "Überstunden",
  37. "Leaving Date" as "Leaving Date",
  38. "Group No 1" as "Group No 1",
  39. "Group No 2" as "Group No 2",
  40. "Group No 3" as "Group No 3",
  41. "Tage Heute Leaving Date" as "Tage Heute Leaving Date",
  42. "Monteur_Gruppe" as "Monteur_Gruppe",
  43. "produktiv/unproduktiv" as "produktiv/unproduktiv",
  44. "Monatserster" as "Monatserster",
  45. "Monatsletzter" as "Monatsletzter",
  46. "Heute" as "Heute",
  47. "Datum Tagesbericht" as "Datum Tagesbericht",
  48. "Employment Date" as "Employment Date",
  49. "Schulung extern" as "Schulung extern",
  50. "Krank" as "Krank",
  51. "Arzt" as "Arzt",
  52. "Urlaub" as "Urlaub",
  53. "Sonderurlaub" as "Sonderurlaub",
  54. "Fehlstunden" as "Fehlstunden",
  55. "Berufsschule" as "Berufsschule",
  56. "Feiertag" as "Feiertag",
  57. "Zeitausgleich" as "Zeitausgleich",
  58. "Kostenstelle" as "Kostenstelle",
  59. "Filialcode_Employee" as "Filialcode_Employee",
  60. "Kostenstellencode_Employee" as "Kostenstellencode_Employee",
  61. "Name_Kostenstelle" as "Name_Kostenstelle",
  62. "Betrieb" as "Betrieb",
  63. "Monteur_Gruppe_2" as "Monteur_Gruppe_2",
  64. "Arbeitsvertragscode" as "Arbeitsvertragscode",
  65. "Serviceberater" as "Serviceberater",
  66. "Abwesenheiten Serviceberater" as "Abwesenheiten Serviceberater",
  67. "Urlaubstage" as "Urlaubstage",
  68. "Kranktage" as "Kranktage",
  69. "Schultage" as "Schultage",
  70. "Standort_1" as "Standort_1",
  71. "Serviceberater_KZ_Employee" as "Serviceberater_KZ_Employee",
  72. "Invoice Date" as "Invoice Date",
  73. "Funktion" as "Funktion",
  74. "Servicberater / sonst. MA" as "Servicberater / sonst. MA"
  75. from
  76. (select T1."Employee No_" as "Employee No",
  77. T1."Current Date" as "Datum",
  78. T1."Department No_" as "Department No",
  79. T1."Time Account No_" as "Time Account No",
  80. T1."Time Account Value" as "Time Account Value",
  81. T1."TA Class (General)" as "Ta Class (general)",
  82. T1."TA Class (Statistics)" as "Ta Class (statistics)",
  83. T1."TA Class (Missing Day)" as "Ta Class (absent Days)",
  84. T1."TA Class (Time Processing)" as "Ta Class (time Processing)",
  85. T1."TA Class (Individual)" as "Ta Class (individual)",
  86. T1."TA Class (Employee Info)" as "Ta Class (employee Info)",
  87. T1."TA Class (Vacation Reduction)" as "Ta Class (vacation Reduction)",
  88. T1."TA Formatting" as "Ta Formatting",
  89. T1."Generate Function" as "Generating Function",
  90. T1."Record protected" as "Record Protected",
  91. T2."No_" as "No",
  92. T2."Description" as "Description",
  93. T2."Description 2" as "Description 2",
  94. (convert(float, T1."Time Account Value")) as "Zeitdauer",
  95. CASE WHEN (T2."No_" IN (100)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "gesamt Stunden",
  96. CASE WHEN (T2."No_" = 379) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Wehr- /Zivildienst",
  97. 0 as "Innung Azubi",
  98. (CASE WHEN (T2."No_" = 370) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" = 379) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" = 352) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" = 354) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + 0 + (CASE WHEN (T2."No_" = 450) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) as "W-fix Stunden",
  99. T1."Client_DB" as "Hauptbetrieb",
  100. (T3."Filialcode") as "Standort",
  101. T3."Vorname" as "First Name",
  102. T3."Nachname" as "Last Name",
  103. CASE WHEN (T3."Global Dimension 1 Code" IN ('40','62')) THEN ('Mechanik') WHEN (T3."Global Dimension 1 Code" IN ('41')) THEN ('Karosserie') WHEN (T3."Global Dimension 1 Code" IN ('42')) THEN ('Lack') ELSE null END as "Monteur_Gruppe_ori",
  104. '' as "Abteilung",
  105. '' as "Order Number",
  106. T3."Vorname" + ' ' + T3."Nachname" as "Monteur_ori",
  107. CASE WHEN (T2."No_" IN (200)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Überstunden",
  108. T4."Leaving Date" as "Leaving Date",
  109. T4."Group No_ 1" as "Group No 1",
  110. T4."Group No_ 2" as "Group No 2",
  111. T4."Group No_ 3" as "Group No 3",
  112. (day((now()) - T4."Leaving Date")) as "Tage Heute Leaving Date",
  113. CASE WHEN ((((day((now()) - T4."Leaving Date"))) > 0) and (T4."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE ((CASE WHEN (T3."Global Dimension 1 Code" IN ('40','62')) THEN ('Mechanik') WHEN (T3."Global Dimension 1 Code" IN ('41')) THEN ('Karosserie') WHEN (T3."Global Dimension 1 Code" IN ('42')) THEN ('Lack') ELSE null END)) END as "Monteur_Gruppe",
  114. CASE WHEN (T4."Group No_ 3" IN ('KAR','WER')) THEN ('prod. Personal') WHEN (T4."Group No_ 3" IN ('SON')) THEN ('unprod. Personal') ELSE null END as "produktiv/unproduktiv",
  115. (convert(datetime, T1."Current Date" - cinterval(day(T1."Current Date") - 1))) as "Monatserster",
  116. (convert(datetime, lastday((T1."Current Date")))) as "Monatsletzter",
  117. (now()) as "Heute",
  118. CASE WHEN (((now())) BETWEEN ((convert(datetime, T1."Current Date" - cinterval(day(T1."Current Date") - 1)))) AND ((convert(datetime, lastday((T1."Current Date")))))) THEN (T1."Current Date") ELSE null END as "Datum Tagesbericht",
  119. T3."Anstellungsdatum" as "Employment Date",
  120. CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Schulung extern",
  121. CASE WHEN (T2."No_" IN (370,371,372)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Krank",
  122. CASE WHEN (T2."No_" IN (302)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Arzt",
  123. CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Urlaub",
  124. CASE WHEN (T2."No_" IN (352,353)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Sonderurlaub",
  125. CASE WHEN (T2."No_" IN (299,300,301,340)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Fehlstunden",
  126. CASE WHEN (T2."No_" IN (354)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Berufsschule",
  127. CASE WHEN (T2."No_" IN (450)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Feiertag",
  128. CASE WHEN (T2."No_" IN (378)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END as "Zeitausgleich",
  129. T3."Global Dimension 1 Code" + ' - ' + T5."Name" as "Kostenstelle",
  130. T3."Filialcode" as "Filialcode_Employee",
  131. T3."Global Dimension 1 Code" as "Kostenstellencode_Employee",
  132. T5."Name" as "Name_Kostenstelle",
  133. CASE WHEN (((T3."Filialcode")) IN ('00','01')) THEN ('Deggendorf') WHEN (((T3."Filialcode")) IN ('02')) THEN ('Landau') ELSE null END as "Betrieb",
  134. CASE WHEN (T3."Arbeitsvertragscode" = 'AZUBI') THEN ('AZUBI') WHEN (T3."Arbeitsvertragscode" IN ('MECH','LACK')) THEN ('Monteur') ELSE ('andere Mitarbeiter') END as "Monteur_Gruppe_2",
  135. T3."Arbeitsvertragscode" as "Arbeitsvertragscode",
  136. T1."Employee No_" + ' - ' + (T3."Vorname" + ' ' + T3."Nachname") as "Serviceberater",
  137. (CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (370,371,372)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (352,353)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) as "Abwesenheiten Serviceberater",
  138. CASE WHEN (((CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 4.26 AND 10) or ((CASE WHEN (T2."No_" IN (352,353)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 4.26 AND 10)) THEN (1) WHEN (((CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 0.1 AND 4.25) or ((CASE WHEN (T2."No_" IN (352,353)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 0.1 AND 4.25)) THEN (0.5) ELSE (0) END as "Urlaubstage",
  139. CASE WHEN ((CASE WHEN (T2."No_" IN (370,371,372)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 4.26 AND 10) THEN (1) WHEN ((CASE WHEN (T2."No_" IN (370,371,372)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 0.1 AND 4.25) THEN (0.5) ELSE (0) END as "Kranktage",
  140. CASE WHEN ((CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 4.26 AND 10) THEN (1) WHEN ((CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) BETWEEN 0.1 AND 4.25) THEN (0.5) ELSE (0) END as "Schultage",
  141. ('Serviceberater') as "Standort_1",
  142. T3."Serviceberater" as "Serviceberater_KZ_Employee",
  143. T1."Current Date" as "Invoice Date",
  144. T3."Funktion" as "Funktion",
  145. CASE WHEN (T3."Funktion" IN ('Service Berater','Serviceberater','Serviceverater')) THEN ('Serviceberater') ELSE ('sonstige MA') END as "Servicberater / sonst. MA"
  146. from "CARLO"."import"."Employee_T" T4,
  147. ((("CARLO"."import"."Time_Entry_T" T1 left outer join "CARLO"."import"."Time_Account_T" T2 on (T1."Time Account No_" = (cast_numberToString(cast_integer(T2."No_")))) and (T1."Client_DB" = T2."Client_DB")) left outer join "CARLO"."import"."Employee" T3 on (T3."Nr_" = T1."Employee No_") and (T3."Client_DB" = T1."Client_DB")) left outer join "CARLO"."import"."Kostenstelle" T5 on (T3."Global Dimension 1 Code" = T5."Code") and (T3."Client_DB" = T5."Client_DB"))
  148. where ((T3."Nr_" = T4."No_") and (T3."Client_DB" = T4."Client_DB"))
  149. and ((((T1."Current Date" >= T3."Anstellungsdatum") and (T1."Current Date" >= convert(datetime, '2014-01-01 00:00:00.000'))) and (T3."Funktion" IN ('Service Berater','Serviceberater','Serviceverater'))) and (((CASE WHEN (T2."No_" = 355) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (370,371,372)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (350,351)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END) + (CASE WHEN (T2."No_" IN (352,353)) THEN (((convert(float, T1."Time Account Value")))) ELSE (0) END)) <> 0))
  150. -- order by "Datum" asc,"Employee No" asc
  151. ) D1