Time_Clock_Entry.sql 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  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."Function Code" IN ('AZUBI', 'MECH', 'SERVHILF', 'SERVTECH', 'WAGENPFLEG', 'WERKMEI'))
  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. (left(T4."Department No_", 2)) AS "Standort",
  210. CASE
  211. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  212. THEN (((convert(FLOAT, T1."Duration"))))
  213. ELSE (0)
  214. END AS "prod.",
  215. CASE
  216. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'W-var. Std.')
  217. THEN (((convert(FLOAT, T1."Duration"))))
  218. ELSE (0)
  219. END AS "unprod.",
  220. CASE
  221. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'W-fix Std.')
  222. THEN (((convert(FLOAT, T1."Duration"))))
  223. ELSE (0)
  224. END AS "Abw.",
  225. (
  226. CASE
  227. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  228. THEN (((convert(FLOAT, T1."Duration"))))
  229. ELSE (0)
  230. END
  231. ) * (
  232. (
  233. CASE
  234. WHEN (
  235. ((convert(FLOAT, T1."Efficiency _")) = 0)
  236. AND (T2."Efficiency" <> 0)
  237. )
  238. THEN (T2."Efficiency")
  239. ELSE ((convert(FLOAT, T1."Efficiency _")))
  240. END
  241. ) / 100
  242. ) AS "produktiv_f�r_Berechnung_LG",
  243. CASE
  244. WHEN (T3."ACTIVITY_DESC" IN ('243 - Servicemobil'))
  245. THEN (((convert(FLOAT, T1."Duration"))))
  246. ELSE (0)
  247. END AS "Servicemobil",
  248. CASE
  249. WHEN (T3."ACTIVITY_DESC" = '319 - Krankheit')
  250. THEN (((convert(FLOAT, T1."Duration"))))
  251. ELSE (0)
  252. END AS "krank",
  253. CASE
  254. WHEN (T3."ACTIVITY_DESC" IN ('242 - Meistervertretung Werkstatt', '244 - Meistervertretung Serviceberater'))
  255. THEN (((convert(FLOAT, T1."Duration"))))
  256. ELSE (0)
  257. END AS "Meistervertr.",
  258. T3."ACTIVITY_DESC" AS "Activity_Desc",
  259. (left(T4."Department No_", 2)) AS "Standort_ID",
  260. (
  261. CASE
  262. WHEN (T5."Function Code" IN ('AZUBI', 'MECH', 'SERVHILF', 'SERVTECH', 'WAGENPFLEG', 'WERKMEI'))
  263. THEN ('prod. Personal')
  264. ELSE ('unprod. Personal')
  265. END
  266. ) AS "Monteur_Gruppe",
  267. T4."Department No_" AS "Department No",
  268. T1."Service Order No_" AS "Order Number",
  269. T5."Task Type Group" AS "Task Type Group",
  270. CASE
  271. WHEN (T3."ACTIVITY_DESC" = '111 - Auftrag extern AW')
  272. THEN (
  273. (
  274. CASE
  275. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  276. THEN (((convert(FLOAT, T1."Duration"))))
  277. ELSE (0)
  278. END
  279. )
  280. )
  281. ELSE (0)
  282. END AS "Extern",
  283. CASE
  284. WHEN (T3."ACTIVITY_DESC" = '150 - Auftrag intern AW')
  285. THEN (
  286. (
  287. CASE
  288. WHEN (T3."ACTIVITY_CODES_GROUP1" = 'prod.')
  289. THEN (((convert(FLOAT, T1."Duration"))))
  290. ELSE (0)
  291. END
  292. )
  293. )
  294. ELSE (0)
  295. END AS "Intern",
  296. T5."Home Page 2" AS "Home Page 2",
  297. (convert(VARCHAR(50), year(T5."Employment Date")) + '-' + convert(VARCHAR(50), month(T5."Employment Date")) + '-' + convert(VARCHAR(50), day(T5."Employment Date"))) AS "Employment Date"
  298. FROM "ims"."Resource_ims" T2,
  299. (
  300. (
  301. (
  302. "Gottstein7x"."dbo"."AH Gottstein$Time Clock Entry" T1 LEFT JOIN "ims"."Zuordnung_Task_Type" T3 ON T3."CODE" = T1."Task Type Code"
  303. ) LEFT JOIN "Gottstein7x"."dbo"."AH Gottstein$Employee_T" T4 ON T1."Employee No_" = T4."No_"
  304. ) LEFT JOIN "Gottstein7x"."dbo"."AH Gottstein$Employee" T5 ON T1."Resource No_" = T5."No_"
  305. )
  306. WHERE (T1."Resource No_" = T2."No_")
  307. AND (
  308. (
  309. (
  310. (
  311. (T1."Sorting" = 0)
  312. AND (T1."Canceled" = 0)
  313. )
  314. AND (T1."Date" >= convert(DATETIME, '2022-01-01 00:00:00.000'))
  315. )
  316. AND (
  317. (
  318. CASE
  319. WHEN (T5."Function Code" IN ('AZUBI', 'MECH', 'SERVHILF', 'SERVTECH', 'WAGENPFLEG', 'WERKMEI'))
  320. THEN ('prod. Personal')
  321. ELSE ('unprod. Personal')
  322. END
  323. ) IN ('prod. Personal', 'unprod. Personal')
  324. )
  325. )
  326. AND (NOT T3."CODE" IN ('312'))
  327. )
  328. -- order by "Resource No" asc,"Date" asc