Time_Clock_Entry.sql 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. SELECT T1."Entry No_" AS "Entry No",
  2. T1."Employee No_" AS "Employee No",
  3. T1."Resource No_" AS "Resource No",
  4. T1."Address No_" AS "Address No",
  5. T1."Date" AS "Date",
  6. T1."Time" AS "Time",
  7. T1."Sorting" AS "Sorting",
  8. (convert(FLOAT, T1."Duration")) AS "Duration",
  9. T1."Task Type Code" AS "Task Type Code",
  10. T1."Type" AS "Type",
  11. T1."Linked to Entry No_" AS "Linked To Entry No",
  12. T1."Leaving" AS "Leaving",
  13. T1."Service Order No_" AS "Service Order No",
  14. T1."Service Job No_" AS "Service Job No",
  15. T1."Service Line No_" AS "Service Line No",
  16. T1."Labor Standard Time Type" AS "Labor Standard Time Type",
  17. T1."Approved" AS "Approved",
  18. T1."Approved by Employee No_" AS "Approved By Employee No",
  19. T1."Approval Timestamp" AS "Approval Timestamp",
  20. T1."Canceled" AS "Canceled",
  21. T1."Canceled by User ID" AS "Canceled By User Id",
  22. T1."Cancelation Timestamp" AS "Cancelation Timestamp",
  23. T1."Created by User ID" AS "Created By User Id",
  24. T1."Creation Timestamp" AS "Creation Timestamp",
  25. T1."Productive" AS "Productive",
  26. T1."Statistics Group" AS "Statistics Group",
  27. T1."Considered as Working" AS "Considered As Working",
  28. T1."Order Location Code" AS "Order Location Code",
  29. T1."Resource Location Code" AS "Resource Location Code",
  30. T1."Make Code" AS "Make Code",
  31. T1."Branch Code" AS "Branch Code",
  32. T1."Labor No_" AS "Labor No",
  33. T1."Description" AS "Description",
  34. T1."Source Code" AS "Source Code",
  35. CASE
  36. WHEN (
  37. ((convert(FLOAT, T1."Efficiency _")) = 0)
  38. AND (T2."Efficiency" <> 0)
  39. )
  40. THEN (T2."Efficiency")
  41. ELSE ((convert(FLOAT, T1."Efficiency _")))
  42. END AS "Efficiency",
  43. T1."Automatic" AS "Automatic",
  44. T1."Passed" AS "Passed",
  45. T3."CODE" AS "Code_Task_Type",
  46. T3."DESCRIPTION" AS "Description_Task_Type",
  47. T4."No_" AS "No_Employee_T",
  48. T4."Name" AS "Name_Employee_T",
  49. T4."Last Name" AS "Last Name_Employee_T",
  50. T4."First Name" AS "First Name_Employee_T",
  51. T4."Group No_ 1" AS "Group No 1_Employee_T",
  52. T4."Group No_ 2" AS "Group No 2_Employee_T",
  53. T4."Group No_ 3" AS "Group No 3_Employee_T",
  54. T4."Leaving Date" AS "Leaving Date_Employee_T",
  55. CASE
  56. WHEN (T5."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  57. THEN ('prod. Personal')
  58. ELSE ('unprod. Personal')
  59. END AS "produktiv/unproduktiv",
  60. CASE
  61. WHEN (T4."Last Name" = 'Silberbauer')
  62. THEN ('Leonhard Silberbauer')
  63. WHEN (T4."Last Name" = 'Liebick')
  64. THEN ('Lukas Jonathan Josef Liebick')
  65. ELSE (T4."First Name" + ' ' + T4."Last Name")
  66. END AS "Monteur",
  67. T5."Function Code" AS "Monteur_Gruppe_ori",
  68. (- 1 * datediff(day, (getdate()), T4."Leaving Date")) AS "Tage Heute Leaving Date",
  69. CASE
  70. WHEN (
  71. (T4."Leaving Date" < (getdate()))
  72. AND (T4."Leaving Date" <> convert(DATETIME, '1753-01-01 00:00:00.000'))
  73. )
  74. THEN ('ausgetretene Mitarbeiter')
  75. ELSE (T5."Function Code")
  76. END AS "Monteur_Gruppe_2",
  77. (
  78. (
  79. CASE
  80. WHEN (
  81. (T1."Employee No_" IN ('0382', '0378'))
  82. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  83. )
  84. THEN (convert(DATE, '1900-01-01'))
  85. ELSE (T1."Date")
  86. END
  87. )
  88. ) AS "Datum",
  89. (
  90. convert(DATETIME, (
  91. (
  92. (
  93. CASE
  94. WHEN (
  95. (T1."Employee No_" IN ('0382', '0378'))
  96. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  97. )
  98. THEN (convert(DATE, '1900-01-01'))
  99. ELSE (T1."Date")
  100. END
  101. )
  102. )
  103. ) - cinterval(day((
  104. (
  105. (
  106. CASE
  107. WHEN (
  108. (T1."Employee No_" IN ('0382', '0378'))
  109. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  110. )
  111. THEN (convert(DATE, '1900-01-01'))
  112. ELSE (T1."Date")
  113. END
  114. )
  115. )
  116. )) - 1))
  117. ) AS "Monatserster",
  118. (
  119. convert(DATETIME, eomonth((
  120. (
  121. (
  122. (
  123. CASE
  124. WHEN (
  125. (T1."Employee No_" IN ('0382', '0378'))
  126. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  127. )
  128. THEN (convert(DATE, '1900-01-01'))
  129. ELSE (T1."Date")
  130. END
  131. )
  132. )
  133. )
  134. )))
  135. ) AS "Monatsletzter",
  136. (getdate()) - 1 AS "Heute",
  137. CASE
  138. WHEN (
  139. ((getdate()) - 1) BETWEEN (
  140. (
  141. convert(DATETIME, (
  142. (
  143. (
  144. CASE
  145. WHEN (
  146. (T1."Employee No_" IN ('0382', '0378'))
  147. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  148. )
  149. THEN (convert(DATE, '1900-01-01'))
  150. ELSE (T1."Date")
  151. END
  152. )
  153. )
  154. ) - cinterval(day((
  155. (
  156. (
  157. CASE
  158. WHEN (
  159. (T1."Employee No_" IN ('0382', '0378'))
  160. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  161. )
  162. THEN (convert(DATE, '1900-01-01'))
  163. ELSE (T1."Date")
  164. END
  165. )
  166. )
  167. )) - 1))
  168. )
  169. ) AND (
  170. (
  171. convert(DATETIME, eomonth((
  172. (
  173. (
  174. (
  175. CASE
  176. WHEN (
  177. (T1."Employee No_" IN ('0382', '0378'))
  178. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  179. )
  180. THEN (convert(DATE, '1900-01-01'))
  181. ELSE (T1."Date")
  182. END
  183. )
  184. )
  185. )
  186. )))
  187. )
  188. )
  189. )
  190. THEN (
  191. (
  192. (
  193. (
  194. CASE
  195. WHEN (
  196. (T1."Employee No_" IN ('0382', '0378'))
  197. AND (T1."Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  198. )
  199. THEN (convert(DATE, '1900-01-01'))
  200. ELSE (T1."Date")
  201. END
  202. )
  203. )
  204. )
  205. )
  206. ELSE NULL
  207. END AS "Datum Tagesbericht",
  208. '1' AS "Hauptbetrieb_ID",
  209. CASE
  210. WHEN ((left(T4."Department No_", 2)) = '10')
  211. THEN ('LBS')
  212. WHEN ((left(T4."Department No_", 2)) = '20')
  213. THEN ('WLS')
  214. ELSE NULL
  215. END AS "Standort",
  216. CASE
  217. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  218. THEN (((convert(FLOAT, T1."Duration"))))
  219. ELSE (0)
  220. END AS "prod.",
  221. CASE
  222. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'W-var. Std.')
  223. THEN (((convert(FLOAT, T1."Duration"))))
  224. ELSE (0)
  225. END AS "unprod.",
  226. CASE
  227. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'W-fix Std.')
  228. THEN (((convert(FLOAT, T1."Duration"))))
  229. ELSE (0)
  230. END AS "Abw.",
  231. (
  232. CASE
  233. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  234. THEN (((convert(FLOAT, T1."Duration"))))
  235. ELSE (0)
  236. END
  237. ) * (
  238. (
  239. CASE
  240. WHEN (
  241. ((convert(FLOAT, T1."Efficiency _")) = 0)
  242. AND (T2."Efficiency" <> 0)
  243. )
  244. THEN (T2."Efficiency")
  245. ELSE ((convert(FLOAT, T1."Efficiency _")))
  246. END
  247. ) / 100
  248. ) AS "produktiv_f�r_Berechnung_LG",
  249. CASE
  250. WHEN (T3."ACTIVITY_DESC" IN ('243 - Servicemobil'))
  251. THEN (((convert(FLOAT, T1."Duration"))))
  252. ELSE (0)
  253. END AS "Servicemobil",
  254. CASE
  255. WHEN (T3."ACTIVITY_DESC" = '319 - Krankheit')
  256. THEN (((convert(FLOAT, T1."Duration"))))
  257. ELSE (0)
  258. END AS "krank",
  259. CASE
  260. WHEN (T3."ACTIVITY_DESC" IN ('242 - Meistervertretung Werkstatt', '244 - Meistervertretung Serviceberater'))
  261. THEN (((convert(FLOAT, T1."Duration"))))
  262. ELSE (0)
  263. END AS "Meistervertr.",
  264. T3."ACTIVITY_DESC" AS "Activity_Desc",
  265. CASE
  266. WHEN ((left(T4."Department No_", 2)) = '10')
  267. THEN ('10')
  268. WHEN ((left(T4."Department No_", 2)) = '20')
  269. THEN ('20')
  270. ELSE NULL
  271. END AS "Standort_ID",
  272. (
  273. CASE
  274. WHEN (T5."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  275. THEN ('prod. Personal')
  276. ELSE ('unprod. Personal')
  277. END
  278. ) AS "Monteur_Gruppe",
  279. T4."Department No_" AS "Department No",
  280. T1."Service Order No_" AS "Order Number",
  281. T5."Task Type Group" AS "Task Type Group",
  282. CASE
  283. WHEN (T3."ACTIVITY_DESC" = '111 - Auftrag extern AW')
  284. THEN (
  285. (
  286. CASE
  287. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  288. THEN (((convert(FLOAT, T1."Duration"))))
  289. ELSE (0)
  290. END
  291. )
  292. )
  293. ELSE (0)
  294. END AS "Extern",
  295. CASE
  296. WHEN (T3."ACTIVITY_DESC" = '150 - Auftrag intern AW')
  297. THEN (
  298. (
  299. CASE
  300. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  301. THEN (((convert(FLOAT, T1."Duration"))))
  302. ELSE (0)
  303. END
  304. )
  305. )
  306. ELSE (0)
  307. END AS "Intern"
  308. FROM "ims"."Resource_ims" T2,
  309. (
  310. (
  311. (
  312. "Vogl7x"."dbo"."BMW AH Vogl$Time Clock Entry" T1 LEFT JOIN "ims"."Zuordnung_Task_Type" T3 ON T3."CODE" = T1."Task Type Code"
  313. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Employee_T" T4 ON T1."Employee No_" = T4."No_"
  314. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Employee" T5 ON T1."Resource No_" = T5."No_"
  315. )
  316. WHERE (T1."Resource No_" = T2."No_")
  317. AND (
  318. (
  319. (
  320. (
  321. (T1."Sorting" = 0)
  322. AND (T1."Canceled" = 0)
  323. )
  324. AND (T1."Date" >= convert(DATETIME, '2020-01-01 00:00:00.000'))
  325. )
  326. AND (
  327. (
  328. CASE
  329. WHEN (T5."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  330. THEN ('prod. Personal')
  331. ELSE ('unprod. Personal')
  332. END
  333. ) = 'prod. Personal'
  334. )
  335. )
  336. AND (NOT T3."CODE" IN ('312'))
  337. )
  338. -- order by "Resource No" asc,"Date" asc