Monteur_neu_Zeiterf_neu.sql 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. select "Unique Ident" as "Unique Ident",
  2. "Activity Code" as "Activity Code",
  3. "Profile Code" as "Profile Code",
  4. "Handler" as "Handler",
  5. "Function Code" as "Function Code",
  6. "Program" as "Program",
  7. "Transact Date Long" as "Transact Date Long",
  8. "Start Punch Function" as "Start Punch Function",
  9. "Start Punch Program" as "Start Punch Program",
  10. "End Punch Function" as "End Punch Function",
  11. "End Punch Program" as "End Punch Program",
  12. "Done For Department" as "Done For Department",
  13. "Done For Work Leader" as "Done For Work Leader",
  14. "Ended Punch" as "Ended Punch",
  15. "Order Number" as "Order Number",
  16. "Line Number" as "Line Number",
  17. "Start Date Time" as "Start Date Time",
  18. "End Date Time" as "End Date Time",
  19. "Tmcs Idle Punch" as "Tmcs Idle Punch",
  20. "Duration Int" as "Duration Int",
  21. "Used Time Int" as "Used Time Int",
  22. "Wage Extracted" as "Wage Extracted",
  23. "Punch Remark Code" as "Punch Remark Code",
  24. "Remark Accepted" as "Remark Accepted",
  25. "Punch Period Start Id" as "Punch Period Start Id",
  26. "Conv Flag" as "Conv Flag",
  27. "Seller Code" as "Seller Code",
  28. "Sel Name" as "Sel Name",
  29. "Sel Department" as "Sel Department",
  30. "Sel First Name" as "Sel First Name",
  31. "Sel Family Name" as "Sel Family Name",
  32. "Work Leader Group" as "Work Leader Group",
  33. "Workleader Text" as "Workleader Text",
  34. "Activity Code_Activity" as "Activity Code_Activity",
  35. "Activity Description" as "Activity Description",
  36. "Present_Activity" as "Present_Activity",
  37. "Anwesenheit" as "Anwesenheit",
  38. RSUM("Anwesenheit") as "Summe (Anwesenheit) Nr.1",
  39. "Nacharbeit" as "Nacharbeit",
  40. "Leerlauf/Wartezeit" as "Leerlauf/Wartezeit",
  41. "Hol u Bring Service" as "Hol u Bring Service",
  42. "Instandhltg. Werkstatt" as "Instandhltg. Werkstatt",
  43. "Unprod. Anwes." as "Unprod. Anwes.",
  44. "Hilfslohn" as "Hilfslohn",
  45. "Schulung intern" as "Schulung intern",
  46. "Schulung extern" as "Schulung extern",
  47. "Reifenlager" as "Reifenlager",
  48. "Krank" as "Krank",
  49. "Arzt" as "Arzt",
  50. "Urlaub" as "Urlaub",
  51. "Sonderurlaub" as "Sonderurlaub",
  52. "Feiertag" as "Feiertag",
  53. "zu spät" as "zu spät",
  54. "Überstunden" as "Überstunden",
  55. "Order Number_Auftrag" as "Order Number_Auftrag",
  56. "Customer Group" as "Customer Group",
  57. "Umsatzart" as "Umsatzart",
  58. "Extern" as "Extern",
  59. "GWL" as "GWL",
  60. "Intern" as "Intern",
  61. "produktiv" as "produktiv",
  62. RSUM("produktiv") as "Summe (produktiv) Nr.1",
  63. "unproduktiv" as "unproduktiv",
  64. RSUM("unproduktiv") as "Summe (unproduktiv) Nr.1",
  65. "abwesend" as "abwesend",
  66. "Monteur_Gruppe_ori" as "Monteur_Gruppe_ori",
  67. "Datum" as "Datum",
  68. "Hauptbetrieb" as "Hauptbetrieb",
  69. "Department Type Id" as "Department Type Id",
  70. "Description" as "Description",
  71. "Standort" as "Standort",
  72. "Kostenstelle" as "Kostenstelle",
  73. "Monteur_ori" as "Monteur_ori",
  74. "Konv Zeitkonto minus" as "Konv Zeitkonto minus",
  75. "Berufsschule" as "Berufsschule",
  76. "Ausb.Zeit mit Handwerker nur Azubi_" as "Ausb.Zeit mit Handwerker nur Azubi_",
  77. "Work Leader Group Id" as "Work Leader Group Id",
  78. "GW-Bewertung" as "GW-Bewertung",
  79. "Waschanlage" as "Waschanlage",
  80. "Sondereinsatz lt. WL" as "Sondereinsatz lt. WL",
  81. "Abschleppen" as "Abschleppen",
  82. "Abzug T390" as "Abzug T390",
  83. "Monteur_Gruppe" as "Monteur_Gruppe",
  84. "Monteur" as "Monteur",
  85. "Tag beenden" as "Tag beenden",
  86. "Activity_Codes_Group1" as "Activity_Codes_Group1",
  87. "Activity_Codes_Group2" as "Activity_Codes_Group2",
  88. "Activity_Desc" as "Activity_Desc",
  89. "Hauptbetrieb Id" as "Hauptbetrieb Id",
  90. "Hauptbetrieb Name" as "Hauptbetrieb Name",
  91. "Standort Id" as "Standort Id",
  92. "Standort Name" as "Standort Name"
  93. from
  94. (select T1."UNIQUE_IDENT" as "Unique Ident",
  95. T1."ACTIVITY_CODE" as "Activity Code",
  96. T1."PROFILE_CODE" as "Profile Code",
  97. T1."HANDLER" as "Handler",
  98. T1."FUNCTION_CODE" as "Function Code",
  99. T1."PROGRAM" as "Program",
  100. T1."TRANSACT_DATE_LONG" as "Transact Date Long",
  101. T1."START_PUNCH_FUNCTION" as "Start Punch Function",
  102. T1."START_PUNCH_PROGRAM" as "Start Punch Program",
  103. T1."END_PUNCH_FUNCTION" as "End Punch Function",
  104. T1."END_PUNCH_PROGRAM" as "End Punch Program",
  105. T1."DONE_FOR_DEPARTMENT" as "Done For Department",
  106. T1."DONE_FOR_WORK_LEADER" as "Done For Work Leader",
  107. T1."ENDED_PUNCH" as "Ended Punch",
  108. T1."ORDER_NUMBER" as "Order Number",
  109. T1."LINE_NUMBER" as "Line Number",
  110. T1."START_DATE_TIME" as "Start Date Time",
  111. T1."END_DATE_TIME" as "End Date Time",
  112. T1."TMCS_IDLE_PUNCH" as "Tmcs Idle Punch",
  113. T1."DURATION_INT" as "Duration Int",
  114. T1."USED_TIME_INT" as "Used Time Int",
  115. T1."WAGE_EXTRACTED" as "Wage Extracted",
  116. T1."PUNCH_REMARK_CODE" as "Punch Remark Code",
  117. T1."REMARK_ACCEPTED" as "Remark Accepted",
  118. T1."PUNCH_PERIOD_START_ID" as "Punch Period Start Id",
  119. T1."CONV_FLAG" as "Conv Flag",
  120. T2."SELLER_CODE" as "Seller Code",
  121. T2."SEL_NAME" as "Sel Name",
  122. T2."SEL_DEPARTMENT" as "Sel Department",
  123. T2."SEL_FIRST_NAME" as "Sel First Name",
  124. T2."SEL_FAMILY_NAME" as "Sel Family Name",
  125. T3."WORK_LEADER_GROUP" as "Work Leader Group",
  126. T3."WORKLEADER_TEXT" as "Workleader Text",
  127. T4."ACTIVITY_CODE" as "Activity Code_Activity",
  128. T4."ACTIVITY_DESCRIPTION" as "Activity Description",
  129. T4."PRESENT" as "Present_Activity",
  130. CASE WHEN (T4."PRESENT" = 1) THEN (T1."USED_TIME_INT") ELSE (0) END as "Anwesenheit",
  131. CASE WHEN (T1."ACTIVITY_CODE" IN ('2830')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Nacharbeit",
  132. CASE WHEN (T1."ACTIVITY_CODE" IN ('2000')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Leerlauf/Wartezeit",
  133. CASE WHEN (T1."ACTIVITY_CODE" IN ('HUB ')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Hol u Bring Service",
  134. CASE WHEN (T1."ACTIVITY_CODE" IN ('W1 ','2210')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Instandhltg. Werkstatt",
  135. CASE WHEN (T1."ACTIVITY_CODE" IN ('2100','1001','1000','1005','1004','2110')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Unprod. Anwes.",
  136. CASE WHEN (T1."ACTIVITY_CODE" IN ('2200','2210','2220','2250','2230')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Hilfslohn",
  137. CASE WHEN (T1."ACTIVITY_CODE" IN ('2900')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Schulung intern",
  138. CASE WHEN (T1."ACTIVITY_CODE" IN ('5100')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Schulung extern",
  139. CASE WHEN (T1."ACTIVITY_CODE" IN ('2800')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Reifenlager",
  140. CASE WHEN (T1."ACTIVITY_CODE" IN ('5000 ')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Krank",
  141. CASE WHEN (T1."ACTIVITY_CODE" IN ('3000')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Arzt",
  142. CASE WHEN (T1."ACTIVITY_CODE" IN ('5200')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Urlaub",
  143. CASE WHEN (T1."ACTIVITY_CODE" IN ('5210')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Sonderurlaub",
  144. CASE WHEN (T1."ACTIVITY_CODE" IN ('5300')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Feiertag",
  145. CASE WHEN (T1."ACTIVITY_CODE" IN ('4010')) THEN (T1."USED_TIME_INT") ELSE (0) END as "zu spät",
  146. CASE WHEN (T1."ACTIVITY_CODE" IN ('5400')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Überstunden",
  147. T5."ORDER_NUMBER" as "Order Number_Auftrag",
  148. T5."CUSTOMER_GROUP" as "Customer Group",
  149. CASE WHEN ((T5."CUSTOMER_GROUP" BETWEEN '10' AND '59') or (T5."CUSTOMER_GROUP" LIKE '7%')) THEN ('extern') WHEN (T5."CUSTOMER_GROUP" LIKE '6%') THEN ('GWL') WHEN (((T5."CUSTOMER_GROUP" LIKE '9%') or (T5."PMT_TERM" = 'IN')) or ((left(T5."CUSTOMER_GROUP",1)) BETWEEN 'A' AND 'Z')) THEN ('intern') ELSE null END as "Umsatzart",
  150. CASE WHEN (T6."Zeitkategorie_2" IN ('Extern')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Extern",
  151. CASE WHEN (T6."Zeitkategorie_2" IN ('GWL')) THEN (T1."USED_TIME_INT") ELSE (0) END as "GWL",
  152. CASE WHEN (T6."Zeitkategorie_2" IN ('Intern')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Intern",
  153. (CASE WHEN (T6."Zeitkategorie_2" IN ('Extern')) THEN (T1."USED_TIME_INT") ELSE (0) END) + (CASE WHEN (T6."Zeitkategorie_2" IN ('GWL')) THEN (T1."USED_TIME_INT") ELSE (0) END) + (CASE WHEN (T6."Zeitkategorie_2" IN ('Intern')) THEN (T1."USED_TIME_INT") ELSE (0) END) as "produktiv",
  154. CASE WHEN (T6."Zeitkategorie_1" IN ('unproduktiv')) THEN (T1."USED_TIME_INT") ELSE (0) END as "unproduktiv",
  155. CASE WHEN (T6."Zeitkategorie_1" IN ('Abwesenheit')) THEN (T1."USED_TIME_INT") ELSE (0) END as "abwesend",
  156. T3."WORK_LEADER_GROUP" + ' - ' + T3."WORKLEADER_TEXT" as "Monteur_Gruppe_ori",
  157. ((T1."START_DATE_TIME")) as "Datum",
  158. T7."CLIENT_DB" as "Hauptbetrieb",
  159. T8."DEPARTMENT_TYPE_ID" as "Department Type Id",
  160. T8."DESCRIPTION" as "Description",
  161. (left(T2."SEL_DEPARTMENT",2)) as "Standort",
  162. (substring(T2."SEL_DEPARTMENT", 4, 1)) as "Kostenstelle",
  163. T2."SEL_NAME" as "Monteur_ori",
  164. CASE WHEN (T1."ACTIVITY_CODE" IN ('2999')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Konv Zeitkonto minus",
  165. CASE WHEN (T1."ACTIVITY_CODE" IN ('3920')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Berufsschule",
  166. '' as "Ausb.Zeit mit Handwerker nur Azubi_",
  167. T7."WORK_LEADER_GROUP_ID" as "Work Leader Group Id",
  168. CASE WHEN (T1."ACTIVITY_CODE" IN ('2850')) THEN (T1."USED_TIME_INT") ELSE (0) END as "GW-Bewertung",
  169. CASE WHEN (T1."ACTIVITY_CODE" IN ('2810')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Waschanlage",
  170. CASE WHEN (T1."ACTIVITY_CODE" IN ('2820')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Sondereinsatz lt. WL",
  171. CASE WHEN (T1."ACTIVITY_CODE" IN ('2840')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Abschleppen",
  172. CASE WHEN (T1."ACTIVITY_CODE" IN ('996')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Abzug T390",
  173. (T3."WORK_LEADER_GROUP" + ' - ' + T3."WORKLEADER_TEXT") as "Monteur_Gruppe",
  174. T1."PROFILE_CODE" + ' - ' + T2."SEL_NAME" as "Monteur",
  175. CASE WHEN (T1."ACTIVITY_CODE" IN ('1009')) THEN (T1."USED_TIME_INT") ELSE (0) END as "Tag beenden",
  176. T6."Zeitkategorie_1" as "Activity_Codes_Group1",
  177. T6."Zeitkategorie_2" as "Activity_Codes_Group2",
  178. T6."Activity_Code" + ' - ' + T6."Activity_Desc" as "Activity_Desc",
  179. T9."Hauptbetrieb_ID" as "Hauptbetrieb Id",
  180. T9."Hauptbetrieb_Name" as "Hauptbetrieb Name",
  181. T9."Standort_ID" as "Standort Id",
  182. T9."Standort_Name" as "Standort Name"
  183. from "OPTIMA"."import"."EMPLOYEE" T7,
  184. "OPTIMA"."import"."VPP91" T3,
  185. ((((((("OPTIMA"."import"."PUNCH" T1 left outer join "OPTIMA"."import"."VPP43" T2 on (T1."PROFILE_CODE" = T2."SELLER_CODE") and (T1."CLIENT_DB" = T2."CLIENT_DB")) left outer join "OPTIMA"."import"."PROFILE" T10 on (T2."SELLER_CODE" = T10."PROFILE_CODE") and (T2."CLIENT_DB" = T10."CLIENT_DB")) left outer join "OPTIMA"."import"."ACTIVITY" T4 on (T1."ACTIVITY_CODE" = T4."ACTIVITY_CODE") and (T1."CLIENT_DB" = T4."CLIENT_DB")) left outer join "OPTIMA"."import"."ORDER_HEADER" T5 on (T5."ORDER_NUMBER" = T1."ORDER_NUMBER") and (T5."CLIENT_DB" = T1."CLIENT_DB")) left outer join "OPTIMA"."data"."GC_Activity_Codes" T6 on (T4."CLIENT_DB" = T6."Client_DB") and (T4."ACTIVITY_CODE" = T6."Activity_Code")) left outer join "OPTIMA"."import"."DEPARTMENT_TYPE" T8 on (T2."SEL_DEPARTMENT" = T8."DEPARTMENT_TYPE_ID") and (T2."CLIENT_DB" = T8."CLIENT_DB")) left outer join "OPTIMA"."data"."GC_Department" T9 on (T2."CLIENT_DB" = T9."Hauptbetrieb") and ((left(T2."SEL_DEPARTMENT",2)) = T9."Standort"))
  186. where ((T7."PERSON_ID" = T10."PERSON_ID") and (T7."CLIENT_DB" = T10."CLIENT_DB")) and ((T3."WORK_LEADER_GROUP" = T7."WORK_LEADER_GROUP_ID") and (T3."CLIENT_DB" = T7."CLIENT_DB"))
  187. and (((not T1."PROFILE_CODE" IN ('MARE')) and ((((T1."START_DATE_TIME"))) >= convert(date, '2020-01-01'))) and (((T3."WORK_LEADER_GROUP" + ' - ' + T3."WORKLEADER_TEXT")) IN ('110 - WIZ Mechanik ','120 - WIZ Karosserie ','140 - WIZ Lehrlinge ','310 - ESW Mechanik ','320 - ESW Karosserie ','340 - ESW Lehrlinge ','510 - LPH Mechanik','520 - LPH Karosserie','540 - LPH Lehrlinge')))
  188. -- order by "Transact Date Long" asc
  189. ) D1