zeit_stempelzeiten_monteur_2_c11.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. select "Entry No" as "Entry No",
  2. "Employee No" as "Employee No",
  3. "Date_ori" as "Date_ori",
  4. "Time Value" as "Time Value",
  5. "Begin End" as "Begin End",
  6. "Cause Of Absence Code" as "Cause Of Absence Code",
  7. "Terminal Code" as "Terminal Code",
  8. "Department Code" as "Department Code",
  9. "Make Code" as "Make Code",
  10. "User Id" as "User Id",
  11. "Reason Code" as "Reason Code",
  12. "Sorting" as "Sorting",
  13. "Posting Date" as "Posting Date",
  14. "Order No" as "Order No",
  15. "Service Job No" as "Service Job No",
  16. "Closed" as "Closed",
  17. "Task Type Code" as "Task Type Code",
  18. "Link No" as "Link No",
  19. "Task Ledger Entry No" as "Task Ledger Entry No",
  20. "Corrected" as "Corrected",
  21. "Starting Time" as "Starting Time",
  22. "Ending Time" as "Ending Time",
  23. "Duration" as "Duration",
  24. "Time Acquisition Posted" as "Time Acquisition Posted",
  25. "Branch Code" as "Branch Code",
  26. "Approved By User Id" as "Approved By User Id",
  27. "Approved" as "Approved",
  28. "Automatic Posting" as "Automatic Posting",
  29. "Subject To Approval" as "Subject To Approval",
  30. "Applied-to Entry No" as "Applied-to Entry No",
  31. "Ledger Entry Origin" as "Ledger Entry Origin",
  32. "Correction Mode" as "Correction Mode",
  33. "Posting Time" as "Posting Time",
  34. "Service Advisor No" as "Service Advisor No",
  35. "Resource Group No" as "Resource Group No",
  36. "Tested" as "Tested",
  37. "Location Code" as "Location Code",
  38. "Leave" as "Leave",
  39. "Zeitdauer" as "Zeitdauer",
  40. RSUM("Duration") as "Summe (Zeitdauer) Nr.1",
  41. "Code" as "Code",
  42. "Description_Task_Type" as "Description_Task_Type",
  43. "Task Statistic Group" as "Task Statistic Group",
  44. "Hauptbetrieb" as "Hauptbetrieb",
  45. "Standort" as "Standort",
  46. "No" as "No",
  47. "Last Name" as "Last Name",
  48. "First Name" as "First Name",
  49. "Monteur" as "Monteur",
  50. "Datum" as "Datum",
  51. "Leaving Date" as "Leaving Date",
  52. "Group No 1" as "Group No 1",
  53. "Group No 2" as "Group No 2",
  54. "Group No 3" as "Group No 3",
  55. "Monteur_Gruppe_ori_alt" as "Monteur_Gruppe_ori_alt",
  56. "Tage Heute Leaving Date" as "Tage Heute Leaving Date",
  57. "Monteur_Gruppe" as "Monteur_Gruppe",
  58. "produktiv/unproduktiv" as "produktiv/unproduktiv",
  59. "Monatserster" as "Monatserster",
  60. "Monatsletzter" as "Monatsletzter",
  61. "Heute" as "Heute",
  62. "Datum Tagesbericht" as "Datum Tagesbericht",
  63. "Employment Date" as "Employment Date",
  64. "Kostenstelle" as "Kostenstelle",
  65. "unproduktiv_alt" as "unproduktiv_alt",
  66. "abwesend_ori" as "abwesend_ori",
  67. "Extern" as "Extern",
  68. "GWL" as "GWL",
  69. "Intern" as "Intern",
  70. "Filialcode_Employee" as "Filialcode_Employee",
  71. "Kostenstellencode_Employee" as "Kostenstellencode_Employee",
  72. "Name_Kostenstelle" as "Name_Kostenstelle",
  73. "Betrieb" as "Betrieb",
  74. "Monteur_Gruppe_2" as "Monteur_Gruppe_2",
  75. "Arbeitsvertragscode" as "Arbeitsvertragscode",
  76. "Task Type Group" as "Task Type Group",
  77. "Monteur_Gruppe_ori" as "Monteur_Gruppe_ori",
  78. "Date" as "Date",
  79. "Company_ID" as "Company_ID",
  80. "Department_ID" as "Department_ID",
  81. "Mechanic_Group2" as "Mechanic_Group2",
  82. "Mechanic" as "Mechanic",
  83. "Mechanic_Productive" as "Mechanic_Productive",
  84. "Mechanic_Group1" as "Mechanic_Group1",
  85. "Order Number" as "Order Number",
  86. "Activity_Codes_Group1" as "Activity_Codes_Group1",
  87. "Activity_Codes_Group2" as "Activity_Codes_Group2",
  88. "Activity_Desc" as "Activity_Desc",
  89. "Mechanic_Trainee" as "Mechanic_Trainee",
  90. "produktiv" as "produktiv",
  91. "unproduktiv" as "unproduktiv",
  92. "abwesend" as "abwesend",
  93. "TOY_produktiv_Zeit" as "TOY_produktiv_Zeit"
  94. from
  95. (select T1."Entry No_" as "Entry No",
  96. T1."Employee No_" as "Employee No",
  97. T1."Date" as "Date_ori",
  98. T1."Time Value" as "Time Value",
  99. T1."Begin_End" as "Begin End",
  100. T1."Cause of Absence Code" as "Cause Of Absence Code",
  101. T1."Terminal Code" as "Terminal Code",
  102. T1."Department Code" as "Department Code",
  103. T1."Make Code" as "Make Code",
  104. T1."User ID" as "User Id",
  105. T1."Reason Code" as "Reason Code",
  106. T1."Sorting" as "Sorting",
  107. T1."Posting Date" as "Posting Date",
  108. T1."Order No_" as "Order No",
  109. T1."Service Job No_" as "Service Job No",
  110. T1."Closed" as "Closed",
  111. T1."Task Type Code" as "Task Type Code",
  112. T1."Link No_" as "Link No",
  113. T1."Task Ledger Entry No_" as "Task Ledger Entry No",
  114. T1."Corrected" as "Corrected",
  115. T1."Starting Time" as "Starting Time",
  116. T1."Ending Time" as "Ending Time",
  117. T1."Duration" as "Duration",
  118. T1."Time Acquisition Posted" as "Time Acquisition Posted",
  119. T1."Branch Code" as "Branch Code",
  120. T1."Approved by User ID" as "Approved By User Id",
  121. T1."Approved" as "Approved",
  122. T1."Automatic Posting" as "Automatic Posting",
  123. T1."Subject to Approval" as "Subject To Approval",
  124. T1."Applied-to Entry No_" as "Applied-to Entry No",
  125. T1."Ledger Entry Origin" as "Ledger Entry Origin",
  126. T1."Correction Mode" as "Correction Mode",
  127. T1."Posting Time" as "Posting Time",
  128. T1."Service Advisor No_" as "Service Advisor No",
  129. T1."Resource Group No_" as "Resource Group No",
  130. T1."Tested" as "Tested",
  131. T1."Location Code" as "Location Code",
  132. T1."Leave" as "Leave",
  133. T1."Duration" as "Zeitdauer",
  134. T2."Code" as "Code",
  135. T2."Description" as "Description_Task_Type",
  136. T2."Task Statistic Group" as "Task Statistic Group",
  137. '1' as "Hauptbetrieb",
  138. CASE WHEN ((CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END) IN ('MONTEUR1','AZUBI 4','AZUBI 3','SPENG FL','AZUBI 1','AZUBI 2')) THEN ('00') WHEN ((CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END) = 'MONTEUR2') THEN ('02') WHEN ((T4."Filialcode" = '') and (not (CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END) IN ('MONTEUR1','AZUBI 4','AZUBI 3','SPENG FL','AZUBI 1','AZUBI 2','MONTEUR2'))) THEN ('00') ELSE (T4."Filialcode") END as "Standort",
  139. T3."No_" as "No",
  140. T3."Last Name" as "Last Name",
  141. T3."First Name" as "First Name",
  142. T3."First Name" + ' ' + T3."Last Name" as "Monteur",
  143. T1."Date" as "Datum",
  144. T3."Leaving Date" as "Leaving Date",
  145. T3."Group No_ 1" as "Group No 1",
  146. T3."Group No_ 2" as "Group No 2",
  147. T3."Group No_ 3" as "Group No 3",
  148. T3."Group No_ 1" as "Monteur_Gruppe_ori_alt",
  149. (day((now()) - T3."Leaving Date")) as "Tage Heute Leaving Date",
  150. CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END as "Monteur_Gruppe",
  151. CASE WHEN (T4."Global Dimension 1 Code" IN ('40','41','44','45')) THEN ('prod. Personal') ELSE ('unprod. Personal') END as "produktiv/unproduktiv",
  152. (convert(datetime, T1."Date" - cinterval(day(T1."Date") - 1))) as "Monatserster",
  153. (convert(datetime, lastday((T1."Date")))) as "Monatsletzter",
  154. (now()) as "Heute",
  155. CASE WHEN (((now())) BETWEEN ((convert(datetime, T1."Date" - cinterval(day(T1."Date") - 1)))) AND ((convert(datetime, lastday((T1."Date")))))) THEN (T1."Date") ELSE null END as "Datum Tagesbericht",
  156. T3."Employment Date" as "Employment Date",
  157. T4."Global Dimension 1 Code" + ' - ' + T5."Name" as "Kostenstelle",
  158. (CASE WHEN (T2."Code" IN ('W2')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('W6')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('W8')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('ABSCHLEPP')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('W1')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('HOLBRING')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('VERWALTUNG')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('SAMSTAG')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('KOA')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('EVENT')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('Z')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('W4')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('W3')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('B')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('ANW')) THEN (T1."Duration") ELSE (0) END) as "unproduktiv_alt",
  159. (CASE WHEN (T2."Code" IN ('SCHUL-EXT')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('KINDKRANK','KRANK','KRANK O L')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('ARZT')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('URLAUB','U-HALBN','U-HALBV')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('URL-SONDER')) THEN (T1."Duration") ELSE (0) END) + 0 + (CASE WHEN (T2."Code" IN ('ÜSTD-AUSGL')) THEN (T1."Duration") ELSE (0) END) + (CASE WHEN (T2."Code" IN ('RAUCHEN')) THEN (T1."Duration") ELSE (0) END) as "abwesend_ori",
  160. 0 as "Extern",
  161. 0 as "GWL",
  162. 0 as "Intern",
  163. T4."Filialcode" as "Filialcode_Employee",
  164. T4."Global Dimension 1 Code" as "Kostenstellencode_Employee",
  165. T5."Name" as "Name_Kostenstelle",
  166. '00' as "Betrieb",
  167. CASE WHEN (T4."Arbeitsvertragscode" IN ('AZUBI')) THEN ('AZUBI') WHEN (T4."Arbeitsvertragscode" IN ('MEIST')) THEN ('Meister') WHEN (T3."Task Type Group" = 'UNPROD') THEN ((CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END)) ELSE ('Monteur') END as "Monteur_Gruppe_2",
  168. T4."Arbeitsvertragscode" as "Arbeitsvertragscode",
  169. T3."Task Type Group" as "Task Type Group",
  170. T3."Task Type Group" as "Monteur_Gruppe_ori",
  171. T1."Date" as "Date",
  172. '1' as "Company_ID",
  173. '00' as "Department_ID",
  174. (CASE WHEN (T4."Arbeitsvertragscode" IN ('AZUBI')) THEN ('AZUBI') WHEN (T4."Arbeitsvertragscode" IN ('MEIST')) THEN ('Meister') WHEN (T3."Task Type Group" = 'UNPROD') THEN ((CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END)) ELSE ('Monteur') END) as "Mechanic_Group2",
  175. (T3."First Name" + ' ' + T3."Last Name") as "Mechanic",
  176. CASE WHEN ((CASE WHEN (T4."Global Dimension 1 Code" IN ('40','41','44','45')) THEN ('prod. Personal') ELSE ('unprod. Personal') END) = 'prod. Personal') THEN ('produktiv') ELSE ('unproduktiv') END as "Mechanic_Productive",
  177. (CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END) as "Mechanic_Group1",
  178. T1."Order No_" as "Order Number",
  179. CASE WHEN (T1."Task Type Code" IN ('AUFTRAG')) THEN ('produktiv') WHEN (T1."Task Type Code" IN ('ARZT','RAUCHEN','PAUSE')) THEN ('abwesend') WHEN (T1."Task Type Code" IN ('ANW','W1','W3','ABSCHLEPP','SERVICETAG','DIENSTGANG','W6','W8','HILF1','CHEFARBEIT','AU','W2','HILF7','HILF5','KURZ','DIAGNOSE','HILF3','HILF6','HILF2')) THEN ('unproduktiv') ELSE null END as "Activity_Codes_Group1",
  180. T1."Task Type Code" + ' - ' + T2."Description" as "Activity_Codes_Group2",
  181. (T1."Task Type Code" + ' - ' + T2."Description") as "Activity_Desc",
  182. CASE WHEN ((CASE WHEN (T4."Arbeitsvertragscode" IN ('AZUBI')) THEN ('AZUBI') WHEN (T4."Arbeitsvertragscode" IN ('MEIST')) THEN ('Meister') WHEN (T3."Task Type Group" = 'UNPROD') THEN ((CASE WHEN ((((day((now()) - T3."Leaving Date"))) > 0) and (T3."Leaving Date" <> convert(datetime, '1753-01-01 00:00:00.000'))) THEN ('ausgetretene Mitarbeiter') ELSE (T3."Group No_ 1") END)) ELSE ('Monteur') END) IN ('AZUBI')) THEN ('Azubi') ELSE ('Monteur') END as "Mechanic_Trainee",
  183. CASE WHEN ((CASE WHEN (T1."Task Type Code" IN ('AUFTRAG')) THEN ('produktiv') WHEN (T1."Task Type Code" IN ('ARZT','RAUCHEN','PAUSE')) THEN ('abwesend') WHEN (T1."Task Type Code" IN ('ANW','W1','W3','ABSCHLEPP','SERVICETAG','DIENSTGANG','W6','W8','HILF1','CHEFARBEIT','AU','W2','HILF7','HILF5','KURZ','DIAGNOSE','HILF3','HILF6','HILF2')) THEN ('unproduktiv') ELSE null END) = 'produktiv') THEN (T1."Duration") ELSE (0) END as "produktiv",
  184. CASE WHEN ((CASE WHEN (T1."Task Type Code" IN ('AUFTRAG')) THEN ('produktiv') WHEN (T1."Task Type Code" IN ('ARZT','RAUCHEN','PAUSE')) THEN ('abwesend') WHEN (T1."Task Type Code" IN ('ANW','W1','W3','ABSCHLEPP','SERVICETAG','DIENSTGANG','W6','W8','HILF1','CHEFARBEIT','AU','W2','HILF7','HILF5','KURZ','DIAGNOSE','HILF3','HILF6','HILF2')) THEN ('unproduktiv') ELSE null END) = 'unproduktiv') THEN (T1."Duration") ELSE (0) END as "unproduktiv",
  185. CASE WHEN ((CASE WHEN (T1."Task Type Code" IN ('AUFTRAG')) THEN ('produktiv') WHEN (T1."Task Type Code" IN ('ARZT','RAUCHEN','PAUSE')) THEN ('abwesend') WHEN (T1."Task Type Code" IN ('ANW','W1','W3','ABSCHLEPP','SERVICETAG','DIENSTGANG','W6','W8','HILF1','CHEFARBEIT','AU','W2','HILF7','HILF5','KURZ','DIAGNOSE','HILF3','HILF6','HILF2')) THEN ('unproduktiv') ELSE null END) = 'abwesend') THEN (T1."Duration") ELSE (0) END as "abwesend",
  186. CASE WHEN (T2."Code" = 'TOY') THEN (T1."Duration") ELSE (0) END as "TOY_produktiv_Zeit"
  187. from (("CARLO"."import"."Task_Acquisition_Ledger_Entry" T1 left outer join "CARLO"."import"."Task_Type" T2 on (T1."Task Type Code" = T2."Code") and (T1."Client_DB" = T2."Client_DB")) left outer join "CARLO"."import"."Employee_T" T3 on (T3."No_" = T1."Employee No_") and (T3."Client_DB" = T1."Client_DB")),
  188. ("CARLO"."import"."Employee" T4 left outer join "CARLO"."import"."Kostenstelle" T5 on (T4."Global Dimension 1 Code" = T5."Code") and (T4."Client_DB" = T5."Client_DB"))
  189. where ((T4."Nr_" = T3."No_") and (T4."Client_DB" = T3."Client_DB"))
  190. and (((((((T1."Sorting" = 1) and (T1."Corrected" = 0)) and (T1."Date" >= T3."Employment Date")) and ((od_year(T1."Date")) >= (od_year((now()))) - 2)) and (T3."Group No_ 1" IN ('AZUBI','MEISTER','MONTEUR','ANG','SB','VK'))) and (not T1."Task Type Code" IN ('PAUSE'))) and ((CASE WHEN (((T3."First Name" + ' ' + T3."Last Name") = 'Udo Litzinger') and (T1."Date" >= convert(datetime, '2018-01-01 00:00:00.000'))) THEN ('raus') ELSE ('rein') END) = 'rein'))
  191. -- order by "Employee No" asc,"Date_ori" asc
  192. ) D1