Zeit_Abwesenheit_neu.sql 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. select "Employee Number_Employees" as "Employee Number_Employees",
  2. "Name_Employees" as "Name_Employees",
  3. "Initials_Employees" as "Initials_Employees",
  4. "Mechanic Number_Employees" as "Mechanic Number_Employees",
  5. "Salesman Number_Employees" as "Salesman Number_Employees",
  6. "Employment Date_Employees" as "Employment Date_Employees",
  7. "Termination Date_Employees" as "Termination Date_Employees",
  8. "Leave Date_Employees" as "Leave Date_Employees",
  9. "Employee Number_Absence_Cal" as "Employee Number_Absence_Cal",
  10. "Date_Absence_Cal" as "Date_Absence_Cal",
  11. "Type_Absence_Cal" as "Type_Absence_Cal",
  12. "Is Payed_Absence_Cal" as "Is Payed_Absence_Cal",
  13. "Day Contingent_Absence_Cal" as "Day Contingent_Absence_Cal",
  14. "Reason_Absence_Cal" as "Reason_Absence_Cal",
  15. "Booking Flag_Absence_Cal" as "Booking Flag_Absence_Cal",
  16. "Id_Absence_Reas" as "Id_Absence_Reas",
  17. "Description_Absence_Reas" as "Description_Absence_Reas",
  18. "Is Annual Vacation_Absence_Reas" as "Is Annual Vacation_Absence_Reas",
  19. "Type_Absence_Types" as "Type_Absence_Types",
  20. "Description_Absence_Types" as "Description_Absence_Types",
  21. "Hauptbetrieb" as "Hauptbetrieb",
  22. "Standort" as "Standort",
  23. "Monteur" as "Monteur",
  24. "Dummy_Arbeitszeit_Tag" as "Dummy_Arbeitszeit_Tag",
  25. "Abwesenheit" as "Abwesenheit",
  26. "Zeitkategorie" as "Zeitkategorie",
  27. "Zeitkategorie2" as "Zeitkategorie2",
  28. "Ges. Std." as "Ges. Std.",
  29. "Datum" as "Datum",
  30. "Order Number" as "Order Number",
  31. "Wochentag_Datum" as "Wochentag_Datum",
  32. "Validity Date_Worktimes" as "Validity Date_Worktimes",
  33. "Dayofweek_Worktimes" as "Dayofweek_Worktimes",
  34. "Work Duration_Worktimes" as "Work Duration_Worktimes",
  35. "Worktime Start_Worktimes" as "Worktime Start_Worktimes",
  36. "Worktime End_Worktimes" as "Worktime End_Worktimes",
  37. MAX("Validity Date_Worktimes") OVER (partition by "Employee Number_Employees") as "Max_Validity_Date_Worktimes",
  38. "Arbeitszeit_Tag" as "Arbeitszeit_Tag"
  39. from
  40. (select c42 as "Employee Number_Employees",
  41. c72 as "Name_Employees",
  42. c71 as "Initials_Employees",
  43. c70 as "Mechanic Number_Employees",
  44. c69 as "Salesman Number_Employees",
  45. c68 as "Employment Date_Employees",
  46. c67 as "Termination Date_Employees",
  47. c66 as "Leave Date_Employees",
  48. c65 as "Employee Number_Absence_Cal",
  49. c49 as "Date_Absence_Cal",
  50. c64 as "Type_Absence_Cal",
  51. c63 as "Is Payed_Absence_Cal",
  52. c62 as "Day Contingent_Absence_Cal",
  53. c61 as "Reason_Absence_Cal",
  54. c60 as "Booking Flag_Absence_Cal",
  55. c59 as "Id_Absence_Reas",
  56. c58 as "Description_Absence_Reas",
  57. c57 as "Is Annual Vacation_Absence_Reas",
  58. c56 as "Type_Absence_Types",
  59. c55 as "Description_Absence_Types",
  60. c54 as "Hauptbetrieb",
  61. c53 as "Standort",
  62. c52 as "Monteur",
  63. 8 as "Dummy_Arbeitszeit_Tag",
  64. c50 as "Abwesenheit",
  65. 'Abwesenheit' as "Zeitkategorie",
  66. c51 as "Zeitkategorie2",
  67. c50 as "Ges. Std.",
  68. c49 as "Datum",
  69. '' as "Order Number",
  70. c48 as "Wochentag_Datum",
  71. c47 as "Validity Date_Worktimes",
  72. c46 as "Dayofweek_Worktimes",
  73. c43 as "Work Duration_Worktimes",
  74. c45 as "Worktime Start_Worktimes",
  75. c44 as "Worktime End_Worktimes",
  76. c43 as "Arbeitszeit_Tag",
  77. MAX(c47) OVER (partition by c42) as c39
  78. from
  79. (select T1."employee_number" as c42,
  80. T5."work_duration" as c43,
  81. T5."worktime_end" as c44,
  82. T5."worktime_start" as c45,
  83. T5."dayofweek" as c46,
  84. T5."validity_date" as c47,
  85. (datepart({weekday},T2."date")) as c48,
  86. T2."date" as c49,
  87. (T2."day_contingent" * T5."work_duration") as c50,
  88. T3."id" + ' - ' + T3."description" as c51,
  89. (rtrim((convert(varchar(50), T1."employee_number")))) + ' - ' + T1."name" as c52,
  90. '0' + (rtrim((convert(varchar(50), T1."subsidiary")))) as c53,
  91. CASE WHEN (('0' + (rtrim((convert(varchar(50), T1."subsidiary"))))) IN ('015')) THEN ('15') ELSE ('1') END as c54,
  92. T4."description" as c55,
  93. T4."type" as c56,
  94. T3."is_annual_vacation" as c57,
  95. T3."description" as c58,
  96. T3."id" as c59,
  97. T2."booking_flag" as c60,
  98. T2."reason" as c61,
  99. T2."day_contingent" as c62,
  100. T2."is_payed" as c63,
  101. T2."type" as c64,
  102. T2."employee_number" as c65,
  103. T1."leave_date" as c66,
  104. T1."termination_date" as c67,
  105. T1."employment_date" as c68,
  106. T1."salesman_number" as c69,
  107. T1."mechanic_number" as c70,
  108. T1."initials" as c71,
  109. T1."name" as c72
  110. from "dbo"."employees" T1,
  111. "LOCOSOFT"."dbo"."employees_worktimes" T5,
  112. (("dbo"."absence_calendar" T2 left outer join "dbo"."absence_reasons" T3 on T2."reason" = T3."id") left outer join "dbo"."absence_types" T4 on T2."type" = T4."type")
  113. where (T1."employee_number" = T2."employee_number") and (T1."employee_number" = T5."employee_number")
  114. and ((((datepart({weekday},T2."date"))) = T5."dayofweek") and ((cdate(T2."date")) <= (@CURRENT_DATE)))
  115. ) D2
  116. ) D1
  117. where ("Validity Date_Worktimes" = c39)
  118. -- order by "Employee Number_Employees" asc