Zeit_2_Ryma.sql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. SELECT T1."Employee No_" AS "Employee No",
  2. (
  3. (
  4. CASE
  5. WHEN (
  6. (T1."Employee No_" IN ('0382', '0378'))
  7. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  8. )
  9. THEN (convert(DATE, '1900-01-01'))
  10. ELSE (T1."Current Date")
  11. END
  12. )
  13. ) AS "Datum",
  14. T1."Department No_" AS "Department No_ori",
  15. T1."Time Account No_" AS "Time Account No",
  16. T1."Time Account Value" AS "Time Account Value",
  17. T1."TA Class (General)" AS "Ta Class (general)",
  18. T1."TA Class (Statistics)" AS "Ta Class (statistics)",
  19. T1."TA Class (Absent Days)" AS "Ta Class (absent Days)",
  20. T1."TA Class (Time Processing)" AS "Ta Class (time Processing)",
  21. T1."TA Class (Individual)" AS "Ta Class (individual)",
  22. T1."TA Class (Employee Info)" AS "Ta Class (employee Info)",
  23. T1."TA Class (Vacation Reduction)" AS "Ta Class (vacation Reduction)",
  24. T1."TA Formatting" AS "Ta Formatting",
  25. T1."Generating Function" AS "Generating Function",
  26. T1."Record protected" AS "Record Protected",
  27. T2."No_" AS "No",
  28. T2."Description" AS "Description",
  29. T2."Description 2" AS "Description 2",
  30. (convert(FLOAT, T1."Time Account Value")) AS "Zeitdauer",
  31. CASE
  32. WHEN (T2."No_" IN (100))
  33. THEN (((convert(FLOAT, T1."Time Account Value"))))
  34. ELSE (0)
  35. END AS "gesamt Stunden",
  36. CASE
  37. WHEN (T2."No_" IN (370, 371, 372))
  38. THEN (((convert(FLOAT, T1."Time Account Value"))))
  39. ELSE (0)
  40. END AS "krank",
  41. CASE
  42. WHEN (T2."No_" = 379)
  43. THEN (((convert(FLOAT, T1."Time Account Value"))))
  44. ELSE (0)
  45. END AS "Wehr- /Zivildienst",
  46. CASE
  47. WHEN (T2."No_" = 352)
  48. THEN (((convert(FLOAT, T1."Time Account Value"))))
  49. ELSE (0)
  50. END AS "Sonderurlaub",
  51. CASE
  52. WHEN (T2."No_" = 354)
  53. THEN (((convert(FLOAT, T1."Time Account Value"))))
  54. ELSE (0)
  55. END AS "Berufsschule",
  56. 0 AS "Innung Azubi",
  57. CASE
  58. WHEN (T2."No_" = 450)
  59. THEN (((convert(FLOAT, T1."Time Account Value"))))
  60. ELSE (0)
  61. END AS "Feiertag",
  62. CASE
  63. WHEN (T2."No_" = 355)
  64. THEN (((convert(FLOAT, T1."Time Account Value"))))
  65. ELSE (0)
  66. END AS "Schulung extern",
  67. CASE
  68. WHEN (T2."No_" IN (350, 351))
  69. THEN (((convert(FLOAT, T1."Time Account Value"))))
  70. ELSE (0)
  71. END AS "Urlaub",
  72. (
  73. CASE
  74. WHEN (T2."No_" IN (370, 371, 372))
  75. THEN (((convert(FLOAT, T1."Time Account Value"))))
  76. ELSE (0)
  77. END
  78. ) + (
  79. CASE
  80. WHEN (T2."No_" = 379)
  81. THEN (((convert(FLOAT, T1."Time Account Value"))))
  82. ELSE (0)
  83. END
  84. ) + (
  85. CASE
  86. WHEN (T2."No_" = 352)
  87. THEN (((convert(FLOAT, T1."Time Account Value"))))
  88. ELSE (0)
  89. END
  90. ) + (
  91. CASE
  92. WHEN (T2."No_" = 354)
  93. THEN (((convert(FLOAT, T1."Time Account Value"))))
  94. ELSE (0)
  95. END
  96. ) + 0 + (
  97. CASE
  98. WHEN (T2."No_" = 450)
  99. THEN (((convert(FLOAT, T1."Time Account Value"))))
  100. ELSE (0)
  101. END
  102. ) + (
  103. CASE
  104. WHEN (T2."No_" = 355)
  105. THEN (((convert(FLOAT, T1."Time Account Value"))))
  106. ELSE (0)
  107. END
  108. ) + (
  109. CASE
  110. WHEN (T2."No_" IN (350, 351))
  111. THEN (((convert(FLOAT, T1."Time Account Value"))))
  112. ELSE (0)
  113. END
  114. ) + (
  115. CASE
  116. WHEN (T2."No_" IN (300, 301))
  117. THEN (((convert(FLOAT, T1."Time Account Value"))))
  118. ELSE (0)
  119. END
  120. ) AS "W-fix Stunden",
  121. '1' AS "Hauptbetrieb_ID",
  122. CASE
  123. WHEN ((left(T3."Department No_", 2)) = '10')
  124. THEN ('LBS')
  125. WHEN ((left(T3."Department No_", 2)) = '20')
  126. THEN ('WLS')
  127. ELSE NULL
  128. END AS "Standort",
  129. T4."First Name" AS "First Name",
  130. T4."Last Name" AS "Last Name",
  131. T3."Group No_ 2" AS "Monteur_Gruppe_ori",
  132. '' AS "Abteilung",
  133. '' AS "Order Number",
  134. T4."First Name" + ' ' + T4."Last Name" AS "Monteur",
  135. CASE
  136. WHEN (T2."No_" IN (378))
  137. THEN (((convert(FLOAT, T1."Time Account Value"))))
  138. ELSE (0)
  139. END AS "Zeitausgleich",
  140. CASE
  141. WHEN (T2."No_" IN (200))
  142. THEN (((convert(FLOAT, T1."Time Account Value"))))
  143. ELSE (0)
  144. END AS "�berstunden",
  145. T3."Leaving Date" AS "Leaving Date",
  146. T3."Group No_ 1" AS "Group No 1",
  147. T3."Group No_ 2" AS "Group No 2",
  148. T3."Group No_ 3" AS "Group No 3",
  149. (- 1 * datediff(day, (getdate()), T3."Leaving Date")) AS "Tage Heute Leaving Date",
  150. CASE
  151. WHEN (
  152. (T3."Leaving Date" < (getdate()))
  153. AND (T3."Leaving Date" <> convert(DATETIME, '1753-01-01 00:00:00.000'))
  154. )
  155. THEN ('ausgetretene Mitarbeiter')
  156. ELSE (
  157. (
  158. CASE
  159. WHEN (T4."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  160. THEN ('prod. Personal')
  161. ELSE ('unprod. Personal')
  162. END
  163. )
  164. )
  165. END AS "Monteur_Gruppe",
  166. CASE
  167. WHEN (T4."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  168. THEN ('prod. Personal')
  169. ELSE ('unprod. Personal')
  170. END AS "produktiv/unproduktiv",
  171. (
  172. convert(DATETIME, (
  173. (
  174. (
  175. CASE
  176. WHEN (
  177. (T1."Employee No_" IN ('0382', '0378'))
  178. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  179. )
  180. THEN (convert(DATE, '1900-01-01'))
  181. ELSE (T1."Current Date")
  182. END
  183. )
  184. )
  185. ) - cinterval(day((
  186. (
  187. (
  188. CASE
  189. WHEN (
  190. (T1."Employee No_" IN ('0382', '0378'))
  191. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  192. )
  193. THEN (convert(DATE, '1900-01-01'))
  194. ELSE (T1."Current Date")
  195. END
  196. )
  197. )
  198. )) - 1))
  199. ) AS "Monatserster",
  200. (
  201. convert(DATETIME, eomonth((
  202. (
  203. (
  204. (
  205. CASE
  206. WHEN (
  207. (T1."Employee No_" IN ('0382', '0378'))
  208. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  209. )
  210. THEN (convert(DATE, '1900-01-01'))
  211. ELSE (T1."Current Date")
  212. END
  213. )
  214. )
  215. )
  216. )))
  217. ) AS "Monatsletzter",
  218. (getdate()) - 1 AS "Heute",
  219. CASE
  220. WHEN (
  221. ((getdate()) - 1) BETWEEN (
  222. (
  223. convert(DATETIME, (
  224. (
  225. (
  226. CASE
  227. WHEN (
  228. (T1."Employee No_" IN ('0382', '0378'))
  229. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  230. )
  231. THEN (convert(DATE, '1900-01-01'))
  232. ELSE (T1."Current Date")
  233. END
  234. )
  235. )
  236. ) - cinterval(day((
  237. (
  238. (
  239. CASE
  240. WHEN (
  241. (T1."Employee No_" IN ('0382', '0378'))
  242. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  243. )
  244. THEN (convert(DATE, '1900-01-01'))
  245. ELSE (T1."Current Date")
  246. END
  247. )
  248. )
  249. )) - 1))
  250. )
  251. ) AND (
  252. (
  253. convert(DATETIME, eomonth((
  254. (
  255. (
  256. (
  257. CASE
  258. WHEN (
  259. (T1."Employee No_" IN ('0382', '0378'))
  260. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  261. )
  262. THEN (convert(DATE, '1900-01-01'))
  263. ELSE (T1."Current Date")
  264. END
  265. )
  266. )
  267. )
  268. )))
  269. )
  270. )
  271. )
  272. THEN (
  273. (
  274. (
  275. (
  276. CASE
  277. WHEN (
  278. (T1."Employee No_" IN ('0382', '0378'))
  279. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  280. )
  281. THEN (convert(DATE, '1900-01-01'))
  282. ELSE (T1."Current Date")
  283. END
  284. )
  285. )
  286. )
  287. )
  288. ELSE NULL
  289. END AS "Datum Tagesbericht",
  290. T4."Employment Date" AS "Employment Date",
  291. T3."Department No_" AS "Department No_2",
  292. CASE
  293. WHEN (
  294. (
  295. - 1 * datediff(day, (getdate()), (
  296. (
  297. (
  298. CASE
  299. WHEN (
  300. (T1."Employee No_" IN ('0382', '0378'))
  301. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  302. )
  303. THEN (convert(DATE, '1900-01-01'))
  304. ELSE (T1."Current Date")
  305. END
  306. )
  307. )
  308. ))
  309. ) <= 93
  310. )
  311. THEN (
  312. (
  313. (
  314. (
  315. CASE
  316. WHEN (
  317. (T1."Employee No_" IN ('0382', '0378'))
  318. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  319. )
  320. THEN (convert(DATE, '1900-01-01'))
  321. ELSE (T1."Current Date")
  322. END
  323. )
  324. )
  325. )
  326. )
  327. ELSE NULL
  328. END AS "Datum_Monteurlisten",
  329. CASE
  330. WHEN (T2."No_" IN (300, 301))
  331. THEN (((convert(FLOAT, T1."Time Account Value"))))
  332. ELSE (0)
  333. END AS "Fehlzeiten genehm./ungenem.",
  334. (rtrim((((T2."No_"))))) + ' - ' + T2."Description" AS "Activity Desc",
  335. T4."Function Code" AS "Monteur_Gruppe_2",
  336. CASE
  337. WHEN ((left(T3."Department No_", 2)) = '10')
  338. THEN ('10')
  339. WHEN ((left(T3."Department No_", 2)) = '20')
  340. THEN ('20')
  341. ELSE NULL
  342. END AS "Standort_ID",
  343. T3."Department No_" AS "Department No",
  344. T4."Task Type Group" AS "Task Type Group",
  345. CASE
  346. WHEN (T1."Time Account No_" = '1200')
  347. THEN (((convert(FLOAT, T1."Time Account Value"))))
  348. ELSE (0)
  349. END AS "Sollzeit",
  350. CASE
  351. WHEN (T1."Time Account No_" BETWEEN '299' AND '450')
  352. THEN (((convert(FLOAT, T1."Time Account Value"))))
  353. ELSE (0)
  354. END AS "abwesend"
  355. FROM "Vogl7x"."dbo"."BMW AH Vogl$Employee_T" T3,
  356. (
  357. (
  358. "Vogl7x"."dbo"."BMW AH Vogl$Time Entry_T" T1 LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Time Account_T" T2 ON T1."Time Account No_" = (((T2."No_")))
  359. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Employee" T4 ON T1."Employee No_" = T4."No_"
  360. )
  361. WHERE (T4."No_" = T3."No_")
  362. AND (
  363. (
  364. (
  365. (
  366. (
  367. (
  368. (
  369. (
  370. CASE
  371. WHEN (
  372. (T1."Employee No_" IN ('0382', '0378'))
  373. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  374. )
  375. THEN (convert(DATE, '1900-01-01'))
  376. ELSE (T1."Current Date")
  377. END
  378. )
  379. )
  380. ) >= T4."Employment Date"
  381. )
  382. AND (
  383. (
  384. (
  385. (
  386. CASE
  387. WHEN (
  388. (T1."Employee No_" IN ('0382', '0378'))
  389. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  390. )
  391. THEN (convert(DATE, '1900-01-01'))
  392. ELSE (T1."Current Date")
  393. END
  394. )
  395. )
  396. ) >= convert(DATE, '2020-01-01')
  397. )
  398. )
  399. AND (
  400. (
  401. (
  402. (
  403. CASE
  404. WHEN (
  405. (T1."Employee No_" IN ('0382', '0378'))
  406. AND (T1."Current Date" <= convert(DATETIME, '2019-02-22 00:00:00.000'))
  407. )
  408. THEN (convert(DATE, '1900-01-01'))
  409. ELSE (T1."Current Date")
  410. END
  411. )
  412. )
  413. ) <= (getdate())
  414. )
  415. )
  416. AND (
  417. (
  418. CASE
  419. WHEN (T4."Task Type Group" IN ('LEHRLINGE', 'MEISTER', 'MONTEURE'))
  420. THEN ('prod. Personal')
  421. ELSE ('unprod. Personal')
  422. END
  423. ) = 'prod. Personal'
  424. )
  425. )
  426. AND (
  427. (T1."Time Account No_" BETWEEN '299' AND '450')
  428. OR (T1."Time Account No_" = '1200')
  429. )
  430. )
  431. -- order by "Datum" asc,"Employee No" asc