Advertisement
vitareinforce

kerangka api group upah (untested)

Jan 31st, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  1. public function apiHitungUpahGroup($id)
  2. {
  3. $periodegaji = PeriodeGaji::find($id);
  4. $periodemulai = $periodegaji->tanggal_mulai_periode;
  5. $periodeselesai = $periodegaji->tanggal_selesai_periode;
  6.  
  7. $group = Group::with('karyawans.presensis', 'karyawans.settingpresensi', 'karyawan.settingupah', 'karyawan.cicilan')->get();
  8.  
  9. // $karyawan = Karyawan::with('presensis', 'group', 'jadwal', 'jadwalGroup', 'jadwalNgeplus', 'settingpresensi', 'settingupah', 'cicilan')->orderBy('nama', 'ASC')->get();
  10. $result = array();
  11. $closingTime = "00:40:00";
  12. $queryClosingTime = ClosingTime::find(1)->jangka_waktu;
  13. if (isset($queryClosingTime)) {
  14. $closingTime = $queryClosingTime;
  15. }
  16.  
  17. for ($g = 0; $g < count($group); $g++) {
  18. if(isset($group[$g]->karyawans)) {
  19. for ($i = 0; $i < count($group[$g]->karyawans); $i++) {
  20. $poinkaryawan = 0;
  21. // $maxpointkaryawan = 7;
  22. $upah_dasar = 0;
  23. $potongancicilan = 0;
  24. $bonus = 0;
  25. $potonganjamsostek = 0;
  26. $bpjs = 0;
  27. $upah_only = 0;
  28. $potongan_only = 0;
  29. $total_upah = 0;
  30. $total_tunggakan = 0;
  31.  
  32. // $karyawan[$i]->setAttribute("closing_time", $closingTime);
  33. // if (isset($karyawan[$i]->jadwal_id) || isset($karyawan[$i]->jadwal_group_id)) {
  34. // array_push($result, $group[$g]->karyawans[$i]);
  35. // }
  36. if (count($group[$g]->karyawans[$i]->presensis) > 0) {
  37. for ($j = 0; $j < count($group[$g]->karyawans[$i]->presensis); $j++) {
  38. if ((strtotime($group[$g]->karyawans[$i]->presensis[$j]->tanggal_dan_waktu_tap) >= $periodemulai) && (strtotime($group[$g]->karyawans[$i]->presensis[$j]->tanggal_dan_waktu_tap) >= $periodeselesai)) {
  39. $poinkaryawan = $poinkaryawan + $group[$g]->karyawans[$i]->presensis[$j]->poin;
  40. }
  41. }
  42. }
  43.  
  44. $potongancicilan = Cicilan::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal');
  45. $potonganjamsostek = Jamsostek::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal');
  46. $bonus = Bonus::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal_dasar');
  47. $bpjs = Bpjs::where('id', $group[$g]->karyawans[$i]->bpjs_id)->pluck('nominal');
  48. // if ($karyawan[$i]->id == $karyawan[$i]->cicilan->karyawan_id) {
  49. // $potongancicilan = Cicilan::get('nominal');
  50. // }
  51.  
  52. // dd($bpjs);
  53.  
  54. if (count($bonus) <= 0) {
  55. $bonus[0] = 0;
  56. }
  57.  
  58. if (count($potongancicilan) <= 0) {
  59. $potongancicilan[0] = 0;
  60. }
  61.  
  62. if (count($potonganjamsostek) <= 0) {
  63. $potonganjamsostek[0] = 0;
  64. }
  65.  
  66. if (count($bpjs) <= 0) {
  67. $bpjs[0] = 0;
  68. }
  69.  
  70. $group[$g]->karyawans[$i]->setAttribute("total_poin", $poinkaryawan);
  71. $group[$g]->karyawans[$i]->setAttribute("upah_bonus", $bonus[0]);
  72. $group[$g]->karyawans[$i]->setAttribute("potongan_cicilan", $potongancicilan[0]);
  73. $group[$g]->karyawans[$i]->setAttribute("potongan_jamsostek", $potonganjamsostek[0]);
  74. $group[$g]->karyawans[$i]->setAttribute("potongan_bpjs", $bpjs[0]);
  75. $group[$g]->karyawans[$i]->setAttribute("total_tunggakan", $total_tunggakan);
  76. // $karyawan[$i]->setAttribute("potongan_jamsostek", $potonganjamsostek);
  77.  
  78. $persentasepoin = $poinkaryawan;
  79. if (isset($group[$g]->karyawans[$i]->settingupah)) {
  80. $upah_dasar = $group[$g]->karyawans[$i]->settingupah->nominal_dasar * $persentasepoin;
  81. }
  82. $group[$g]->karyawans[$i]->setAttribute("upah_dasar", $upah_dasar);
  83.  
  84. $upah_only = $upah_dasar + $bonus[0];
  85. $group[$g]->karyawans[$i]->setAttribute("upah_only", $upah_only);
  86.  
  87. $potongan_only = $potonganjamsostek[0] + $bpjs[0];
  88. $group[$g]->karyawans[$i]->setAttribute("potongan_only", $potongan_only);
  89.  
  90.  
  91. $total_upah = $upah_dasar
  92. + $bonus[0]
  93. - $potongancicilan[0]
  94. - $potonganjamsostek[0]
  95. - $bpjs[0];
  96. $group[$g]->karyawans[$i]->setAttribute("total_upah", $total_upah);
  97. }
  98. }
  99. }
  100. return Response::json($group);
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement