Advertisement
vitareinforce

rekap kpb dari rutin, ngeplus, extuder minus izin sakit cuti

Dec 27th, 2023
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. public function rekapbulanan(Request $request) {
  2.  
  3. $bulan = date('m', strtotime($request->tanggal_periode));
  4. $tahun = date('Y', strtotime($request->tanggal_periode));
  5. $period = Carbon::parse($request->tanggal_periode)->toDateTimeString();
  6.  
  7. // delete existing dashboard
  8. $queryDashboard = Dashboard::where('bulan', $bulan)->where('tahun', $tahun)->delete();
  9.  
  10. // rekap kehadiran dari rutin
  11. $kalkulasi_poin_harian = KalkulasiPoinHarian::whereMonth('tanggal_hari_ini', $bulan)->get();
  12. foreach($kalkulasi_poin_harian as $kph) {
  13. $karyawan = Karyawan::find($kph->karyawan_id);
  14. // bikin entry kpb
  15. $kpb = KalkulasiPoinBulanan::whereMonth('tanggal_bulan_ini', $bulan)->where('karyawan_id', $kph->karyawan_id)->first();
  16. if($kpb != null) {
  17. $kpb->karyawan_id = $karyawan->id;
  18. $kpb->group_id = $karyawan->group_id;
  19. $kpb->nama = $karyawan->nama;
  20. $kpb->nama_group = $karyawan->nik;
  21. $kpb->tanggal_bulan_ini = $period;
  22. $kpb->kalkulasi_poin_rutin_bulanan += $kph->kalkulasi_poin_rutin;
  23. $kpb->save();
  24. } else {
  25. $kpb = new KalkulasiPoinBulanan();
  26. $kpb->karyawan_id = $karyawan->id;
  27. $kpb->group_id = $karyawan->group_id;
  28. $kpb->nama = $karyawan->nama;
  29. $kpb->nama_group = $karyawan->nik;
  30. $kpb->tanggal_bulan_ini = $period;
  31. $kpb->kalkulasi_poin_rutin_bulanan = $kph->kalkulasi_poin_rutin;
  32. $kpb->kalkulasi_poin_ngeplus_bulanan = 0;
  33. $kpb->kalkulasi_poin_shift1_extuder_bulanan = 0;
  34. $kpb->kalkulasi_poin_shift2_extuder_bulanan = 0;
  35. $kpb->kalkulasi_poin_shift3_extuder_bulanan = 0;
  36. $kpb->kalkulasi_poin_total_extuder_bulanan = 0;
  37. $kpb->tidak_hadir_bulanan = 0;
  38. $kpb->hadir = 0;
  39. $kpb->izin_bulanan = 0;
  40. $kpb->sakit_bulanan = 0;
  41. $kpb->cuti_bulanan = 0;
  42. $kpb->save();
  43. }
  44. }
  45. // rekap kehadiran dari ngeplus
  46. $harian_ngeplus = HarianNgeplus::whereMonth('tanggal', $bulan)->get();
  47. foreach($harian_ngeplus as $kph_ngeplus) {
  48. $karyawan = Karyawan::find($kph_ngeplus->karyawan_id);
  49. // bikin entry kpb
  50. $kpb = KalkulasiPoinBulanan::whereMonth('tanggal_bulan_ini', $bulan)->where('karyawan_id', $karyawan->id)->first();
  51. if($kpb != null) {
  52. $kpb->karyawan_id = $karyawan->id;
  53. $kpb->group_id = $karyawan->group_id;
  54. $kpb->nama = $karyawan->nama;
  55. $kpb->nama_group = $karyawan->nik;
  56. $kpb->tanggal_bulan_ini = $period;
  57. $kpb->kalkulasi_poin_ngeplus_bulanan += $kph_ngeplus->poin;
  58. $kpb->save();
  59. } else {
  60. $kpb = new KalkulasiPoinBulanan();
  61. $kpb->karyawan_id = $karyawan->id;
  62. $kpb->group_id = $karyawan->group_id;
  63. $kpb->nama = $karyawan->nama;
  64. $kpb->nama_group = $karyawan->nik;
  65. $kpb->tanggal_bulan_ini = $period;
  66. $kpb->kalkulasi_poin_rutin_bulanan = 0;
  67. $kpb->kalkulasi_poin_ngeplus_bulanan = $kph_ngeplus->poin;
  68. $kpb->kalkulasi_poin_shift1_extuder_bulanan = 0;
  69. $kpb->kalkulasi_poin_shift2_extuder_bulanan = 0;
  70. $kpb->kalkulasi_poin_shift3_extuder_bulanan = 0;
  71. $kpb->kalkulasi_poin_total_extuder_bulanan = 0;
  72. $kpb->tidak_hadir_bulanan = 0;
  73. $kpb->hadir = 0;
  74. $kpb->izin_bulanan = 0;
  75. $kpb->sakit_bulanan = 0;
  76. $kpb->cuti_bulanan = 0;
  77. $kpb->save();
  78. }
  79. }
  80. // rekap kehadiran dari extuder
  81. $harian_extuder = HarianExtuder::whereMonth('tanggal_hari_ini', $bulan)->get();
  82. foreach($harian_extuder as $kph_extuder) {
  83. $karyawan = Karyawan::find($kph_extuder->karyawan_id);
  84. // bikin entry kpb
  85. $kpb = KalkulasiPoinBulanan::whereMonth('tanggal_bulan_ini', $bulan)->where('karyawan_id', $karyawan->id)->first();
  86. if($kpb != null) {
  87. $kpb->karyawan_id = $karyawan->id;
  88. $kpb->group_id = $karyawan->group_id;
  89. $kpb->nama = $karyawan->nama;
  90. $kpb->nama_group = $karyawan->nik;
  91. $kpb->tanggal_bulan_ini = $period;
  92. $kpb->kalkulasi_poin_shift1_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift1_extuder;
  93. $kpb->kalkulasi_poin_shift2_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift2_extuder;
  94. $kpb->kalkulasi_poin_shift3_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift3_extuder;
  95. $kpb->save();
  96. } else {
  97. $kpb = new KalkulasiPoinBulanan();
  98. $kpb->karyawan_id = $karyawan->id;
  99. $kpb->group_id = $karyawan->group_id;
  100. $kpb->nama = $karyawan->nama;
  101. $kpb->nama_group = $karyawan->nik;
  102. $kpb->tanggal_bulan_ini = $period;
  103. $kpb->kalkulasi_poin_rutin_bulanan = 0;
  104. $kpb->kalkulasi_poin_ngeplus_bulanan = 0;
  105. $kpb->kalkulasi_poin_shift1_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift1_extuder;
  106. $kpb->kalkulasi_poin_shift2_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift2_extuder;
  107. $kpb->kalkulasi_poin_shift3_extuder_bulanan += $kph_extuder->kalkulasi_poin_shift3_extuder;
  108. $kpb->kalkulasi_poin_total_extuder_bulanan = 0;
  109. $kpb->tidak_hadir_bulanan = 0;
  110. $kpb->hadir = 0;
  111. $kpb->izin_bulanan = 0;
  112. $kpb->sakit_bulanan = 0;
  113. $kpb->cuti_bulanan = 0;
  114. $kpb->save();
  115. }
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement