Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\Bonus;
- use App\Bpjs;
- use App\Cicilan;
- use App\Gaji;
- use App\Group;
- use App\IzinPenguranganCicilan;
- use App\Jamsostek;
- use App\Karyawan;
- use App\PengajuanUtang;
- use App\PeriodeGaji;
- use App\Presensi;
- use App\SettingPoin;
- use App\SettingUpah;
- use App\ClosingTime;
- use App\JadwalHariKerja;
- use App\JadwalIzin;
- use App\JadwalLibur;
- use App\JadwalNgeplus;
- use App\RiwayatPinjaman;
- use App\SettingPresensi;
- use App\Jadwal;
- use App\Pemberitahuan;
- use Carbon\Carbon;
- use DatePeriod;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Exporter;
- use Response;
- use PDF;
- class GajiController extends Controller
- {
- public function export()
- {
- $data = Bpjs::all();
- return Exporter::make('Excel')->load($data)->stream("export.xlsx");
- }
- public function exportupahgrup($id)
- {
- $periodegaji = PeriodeGaji::find($id);
- $group = Group::with('karyawans.gajis.periodegaji')->get();
- $result = array();
- array_push($result, array('Nomor Urut', 'Nama Group', 'Total karyawan', 'Total Poin', 'Total Pembayaran Upah'));
- for ($g = 0; $g < count($group); $g++) {
- $nomorurut = $g + 1;
- $nama = $group[$g]->nama;
- $tot_kar = $group[$g]->karyawans->count();
- $poin = 0;
- $upah = 0;
- for ($k = 0; $k < count($group[$g]->karyawans); $k++) {
- if (isset($group[$g]->karyawans[$k]->gajis)) {
- for ($gj = 0; $gj < count($group[$g]->karyawans[$k]->gajis); $gj++) {
- if ($group[$g]->karyawans[$k]->gajis[$gj]->periodegaji_id == $id) {
- $poin = $poin + $group[$g]->karyawans[$k]->gajis[$gj]->poin;
- $upah = $upah + $group[$g]->karyawans[$k]->gajis[$gj]->total;
- }
- }
- }
- }
- array_push($result, array(
- $nomorurut,
- $nama,
- $tot_kar,
- $poin,
- $upah,
- ));
- }
- return Exporter::make('Excel')->load(collect($result))->stream("export.xlsx");
- }
- public function exportpdfupahgrup($id)
- {
- $periodegaji = PeriodeGaji::find($id);
- $periodemulai = $periodegaji->tanggal_mulai_periode;
- $periodeselesai = $periodegaji->tanggal_selesai_periode;
- $group = Group::with('karyawans.gajis.periodegaji')->get();
- for ($g = 0; $g < count($group); $g++) {
- $poin = 0;
- $upah = 0;
- $upah_kotor = 0;
- $upah_bersih = 0;
- $bpjs = 0;
- $jamsostek = 0;
- $cicilan = 0;
- for ($k = 0; $k < count($group[$g]->karyawans); $k++) {
- if (isset($group[$g]->karyawans[$k]->gajis)) {
- for ($gj = 0; $gj < count($group[$g]->karyawans[$k]->gajis); $gj++) {
- if ($group[$g]->karyawans[$k]->gajis[$gj]->periodegaji_id == $id) {
- $poin = $poin + $group[$g]->karyawans[$k]->gajis[$gj]->poin;
- $upah = $upah + $group[$g]->karyawans[$k]->gajis[$gj]->total;
- $bpjs = $bpjs + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bpjs;
- $jamsostek = $jamsostek + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_jamsostek;
- $cicilan = $cicilan + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_cicilan;
- $upah_kotor = $upah_kotor + ($group[$g]->karyawans[$k]->gajis[$gj]->nominal_dasar + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bonus);
- $upah_bersih = $upah_bersih + (($group[$g]->karyawans[$k]->gajis[$gj]->nominal_dasar + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bonus) - ($group[$g]->karyawans[$k]->gajis[$gj]->nominal_bpjs + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_jamsostek + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_cicilan));
- }
- }
- }
- }
- // $group[$g]->setAttribute('periode_mulai', $periodemulai);
- // $group[$g]->setAttribute('periode_selesai', $periodeselesai);
- $group[$g]->setAttribute('total_karyawan', count($group[$g]->karyawans));
- $group[$g]->setAttribute('total_poin', $poin);
- $group[$g]->setAttribute('total_upah_group', $upah);
- $group[$g]->setAttribute('upah_kotor', $upah_kotor);
- $group[$g]->setAttribute('upah_bersih', $upah_bersih);
- $group[$g]->setAttribute('bpjs', $bpjs);
- $group[$g]->setAttribute('jamsostek', $jamsostek);
- $group[$g]->setAttribute('cicilan', $cicilan);
- }
- $pdf = PDF::loadview('Gaji.exportpdfupahgrup', compact('periodegaji', 'group'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_paper('letter', 'landscape');
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function exportpdfpinjaman()
- {
- $listpinjaman = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'jadwal', 'gajis')->where('status_karyawan', '!=', 'nonaktif')->where('total_pinjaman', '!=', 0)->get();
- $pdf = PDF::loadview('Gaji.exportpdfpinjaman', compact('listpinjaman'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_paper('letter', 'landscape');
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function exportpdfriwayatpinjaman($id)
- {
- $karyawan = Karyawan::find($id);
- $riwayat = RiwayatPinjaman::where('karyawan_id', '=', $karyawan->id)->get();
- $pdf = PDF::loadview('Gaji.exportpdfriwayatpinjaman', compact('karyawan','riwayat'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_paper('letter', 'landscape');
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function exportpdfbonus()
- {
- $listbonus = Karyawan::with('group')->where('bonus_overtime', '!=', null)->orwhere('bonus_kehadiran', '!=', null)->get();
- $pdf = PDF::loadview('Gaji.exportpdfbonus', compact('listbonus'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_paper('letter', 'landscape');
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function apiHitungUpahGroup($id)
- {
- $periodegaji = PeriodeGaji::find($id);
- $periodemulai = $periodegaji->tanggal_mulai_periode;
- $periodeselesai = $periodegaji->tanggal_selesai_periode;
- $group = Group::with('karyawans.gajis.periodegaji')->get();
- for ($g = 0; $g < count($group); $g++) {
- $poin = 0;
- $upah = 0;
- $upah_kotor = 0;
- $upah_bersih = 0;
- $bpjs = 0;
- $jamsostek = 0;
- $cicilan = 0;
- for ($k = 0; $k < count($group[$g]->karyawans); $k++) {
- if (isset($group[$g]->karyawans[$k]->gajis)) {
- for ($gj = 0; $gj < count($group[$g]->karyawans[$k]->gajis); $gj++) {
- if ($group[$g]->karyawans[$k]->gajis[$gj]->periodegaji_id == $id) {
- $poin = $poin + $group[$g]->karyawans[$k]->gajis[$gj]->poin;
- $upah = $upah + $group[$g]->karyawans[$k]->gajis[$gj]->total;
- $bpjs = $bpjs + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bpjs;
- $jamsostek = $jamsostek + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_jamsostek;
- $cicilan = $cicilan + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_cicilan;
- $upah_kotor = $upah_kotor + ($group[$g]->karyawans[$k]->gajis[$gj]->nominal_dasar + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bonus);
- $upah_bersih = $upah_bersih + (($group[$g]->karyawans[$k]->gajis[$gj]->nominal_dasar + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_bonus) - ($group[$g]->karyawans[$k]->gajis[$gj]->nominal_bpjs + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_jamsostek + $group[$g]->karyawans[$k]->gajis[$gj]->nominal_cicilan));
- }
- }
- }
- }
- // $group[$g]->setAttribute('periode_mulai', $periodemulai);
- // $group[$g]->setAttribute('periode_selesai', $periodeselesai);
- $group[$g]->setAttribute('total_karyawan', count($group[$g]->karyawans));
- $group[$g]->setAttribute('total_poin', $poin);
- $group[$g]->setAttribute('total_upah_group', $upah);
- $group[$g]->setAttribute('upah_kotor', $upah_kotor);
- $group[$g]->setAttribute('upah_bersih', $upah_bersih);
- $group[$g]->setAttribute('bpjs', $bpjs);
- $group[$g]->setAttribute('jamsostek', $jamsostek);
- $group[$g]->setAttribute('cicilan', $cicilan);
- }
- return Response::json($group);
- }
- public function savedraft(Request $request)
- {
- // set awal
- $total_gaji_kotor = 0;
- $total_gaji_bersih = 0;
- $total_bonus = 0;
- $total_bpjs = 0;
- $total_jamsostek = 0;
- $total_cicilan = 0;
- $gaji_data = json_decode($request->gajikaryawandata, true);
- for($i = 0; $i < count($gaji_data); $i++) {
- $gaji = Gaji::find($gaji_data[$i]['id']);
- unset($gaji_data[$i]['karyawan']);
- // set status berdasarkan checkbox
- if ($gaji_data[$i]['checkbox_jamsostek'] == true) {
- $gaji_data[$i]['status_pembayaran_jamsostek'] == 'siap bayar';
- }
- if ($gaji_data[$i]['checkbox_cicilan'] == true) {
- $gaji_data[$i]['status_pembayaran_cicilan'] = 'siap bayar';
- }
- if ($gaji_data[$i]['checkbox_bpjs'] == true) {
- $gaji_data[$i]['status_pembayaran_bpjs'] = 'siap bayar';
- }
- if ($gaji_data[$i]['checkbox_tunggakan'] == true) {
- $gaji_data[$i]['status_pembayaran_tunggakan'] = 'siap bayar';
- }
- $gaji->update($gaji_data[$i]);
- // jumlahkan semua
- $total_gaji_kotor += ($gaji_data[$i]['nominal_dasar'] + $gaji_data[$i]['nominal_bonus']);
- $total_gaji_bersih += ($gaji_data[$i]['nominal_dasar'] + $gaji_data[$i]['nominal_bonus']) - ($gaji_data[$i]['nominal_bpjs'] + $gaji_data[$i]['nominal_jamsostek'] + $gaji_data[$i]['nominal_cicilan'] + $gaji_data[$i]['total_potongan_tunggakan']);
- $total_bpjs += $gaji_data[$i]['nominal_bpjs'];
- $total_jamsostek += $gaji_data[$i]['nominal_jamsostek'];
- $total_cicilan += $gaji_data[$i]['nominal_cicilan'];
- }
- toast('Data upah berhasil disimpan.', 'success');
- // return redirect()->back();
- return Response::json([ 'status' => 200, 'message' => 'Data upah berhasil disimpan']);
- }
- public function bayarsemua(Request $request)
- {
- // set awal
- $total_gaji_kotor = 0;
- $total_gaji_bersih = 0;
- $total_bpjs = 0;
- $total_jamsostek = 0;
- $total_cicilan = 0;
- // periode gaji
- $periodegaji_id = null;
- $gaji_data = json_decode($request->gajikaryawandatadibayar, true);
- // dd($gaji_data);
- for($i = 0; $i < count($gaji_data); $i++) {
- $gaji = Gaji::find($gaji_data[$i]['id']);
- $karyawan = Karyawan::find($gaji_data[$i]['karyawan_id']);
- unset($gaji_data[$i]['karyawan']);
- $periodegaji_id = $gaji_data[$i]['periodegaji_id'];
- $gaji_data[$i]['tanggal_pembayaran'] = date('Y-m-d');
- $gaji_data[$i]['tanggal_pembayaran'] = date('Y-m-d');
- if ($gaji_data[$i]['status_pembayaran_jamsostek'] == 'siap bayar') {
- $gaji_data[$i]['status_pembayaran_jamsostek'] = 'bayar';
- } else {
- $gaji_data[$i]['status_pembayaran_jamsostek'] = 'tunggak';
- }
- if ($gaji_data[$i]['status_pembayaran_cicilan'] == 'siap bayar') {
- $gaji_data[$i]['status_pembayaran_cicilan'] = 'bayar';
- } else {
- $gaji_data[$i]['status_pembayaran_cicilan'] = 'tunggak';
- }
- if ($gaji_data[$i]['status_pembayaran_bpjs'] == 'siap bayar') {
- $gaji_data[$i]['status_pembayaran_bpjs'] = 'bayar';
- } else {
- $gaji_data[$i]['status_pembayaran_bpjs'] = 'tunggak';
- }
- if ($gaji_data[$i]['status_pembayaran_tunggakan'] == 'siap bayar') {
- $gaji_data[$i]['status_pembayaran_tunggakan'] = 'bayar';
- } else {
- $gaji_data[$i]['status_pembayaran_tunggakan'] = 'tunggak';
- }
- // dd($gaji);
- /**
- * KONDISI TERBAYARKAN
- */
- $karyawan->nominal_upah_dasar = $gaji_data[$i]['nominal_dasar'];
- $karyawan->save();
- if ($gaji_data[$i]['status_pembayaran_bonus'] == 'bayar') {
- $karyawan->bonus_overtime = 0;
- $karyawan->bonus_kehadiran = 0;
- $karyawan->upah_bonus_2 = 0;
- $karyawan->periode_mulai_kehadiran = null;
- $karyawan->periode_selesai_kehadiran = null;
- $karyawan->periode_mulai_overtime = null;
- $karyawan->periode_selesai_overtime = null;
- $karyawan->upah_bonus = $gaji_data[$i]['nominal_bonus'];
- $karyawan->save();
- }
- if ($gaji_data[$i]['status_pembayaran_cicilan'] == 'bayar') {
- if ($karyawan->potongan_cicilan != 0) {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji_data[$i]['nominal_calculated_cicilan'];
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji_data[$i]['nominal_calculated_cicilan'];
- if($gaji_data[$i]['nominal_calculated_cicilan'] != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan dengan Potongan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->potongan_cicilan;
- $riwayat_pinjaman->save();
- }
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- } else {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji_data[$i]['nominal_calculated_cicilan'];
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji_data[$i]['nominal_calculated_cicilan'];
- if($gaji_data[$i]['nominal_calculated_cicilan'] != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- }
- }
- $karyawan->upah_potongan_cicilan = $gaji_data[$i]['nominal_calculated_cicilan'];
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- }
- if ($gaji_data[$i]['status_pembayaran_tunggakan'] == 'bayar') {
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $gaji->total_potongan_tunggakan;
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $gaji->total_potongan_tunggakan;
- $karyawan->save();
- }
- if ($gaji_data[$i]['status_pembayaran_jamsostek'] == 'bayar') {
- $karyawan->upah_potongan_jamsostek = $gaji_data[$i]['nominal_jamsostek'];
- $karyawan->save();
- }
- if ($gaji_data[$i]['status_pembayaran_bpjs'] == 'bayar') {
- $karyawan->upah_potongan_bpjs = $gaji_data[$i]['nominal_bpjs'];
- $karyawan->save();
- }
- /**
- * KONDISI TERTUNGGAK
- */
- if ($gaji_data[$i]['status_pembayaran_jamsostek'] == 'tunggak') {
- $gaji_data[$i]['nominal_tunggakan'] = $gaji_data[$i]['nominal_tunggakan'] + $gaji_data[$i]['nominal_jamsostek'];
- $gaji_data[$i]['fixed_total_potongan_tunggakan'] = $gaji_data[$i]['fixed_total_potongan_tunggakan'] + $gaji_data[$i]['nominal_jamsostek'];
- $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji_data[$i]['nominal_jamsostek'];
- $karyawan->save();
- }
- if ($gaji_data[$i]['status_pembayaran_bpjs'] == 'tunggak') {
- $gaji_data[$i]['nominal_tunggakan'] = $gaji_data[$i]['nominal_tunggakan'] + $gaji_data[$i]['nominal_bpjs'];
- $gaji_data[$i]['fixed_total_potongan_tunggakan'] = $gaji_data[$i]['fixed_total_potongan_tunggakan'] + $gaji_data[$i]['nominal_bpjs'];
- $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji_data[$i]['nominal_bpjs'];
- $karyawan->save();
- }
- if ($gaji_data[$i]['status_pembayaran_tunggakan'] == 'tunggak') {
- $gaji_data[$i]['nominal_tunggakan'] = $gaji_data[$i]['nominal_tunggakan']+ $gaji_data[$i]['total_potongan_tunggakan'];
- }
- $gaji->update($gaji_data[$i]);
- // jumlahkan semua
- $total_gaji_kotor += ($gaji_data[$i]['nominal_dasar'] + $gaji_data[$i]['nominal_bonus']);
- $total_gaji_bersih += ($gaji_data[$i]['nominal_dasar'] + $gaji_data[$i]['nominal_bonus']) - ($gaji_data[$i]['nominal_bpjs'] + $gaji_data[$i]['nominal_jamsostek'] + $gaji_data[$i]['nominal_cicilan'] + $gaji_data[$i]['total_potongan_tunggakan']);
- $total_bpjs += $gaji_data[$i]['nominal_bpjs'];
- $total_jamsostek += $gaji_data[$i]['nominal_jamsostek'];
- $total_cicilan += $gaji_data[$i]['nominal_cicilan'];
- }
- // update ke periode gaji
- if(isset($periodegaji_id)) {
- $periodegaji = PeriodeGaji::find($periodegaji_id);
- $periodegaji->total_upah_kotor = $total_gaji_kotor;
- $periodegaji->total_upah_bersih = $total_gaji_bersih;
- $periodegaji->total_bpjs = $total_bpjs;
- $periodegaji->total_jamsostek = $total_jamsostek;
- $periodegaji->total_cicilan = $total_cicilan;
- $periodegaji->is_final = 'bayar';
- // dd($periodegaji);
- $periodegaji->save();
- }
- toast('Data upah berhasil dibayarkan.', 'success');
- // return redirect()->back();
- return Response::json([ 'status' => 200, 'message' => 'Data upah berhasil dibayarkan']);
- }
- // public function apiHitungUpahGroup($id)
- // {
- // $periodegaji = PeriodeGaji::find($id);
- // $periodemulai = $periodegaji->tanggal_mulai_periode;
- // $periodeselesai = $periodegaji->tanggal_selesai_periode;
- // $group = Group::with('karyawans.presensis', 'karyawans.settingpresensi', 'karyawans.settingupah', 'karyawans.cicilan')->get();
- // // $karyawan = Karyawan::with('presensis', 'group', 'jadwal', 'jadwalGroup', 'jadwalNgeplus', 'settingpresensi', 'settingupah')->orderBy('nama', 'ASC')->get();
- // $result = array();
- // $closingTime = "00:40:00";
- // $queryClosingTime = ClosingTime::find(1)->jangka_waktu;
- // if (isset($queryClosingTime)) {
- // $closingTime = $queryClosingTime;
- // }
- // for ($g = 0; $g < count($group); $g++) {
- // if (isset($group[$g]->karyawans)) {
- // $totalkaryawan = count($group[$g]->karyawans);
- // $group[$g]->setAttribute("total_karyawan", $totalkaryawan);
- // for ($i = 0; $i < count($group[$g]->karyawans); $i++) {
- // $poinkaryawan = 0;
- // // $maxpointkaryawan = 7;
- // $upah_dasar = 0;
- // $potongancicilan = 0;
- // $bonus = 0;
- // $potonganjamsostek = 0;
- // $bpjs = 0;
- // $upah_only = 0;
- // $potongan_only = 0;
- // $total_upah = 0;
- // $total_tunggakan = 0;
- // // $karyawan[$i]->setAttribute("closing_time", $closingTime);
- // // if (isset($karyawan[$i]->jadwal_id) || isset($karyawan[$i]->jadwal_group_id)) {
- // // array_push($result, $group[$g]->karyawans[$i]);
- // // }
- // if (count($group[$g]->karyawans[$i]->presensis) > 0) {
- // for ($j = 0; $j < count($group[$g]->karyawans[$i]->presensis); $j++) {
- // 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)) {
- // $poinkaryawan = $poinkaryawan + $group[$g]->karyawans[$i]->presensis[$j]->poin;
- // }
- // }
- // }
- // $potongancicilan = Cicilan::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal');
- // $potonganjamsostek = Jamsostek::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal');
- // $bonus = Bonus::where('karyawan_id', $group[$g]->karyawans[$i]->id)->pluck('nominal_dasar');
- // $bpjs = Bpjs::where('id', $group[$g]->karyawans[$i]->bpjs_id)->pluck('nominal');
- // // if ($karyawan[$i]->id == $karyawan[$i]->cicilan->karyawan_id) {
- // // $potongancicilan = Cicilan::get('nominal');
- // // }
- // // dd($bpjs);
- // if (count($bonus) <= 0) {
- // $bonus[0] = 0;
- // }
- // if (count($potongancicilan) <= 0) {
- // $potongancicilan[0] = 0;
- // }
- // if (count($potonganjamsostek) <= 0) {
- // $potonganjamsostek[0] = 0;
- // }
- // if (count($bpjs) <= 0) {
- // $bpjs[0] = 0;
- // }
- // // $karyawan[$i]->setAttribute("potongan_jamsostek", $potonganjamsostek);
- // $persentasepoin = $poinkaryawan;
- // if (isset($group[$g]->karyawans[$i]->settingupah)) {
- // $upah_dasar = $group[$g]->karyawans[$i]->settingupah->nominal_dasar * $persentasepoin;
- // }
- // $upah_only = $upah_dasar + $bonus[0];
- // $potongan_only = $potonganjamsostek[0] + $bpjs[0];
- // $total_upah = $upah_dasar
- // + $bonus[0]
- // - $potongancicilan[0]
- // - $potonganjamsostek[0]
- // - $bpjs[0];
- // }
- // $group[$g]->setAttribute("total_poin", $poinkaryawan);
- // $group[$g]->setAttribute("total_upah_group", $total_upah);
- // $group[$g]->setAttribute("upah_bonus", $bonus[0]);
- // $group[$g]->setAttribute("potongan_cicilan", $potongancicilan[0]);
- // $group[$g]->setAttribute("potongan_jamsostek", $potonganjamsostek[0]);
- // $group[$g]->setAttribute("potongan_bpjs", $bpjs[0]);
- // $group[$g]->setAttribute("total_tunggakan", $total_tunggakan);
- // $group[$g]->setAttribute("upah_dasar", $upah_dasar);
- // $group[$g]->setAttribute("upah_only", $upah_only);
- // $group[$g]->setAttribute("potongan_only", $potongan_only);
- // }
- // }
- // return Response::json($group);
- // }
- public function apiHitungUpah($id)
- {
- $gaji = Gaji::with('karyawan.group')->where('periodegaji_id', '=', $id)->orderBy('group_karyawan', 'asc')->get();
- return Response::json($gaji);
- }
- public function apiHitungUpahKaryawanPerGroup($id, $group_id)
- {
- $gaji = Gaji::with('karyawan.group')->where('periodegaji_id', '=', $id)->where('group_id', '=', $group_id)->orderBy('group_karyawan', 'asc')->get();
- return Response::json($gaji);
- }
- public function apiJamsostek()
- {
- // $jamsostek = Jamsostek::with('karyawan', 'group', 'settingupah')->get();
- $Karyawan = Karyawan::with('group', 'jamsostek', 'settingupah')->where('is_jamsostek', 1)->get();
- return Response::json($Karyawan);
- }
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- $bpjs = Bpjs::all();
- $bonus = Bonus::with('group', 'karyawan', 'settingupah')->get();
- $pinjaman = PengajuanUtang::with('karyawan', 'group')->get();
- $karyawan = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'jadwal', 'gajis')->where('status_karyawan', '!=', 'nonaktif')->get();
- $listpinjaman = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'jadwal', 'gajis')->where('status_karyawan', '!=', 'nonaktif')->where('total_pinjaman', '!=', 0)->get();
- $listbonus = Karyawan::where('bonus_overtime', '!=', null)->orwhere('bonus_kehadiran', '!=', null)->get();
- // $karyawan = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'jadwal')->where('jadwal_id', !null)->get();
- $listbpjs = Karyawan::with('bpjs')->where('status_karyawan', '!=', 'nonaktif')->get();
- // $cicilan = Cicilan::with('karyawan', 'group')->get();
- $jamsostek = Jamsostek::with('karyawan', 'group', 'settingupah')->get();
- $settingupah = SettingUpah::with('karyawan', 'group')->get();
- $periodegaji = PeriodeGaji::all();
- $tunggakan = Gaji::all();
- $group = Group::all();
- for ($p = 0; $p < count($periodegaji); $p++) {
- $jumlah_karyawan = 0;
- $jumlah_upah = 0;
- $gaji = Gaji::where('periodegaji_id', '=', $periodegaji[$p]->id)->get();
- $jumlah_karyawan = count($gaji);
- for ($g = 0; $g < count($gaji); $g++) {
- if ($gaji[$g]->total != null) {
- $jumlah_upah = $jumlah_upah + $gaji[$g]->total;
- }
- }
- $periodegaji[$p]->setAttribute('jumlah_karyawan', $jumlah_karyawan);
- $periodegaji[$p]->setAttribute('jumlah_upah', $jumlah_upah);
- }
- // $upah = SettingUpah::all();
- // for ($i = 0; $i < count($karyawan); $i++) {
- // $totaltunggakan = 0;
- // if (count($karyawan[$i]->gajis) > 0) {
- // for ($j = 0; $j < count($karyawan[$i]->gajis); $j++) {
- // if ($karyawan[$i]->gajis[$j]->sisa != null) {
- // $totaltunggakan = $totaltunggakan + $karyawan[$i]->gajis[$j]->sisa;
- // } else {
- // $totaltunggakan = $totaltunggakan + 0;
- // }
- // }
- // }
- // $karyawan[$i]->setAttribute("total_tunggakan", $totaltunggakan);
- // }
- return view('Gaji.index', compact('bpjs', 'bonus', 'pinjaman', 'karyawan', 'jamsostek', 'settingupah', 'periodegaji', 'listbpjs', 'tunggakan', 'listbonus', 'listpinjaman', 'group'));
- }
- public function apibpjs()
- {
- $kelas_bpjs = null;
- $nominal_bpjs = 0;
- $listbpjs = Karyawan::with('group', 'settingupah')->where('status_karyawan', '!=', 'nonaktif')->get();
- for ($i = 0; $i < count($listbpjs); $i++) {
- if ($listbpjs[$i]->bpjs_id != null) {
- $bpjs = Bpjs::find($listbpjs[$i]->bpjs_id);
- $kelas_bpjs = $bpjs->nomor;
- $nominal_bpjs = $bpjs->nominal;
- }
- $listbpjs[$i]->setAttribute('kelas_bpjs', $kelas_bpjs);
- $listbpjs[$i]->setAttribute('nominal_bpjs', $nominal_bpjs);
- }
- return Response::json($listbpjs);
- }
- public function apipinjaman()
- {
- $listpinjaman = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'jadwal', 'gajis')->where('status_karyawan', '!=', 'nonaktif')->where('total_pinjaman', '!=', 0)->get();
- return Response::json($listpinjaman);
- }
- public function apibonus()
- {
- $listbonus = Karyawan::with('group')->where('bonus_overtime', '!=', null)->orwhere('bonus_kehadiran', '!=', null)->get();
- return Response::json($listbonus);
- }
- public function apitunggakan()
- {
- $karyawan = Karyawan::with('group', 'gajis')->where('status_karyawan', '!=', 'nonaktif')->get();
- return Response::json($karyawan);
- }
- /*
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function tanggalupah()
- {
- $presensi = Presensi::with('karyawan', 'bpjs', 'jamsostek', 'settingupah')->get();
- return view('Gaji.tanggalupah', compact('presensi'));
- }
- public function storetunggakan(Request $request)
- {
- // dd($request->all());
- //yang ngurangin pinjaman
- if ($request->bayar_periode_selanjutnya != null) {
- foreach ($request->bayar_periode_selanjutnya as $i) {
- $bayar = Gaji::find((int)$i);
- // $bayar->status_pembayaran_bpjs = 'next';
- // $bayar->status_pembayaran_jamsostek = 'next';
- // $bayar->status_pembayaran_cicilan = 'next';
- $bayar->is_bayar_tunggakan = 'confirm later';
- $bayar->save();
- foreach ($request->id_karyawan as $j) {
- $karyawan = Karyawan::find((int)$j);
- // $cicilan = Cicilan::where('karyawan_id', '=', $karyawan->id)->first();
- foreach ($request->nominal as $k) {
- $karyawan->potongan_cicilan = 0;
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya + (int)$k;
- $karyawan->save();
- // if (isset($cicilan)) {
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- // }
- }
- return redirect()->route('gaji.tunggakan', $karyawan->id);
- }
- }
- }
- //yang langsung dibayar
- if ($request->bayar_langsung != null) {
- foreach ($request->bayar_langsung as $i) {
- $bayar = Gaji::find((int)$i);
- $periodegaji = PeriodeGaji::find($bayar->periodegaji_id);
- $bayar->tanggal_bayar_tunggakan = date('Y-m-d');
- $bayar->is_bayar_tunggakan = 'confirm now';
- $bayar->status_pembayaran_bpjs = 'bayar';
- $bayar->status_pembayaran_jamsostek = 'bayar';
- $bayar->status_pembayaran_cicilan = 'bayar';
- $bayar->save();
- foreach ($request->id_karyawan as $j) {
- $karyawan = Karyawan::find((int)$j);
- $group = Group::find($karyawan->group_id);
- // $cicilan = Cicilan::where('karyawan_id', '=', $karyawan->id)->first();
- // $all_gaji = Gaji::where('karyawan_id', '=', $karyawan->id)->get();
- // $pinjaman = Pinjaman::where('karyawan_id', '=', $karyawan_id)->get();
- // for ($i = 0; $i < count($all_gaji); $i++) {
- // $all_gaji[$i]->total_potongan_tunggakan = 0;
- // $all_gaji[$i]->save();
- // }
- foreach ($request->nominal as $k) {
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $bayar->fixed_total_potongan_tunggakan;
- if ($karyawan->total_tunggakan_periode_berikutnya != 0) {
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $bayar->fixed_total_potongan_tunggakan;
- }
- //$karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $bayar->nominal_penanda_cicilan;
- //$karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $bayar->nominal_penanda_cicilan;
- // if ($bayar->nominal_penanda_cicilan != 0) {
- // $riwayat_pinjaman = new RiwayatPinjaman();
- // $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- // $riwayat_pinjaman->karyawan_id = $karyawan->id;
- // $riwayat_pinjaman->jenis = 'Bayar Tunggakan Cicilan';
- // $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- // $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- // $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- // $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- // $riwayat_pinjaman->save();
- // }
- // $karyawan->potongan_cicilan = 0;
- // $karyawan->akumulasi_cicilan = 0;
- $karyawan->save();
- // foreach($request->nama_user as $l) {
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = "Bayar langsung tunggakan - " . $karyawan->nama . " - Periode gaji " . date('Y m d', strtotime($periodegaji->tanggal_mulai_periode)) . " s/d " . date('Y m d', strtotime($periodegaji->tanggal_selesai_periode));
- $pemberitahuan->sumber_pemberitahuan = "upah";
- $pemberitahuan->id_karyawan = $karyawan->id;
- $pemberitahuan->nama_karyawan = $karyawan->nama;
- $pemberitahuan->id_group = $karyawan->group_id;
- if(isset($group)) {
- $pemberitahuan->nama_group = $group->nama;
- }
- $pemberitahuan->nik = $karyawan->nik;
- $pemberitahuan->nama_admin = $request->nama_user;
- $pemberitahuan->save();
- // }
- // if (isset($cicilan)) {
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- // }
- }
- return redirect()->route('gaji.tunggakan', $karyawan->id);
- }
- }
- }
- if ($request->reset_periode_selanjutnya != null) {
- foreach ($request->reset_periode_selanjutnya as $i) {
- $bayar = Gaji::find((int)$i);
- // $bayar->status_pembayaran_bpjs = 'next';
- // $bayar->status_pembayaran_jamsostek = 'next';
- // $bayar->status_pembayaran_cicilan = 'next';
- $bayar->is_bayar_tunggakan = null;
- $bayar->save();
- foreach ($request->id_karyawan as $j) {
- $karyawan = Karyawan::find((int)$j);
- // $cicilan = Cicilan::where('karyawan_id', '=', $karyawan->id)->first();
- foreach ($request->nominal as $k) {
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - (int)$k;
- $karyawan->save();
- }
- return redirect()->route('gaji.tunggakan', $karyawan->id);
- }
- }
- }
- }
- public function storetanggalupah(Request $request)
- {
- //dd($request->potongan_cicilan);
- $pembayaran = $request->input('status_pembayaran');
- //simpan ke periodegaji
- $dateupah = new PeriodeGaji();
- $dateupah->tanggal_mulai_periode = $request->tanggal_mulai_periode; //set tanggal mulai periode
- $dateupah->tanggal_selesai_periode = $request->tanggal_selesai_periode; //set tanggal selesai periode
- if ($request->potongan_bpjs != null) {
- $dateupah->is_potongan_bpjs = true; //jika checkbox di checklist
- } else {
- $dateupah->is_potongan_bpjs = false; //jika checkbox tidak di checklist
- }
- if ($request->potongan_jamsostek != null) {
- $dateupah->is_potongan_jamsostek = true; //jika checkbox di checklist
- } else {
- $dateupah->is_potongan_jamsostek = false; //jika checkbox tidak di checklist
- }
- if ($request->potongan_cicilan != null) {
- $dateupah->is_potongan_cicilan = true; //jika checkbox di checklist
- } else {
- $dateupah->is_potongan_cicilan = false; //jika checkbox tidak di checklist
- }
- if ($request->potongan_tunggakan != null) {
- $dateupah->is_potongan_tunggakan = true; //jika checkbox di checklist
- } else {
- $dateupah->is_potongan_tunggakan = false; //jika checkbox tidak di checklist
- }
- $dateupah->save();
- //end of save periode gaji
- $settingan_poin = SettingPoin::find(1);
- $karyawan = Karyawan::with('presensis', 'group', 'jadwal', 'jadwalharikerja', 'jadwalGroup', 'jadwalNgeplus', 'settingpresensi', 'settingupah')->orderBy('nama', 'ASC')->get();
- // $group = Group::find($karyawan[$i]->group_id);
- // set awal
- $total_gaji_dasar = 0;
- $total_bonus = 0;
- $total_gaji_kotor = 0;
- $total_gaji_bersih = 0;
- $total_bpjs = 0;
- $total_jamsostek = 0;
- $total_cicilan = 0;
- // set awal kehadiran
- $total_poin = 0;
- $total_poin_tiga_perempat = 0;
- $total_poin_setengah = 0;
- $total_poin_seperempat = 0;
- $total_sakit = 0;
- $total_izin = 0;
- $total_bolos = 0;
- $total_libur = 0;
- for ($i = 0; $i < count($karyawan); $i++) {
- $new_entry_gaji = new Gaji();
- $new_entry_gaji->karyawan_id = $karyawan[$i]->id; //set karyawan id
- $new_entry_gaji->nama_karyawan = $karyawan[$i]->nama; //set nama karyawan
- if(isset($karyawan[$i]->group)) {
- $new_entry_gaji->group_karyawan = $karyawan[$i]->group->nama . $karyawan[$i]->groupno; //set nama group
- $new_entry_gaji->group_id = $karyawan[$i]->group->id; //set nama group
- }
- $new_entry_gaji->bpjs_id = $karyawan[$i]->bpjs_id; //set bpjs id
- $maxpointkaryawan = 0;
- $nominal_dasar = 0;
- $nominal_ngeplus = 0; //yg ini sebelumnya tidak ada deklarasi awal jadinya error
- $setting_poin = 0;
- $poinkaryawan = 0;
- $poinkaryawanngeplus = 0;
- $poinfull = 0;
- $total_hari = 0;
- // $total_hari_setengah = 0;
- $total_hari_rutin = 0;
- $total_hari_ngeplus = 0;
- $perhitungan_nominal_dasar = 0;
- $perhitungan_nominal_ngeplus = 0;
- $upah_kotor = 0;
- $total_upah_sebelum_cicilan = 0;
- $checkbox_upah_kotor = 0;
- $checkbox_jamsostek = 0;
- $checkbox_bpjs = 0;
- $checkbox_cicilan = 0;
- $checkbox_tunggakan = 0;
- $jumlah_karyawan_sakit = 0;
- $jumlah_karyawan_izin = 0;
- $jumlah_karyawan_libur = 0;
- // $tidak_hadir = 0;
- // $hadir = 0;
- // $cuti = 0;
- $new_entry_gaji->nominal_bonus = 0; //set awal nominal bonus
- $new_entry_gaji->nominal_bpjs = 0; //set awal nominal bpjs
- $new_entry_gaji->nominal_jamsostek = 0; //set awal nominal jamsostek
- $new_entry_gaji->nominal_cicilan = 0; //set awal nominal cicilan
- $new_entry_gaji->persentase_cicilan = 0; //set awal persentase cicilan
- $new_entry_gaji->nominal_calculated_cicilan = 0; //set awal nominal cicilan
- $new_entry_gaji->total_tunggakan = 0; //set awal nominal tunggakan
- $new_entry_gaji->poin = 0; //set awal poin
- $new_entry_gaji->total = 0; //set awal total
- $new_entry_gaji->nominal = 0; //set awal nominal
- $new_entry_gaji->sisa = 0; //set awal sisa
- $new_entry_gaji->total_potongan_tunggakan = 0; //set awal total potongan tunggakan
- $jumlah_karyawan_sakit = JadwalIzin::where('karyawan_id', $karyawan[$i]->id)->where('status', 'sakit')->where('approval', 1)->where('tanggal_mulai', '>=', date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))->where('tanggal_selesai', '<=', date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))->get()->count();
- $jumlah_karyawan_izin = JadwalIzin::where('karyawan_id', $karyawan[$i]->id)->where('status', 'izin')->where('approval', 1)->where('tanggal_mulai', '>=', date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))->where('tanggal_selesai', '<=', date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))->get()->count();
- $jumlah_karyawan_libur = JadwalLibur::where('karyawan_id', $karyawan[$i]->id)->where('approval', 1)->where('tanggal_mulai', '>=', date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))->where('tanggal_selesai', '<=', date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))->get()->count();
- $total_sakit += $jumlah_karyawan_sakit;
- $total_izin += $jumlah_karyawan_izin;
- $total_libur += $jumlah_karyawan_libur;
- if (count($karyawan[$i]->presensis) > 0) {
- for ($j = 0; $j < count($karyawan[$i]->presensis); $j++) {
- if (
- $karyawan[$i]->presensis[$j]->status == 'Rutin'
- &&
- (date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) >= date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))
- &&
- (date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) <= date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))
- ) {
- $poinkaryawan = $poinkaryawan + $karyawan[$i]->presensis[$j]->poin; //set poin
- }
- if (
- ($karyawan[$i]->presensis[$j]->status == 'nge-plus' || $karyawan[$i]->presensis[$j]->status == 'ngeplus-group')
- &&
- (date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) >= date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))
- &&
- (date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) <= date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))
- ) {
- $poinkaryawanngeplus = $poinkaryawanngeplus + $karyawan[$i]->presensis[$j]->poin; //set poin ngeplus
- }
- }
- }
- if (count($karyawan[$i]->presensis) > 0) {
- // $total_hari_setengah = 0;
- // dd($karyawan[$i]->presensis);
- for ($j = 0; $j < count($karyawan[$i]->presensis); $j++) {
- // $total_hari = 0;
- $total_hari_setengah = 0;
- if ((date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) >= date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode))) && (date('Y-m-d', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) <= date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))) {
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_senin == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Monday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = 1;
- // }
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_selasa == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Tuesday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari + 1;
- // }
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_rabu == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Wednesday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari + 1;
- // }
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_kamis == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Thursday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari + 1;
- // }
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_jumat == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Friday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari;
- // }
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_sabtu == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Saturday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari + 5;
- // }
- // $totalhari = $totalhari;
- // if ($karyawan[$i]->jadwalharikerja->checkbox_harikerja_minggu == 1 && date('l', strtotime($karyawan[$i]->presensis[$j]->tanggal_dan_waktu_tap)) == 'Sunday' && $karyawan[$i]->presensis[$j]->slotjam == 'Pulang') {
- // $totalhari = $totalhari + 1;
- // }
- $jumlah_pulang = Presensi::where('karyawan_id', $karyawan[$i]->id)->where('slotjam', 'Pulang')->get();
- $total_hari = $jumlah_pulang->count();
- //dd($total_hari);
- // $total_hari_setengah = 0;
- $jumlah_istirahat_mulai = Presensi::where('karyawan_id', $karyawan[$i]->id)->where('slotjam', '!=', null)->where('tanggal_dan_waktu_tap', '>=', date('Y-m-d', strtotime($dateupah->tanggal_mulai_periode)))->where('tanggal_dan_waktu_tap', '<=', date('Y-m-d', strtotime($dateupah->tanggal_selesai_periode)))->get();
- $total_hari_setengah = $jumlah_istirahat_mulai->count();
- //$new_entry_gaji->total_setengah_hari = $total_hari_setengah;
- $jumlah_rutin = Presensi::where('karyawan_id', $karyawan[$i]->id)->where('status', '=', 'Rutin')->get();
- $total_hari_rutin = $jumlah_rutin->count();
- //dd($total_hari_rutin);
- $jumlah_ngeplus = Presensi::where('karyawan_id', $karyawan[$i]->id)->where(function ($query) {
- $query->where('status', '=', 'nge-plus')->orWhere('status', '=', 'ngeplus-group');
- })->get();
- $total_hari_ngeplus = $jumlah_ngeplus->count();
- //dd($total_hari_ngeplus);
- }
- }
- }
- $new_entry_gaji->total_hari = $total_hari;
- $new_entry_gaji->total_setengah_hari = $total_hari_setengah;
- $new_entry_gaji->total_hari_rutin = $total_hari_rutin;
- $new_entry_gaji->total_hari_ngeplus = $total_hari_ngeplus;
- // dd($poinkaryawan);
- // if($total_hari_setengah > 5) {
- // $new_entry_gaji->persentase_cicilan = 100;
- // } else if($total_hari_setengah == 5) {
- // $new_entry_gaji->persentase_cicilan = 90;
- // } else if($total_hari_setengah == 4) {
- // $new_entry_gaji->persentase_cicilan = 70;
- // } else if($total_hari_setengah == 3) {
- // $new_entry_gaji->persentase_cicilan = 50;
- // } else if($total_hari_setengah == 2) {
- // $new_entry_gaji->persentase_cicilan = 30;
- // } else if($total_hari_setengah == 1) {
- // $new_entry_gaji->persentase_cicilan = 10;
- // } else {
- // $new_entry_gaji->persentase_cicilan = 0;
- // }
- $poinfull = $poinkaryawan + $poinkaryawanngeplus;
- $new_entry_gaji->poinfull = $poinfull;
- if($poinfull >= 5){
- $new_entry_gaji->persentase_cicilan = 100;
- } else if($poinfull >= 1 && $poinfull <= 1.75) {
- $new_entry_gaji->persentase_cicilan = 20;
- } else if($poinfull >= 2 && $poinfull <= 2.75) {
- $new_entry_gaji->persentase_cicilan = 40;
- } else if($poinfull >= 3 && $poinfull <= 3.75) {
- $new_entry_gaji->persentase_cicilan = 60;
- } else if($poinfull >= 4 && $poinfull >= 4.75) {
- $new_entry_gaji->persentase_cicilan = 80;
- } else{
- $new_entry_gaji->persentase_cicilan = 0;
- }
- // dd($poinfull);
- // if($poinfull >= 5) {
- // $new_entry_gaji->persentase_cicilan = 100;
- // } else if($poinfull >= 4 && $poinfull <= 4.75) {
- // $new_entry_gaji->persentase_cicilan = 80;
- // } else if($poinfull >= 3 && $poinfull <= 3.75) {
- // $new_entry_gaji->persentase_cicilan = 60;
- // } else if($poinfull >= 2 && $poinfull <= 2.75) {
- // $new_entry_gaji->persentase_cicilan = 40;
- // } else if($poinfull >= 1 && $poinfull <= 1.75) {
- // $new_entry_gaji->persentase_cicilan = 20;
- // } else {
- // $new_entry_gaji->persentase_cicilan = 0;
- // }
- // dd($new_entry_gaji->total_setengah_hari . '-' . $new_entry_gaji->persentase_cicilan);
- if (isset($karyawan[$i]->settingupah->nominal_dasar) || isset($karyawan[$i]->settingupah->nominal_ngeplus)) {
- $nominal_dasar = $karyawan[$i]->settingupah->nominal_dasar; //set upah dasar
- $nominal_ngeplus = $karyawan[$i]->settingupah->nominal_ngeplus; //set upah dasar ngeplus
- }
- if (isset($settingan_poin->poin)) {
- $setting_poin = $settingan_poin->poin; //set poin
- }
- // $jumlah_hari = Presensi::where('karyawan_id', $karyawan[$i]->id)->where('slotjam', 'Pulang')->get();
- // $total_hari = $jumlah_hari->count();
- $new_entry_gaji->poin = $poinkaryawan;
- $new_entry_gaji->poin_ngeplus = $poinkaryawanngeplus;
- $new_entry_gaji->setting_poin = $setting_poin;
- if (((int)$setting_poin * $total_hari_rutin) != 0 && (int)($poinkaryawan * ($nominal_dasar * $total_hari_rutin)) != 0) {
- // $perhitungan_nominal_dasar = (int)($poinkaryawan * ($nominal_dasar * $total_hari_rutin)) / ((int)$setting_poin * $total_hari_rutin);
- $perhitungan_nominal_dasar = (int)($poinkaryawan * $nominal_dasar);
- } else {
- $perhitungan_nominal_dasar = 0;
- }
- if (((int)$setting_poin * $total_hari_ngeplus) != 0 && (int)($poinkaryawanngeplus * ($nominal_ngeplus * $total_hari_ngeplus)) != 0) {
- // $perhitungan_nominal_ngeplus = (int)($poinkaryawanngeplus * ($nominal_ngeplus * $total_hari_ngeplus)) / ((int)$setting_poin * $total_hari_ngeplus);
- $perhitungan_nominal_ngeplus = (int)($poinkaryawanngeplus * $nominal_ngeplus);
- } else {
- $perhitungan_nominal_ngeplus = 0;
- }
- $new_entry_gaji->nominal_dasar = (int)($perhitungan_nominal_dasar + $perhitungan_nominal_ngeplus);
- // $new_entry_gaji->nominal_dasar = $poinkaryawan * ($nominal_dasar * $total_hari) / $setting_poin * $total_hari;
- // dd($perhitungan_nominal_ngeplus);
- //input total tunggakan
- // $utang_id = Cicilan::select('id')->where('karyawan_id', $new_entry_gaji->karyawan_id)->first();
- // if ($utang_id !== null) {
- // $tot_utang = Cicilan::select('total')->where('id', $utang_id->id)->first();
- // $new_entry_gaji->total_tunggakan = $tot_utang->total;
- // // $new_entry_gaji->jenis_tunggakan = $tot_utang->type;
- // } else {
- // $new_entry_gaji->total_tunggakan = 0;
- // }
- $jamsostek_id = Jamsostek::select('id')->where('karyawan_id', $new_entry_gaji->karyawan_id)->first();
- if (!$jamsostek_id) {
- $new_entry_gaji->jamsostek_id = null;
- } else {
- $new_entry_gaji->jamsostek_id = $jamsostek_id->id;
- }
- if ($dateupah->is_potongan_jamsostek == true) {
- if ($jamsostek_id !== null) {
- $nom_jamsostek = Jamsostek::select('nominal')->where('id', $jamsostek_id->id)->first();
- $new_entry_gaji->nominal_jamsostek = $nom_jamsostek->nominal;
- }
- } else {
- $new_entry_gaji->nominal_jamsostek = 0;
- }
- if ($dateupah->is_potongan_bpjs == true) {
- if ($new_entry_gaji->bpjs_id !== null) {
- $nom_bpjs = Bpjs::select('nominal')->where('id', $new_entry_gaji->bpjs_id)->first();
- $new_entry_gaji->nominal_bpjs = $nom_bpjs->nominal; //set nominal
- }
- } else {
- $new_entry_gaji->nominal_bpjs = 0;
- }
- if ($dateupah->is_potongan_cicilan == true) {
- if ($karyawan[$i]->potongan_cicilan != 0) {
- if ($karyawan[$i]->sisa_pinjaman >= $karyawan[$i]->cicilan_pinjaman) {
- $new_entry_gaji->nominal_cicilan = $karyawan[$i]->potongan_cicilan;
- $new_entry_gaji->nominal_calculated_cicilan = $karyawan[$i]->potongancicilan * ($new_entry_gaji->persentase_cicilan/100);
- }
- if ($karyawan[$i]->sisa_pinjaman < $karyawan[$i]->cicilan_pinjaman) {
- $new_entry_gaji->nominal_cicilan = $karyawan[$i]->sisa_pinjaman;
- $new_entry_gaji->nominal_calculated_cicilan = $karyawan[$i]->sisa_pinjaman * ($new_entry_gaji->persentase_cicilan/100);
- }
- } else {
- if ($karyawan[$i]->sisa_pinjaman >= $karyawan[$i]->cicilan_pinjaman) {
- $new_entry_gaji->nominal_cicilan = $karyawan[$i]->cicilan_pinjaman;
- $new_entry_gaji->nominal_calculated_cicilan = $karyawan[$i]->cicilan_pinjaman * ($new_entry_gaji->persentase_cicilan/100);
- }
- if ($karyawan[$i]->sisa_pinjaman < $karyawan[$i]->cicilan_pinjaman) {
- $new_entry_gaji->nominal_cicilan = $karyawan[$i]->sisa_pinjaman;
- $new_entry_gaji->nominal_calculated_cicilan = $karyawan[$i]->sisa_pinjaman * ($new_entry_gaji->persentase_cicilan/100);
- }
- }
- } else {
- $new_entry_gaji->nominal_cicilan = 0;
- $new_entry_gaji->nominal_calculated_cicilan = 0 * ($new_entry_gaji->persentase_cicilan/100);
- }
- // $cicilan_id = Cicilan::select('id')->where('karyawan_id', $new_entry_gaji->karyawan_id)->first();
- // if (!$cicilan_id) {
- // $new_entry_gaji->cicilan_id = null;
- // } else {
- // $new_entry_gaji->cicilan_id = $cicilan_id->id;
- // }
- // if ($cicilan_id !== null) {
- // $nom_cicilan = Cicilan::select('nominal')->where('id', $cicilan_id->id)->first();
- // $new_entry_gaji->nominal_cicilan = $nom_cicilan->nominal;
- // }
- $settingupah_id = SettingUpah::where('karyawan_id', $new_entry_gaji->karyawan_id)->first();
- if (!$settingupah_id) {
- $new_entry_gaji->setting_upah_id = null;
- $new_entry_gaji->upah_rutin_harian = 0;
- $new_entry_gaji->nominal_upah_rutin = 0;
- $new_entry_gaji->nominal_upah_ngeplus = 0;
- } else {
- $new_entry_gaji->setting_upah_id = $settingupah_id->id;
- $new_entry_gaji->upah_rutin_harian = (int)$settingupah_id->nominal_dasar;
- $new_entry_gaji->nominal_upah_rutin = (int)$settingupah_id->nominal_dasar;
- $new_entry_gaji->nominal_upah_ngeplus = (int)$settingupah_id->nominal_ngeplus;
- }
- // if ($settingupah_id != null) {
- // $total_upah = SettingUpah::select('nominal_dasar', 'nominal_ngeplus')->where('id', $settingupah_id->id)->first();
- // }
- // $bonus_id = Bonus::select('id')->where('karyawan_id', $new_entry_gaji->karyawan_id)->first();
- // if (!$bonus_id) {
- // $new_entry_gaji->bonus_id = null;
- // } else {
- // $new_entry_gaji->bonus_id = $bonus_id->id;
- // }
- // if ($bonus_id !== null) {
- // $nom_bonus = Bonus::select('nominal_dasar')->where('id', $bonus_id->id)->first();
- // }
- $new_entry_gaji->nominal_bonus_overtime = $karyawan[$i]->bonus_overtime;
- $new_entry_gaji->nominal_bonus_kehadiran = $karyawan[$i]->bonus_kehadiran;
- $new_entry_gaji->nominal_bonus = $karyawan[$i]->bonus_kehadiran + $karyawan[$i]->bonus_overtime;
- //KONDISI ISI TUNGGAKAN KETIKA TIDAK CEK
- $new_entry_gaji->status_pembayaran_upahdasar = "selected";
- $new_entry_gaji->status_bayar_semua = "selected";
- $new_entry_gaji->status_pembayaran_bonus = "selected";
- // set default nya 0
- $new_entry_gaji->checkbox_cicilan = 0;
- $new_entry_gaji->checkbox_jamsostek = 0;
- $new_entry_gaji->checkbox_bpjs = 0;
- $new_entry_gaji->checkbox_tunggakan = 0;
- if ($request->potongan_cicilan != null) {
- $new_entry_gaji->status_pembayaran_cicilan = "selected";
- $new_entry_gaji->checkbox_cicilan = 1;
- } else {
- $new_entry_gaji->status_pembayaran_cicilan = "next";
- $new_entry_gaji->checkbox_cicilan = $checkbox_cicilan;
- // $new_entry_gaji->nominal_tunggakan = $new_entry_gaji->nominal_tunggakan + $new_entry_gaji->nominal_cicilan;
- // $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_tunggakan + $new_entry_gaji->nominal_cicilan;
- }
- if ($request->potongan_bpjs != null) {
- $new_entry_gaji->status_pembayaran_bpjs = "selected";
- $new_entry_gaji->checkbox_bpjs = 1;
- // $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_tunggakan + $new_entry_gaji->nominal_bpjs;
- } else {
- $new_entry_gaji->status_pembayaran_bpjs = "next";
- $new_entry_gaji->checkbox_bpjs = $checkbox_bpjs;
- // $new_entry_gaji->nominal_tunggakan = $new_entry_gaji->nominal_tunggakan + $new_entry_gaji->nominal_bpjs;
- // $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_tunggakan + $new_entry_gaji->nominal_bpjs;
- }
- if ($request->potongan_jamsostek != null) {
- $new_entry_gaji->status_pembayaran_jamsostek = "selected";
- $new_entry_gaji->checkbox_jamsostek = 1;
- // $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_tunggakan + $new_entry_gaji->nominal_jamsostek;
- } else {
- $new_entry_gaji->status_pembayaran_jamsostek = "next";
- $new_entry_gaji->checkbox_jamsostek = $checkbox_jamsostek;
- // $new_entry_gaji->nominal_tunggakan = $new_entry_gaji->nominal_tunggakan + $new_entry_gaji->nominal_jamsostek;
- // $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_tunggakan + $new_entry_gaji->nominal_jamsostek;
- }
- if ($request->potongan_tunggakan != null) {
- $new_entry_gaji->status_pembayaran_tunggakan = "selected";
- $new_entry_gaji->checkbox_tunggakan = 1;
- } else {
- $new_entry_gaji->status_pembayaran_tunggakan = "next";
- $new_entry_gaji->checkbox_tunggakan = $checkbox_tunggakan;
- }
- $new_entry_gaji->periodegaji_id = $dateupah->id;
- $new_entry_gaji->tanggal_mulai_periode = $dateupah->tanggal_mulai_periode;
- $new_entry_gaji->tanggal_selesai_periode = $dateupah->tanggal_selesai_periode;
- //$adatunggakan = Gaji::where('karyawan_id', $karyawan[$i]->id)->sum('total_potongan_tunggakan');
- //dd($adatunggakan);
- // dd($adatunggakan);
- // if ($adatunggakan !== null) {
- // for ($k = 0; $k < count($adatunggakan); $k++) {
- // if ($adatunggakan[$i]->total_potongan_tunggakan !== 0) {
- // // $cari_tunggakan = $new_entry_gaji->total_potongan_tunggakan + $adatunggakan[$i]->total_potongan_tunggakan;
- // $cari_tunggakan = $adatunggakan->sum('total_potongan_tunggakan');
- // }
- // }
- // $kalkulasi_tunggakan = $cari_tunggakan;
- // } else {
- // $kalkulasi_tunggakan = 0;
- // }
- if ($dateupah->is_potongan_tunggakan == true) {
- $new_entry_gaji->total_potongan_tunggakan = $karyawan[$i]->total_tunggakan_periode_berikutnya;
- } else {
- $new_entry_gaji->total_potongan_tunggakan = 0;
- }
- $new_entry_gaji->total_tunggakan = $new_entry_gaji->total_potongan_tunggakan + $new_entry_gaji->nominal_bpjs + $new_entry_gaji->nominal_jamsostek + $new_entry_gaji->nominal_cicilan;
- // dd($new_entry_gaji->total_potongan_tunggakan);
- // $new_entry_gaji->total = ($new_entry_gaji->nominal_dasar + $new_entry_gaji->nominal_bonus) - ($new_entry_gaji->nominal_bpjs + $new_entry_gaji->nominal_jamsostek + $new_entry_gaji->nominal_cicilan);
- if (isset($settingupah_id)) {
- $new_entry_gaji->kalkulasi_rutin = $poinkaryawan * $settingupah_id->nominal_dasar;
- $new_entry_gaji->kalkulasi_ngeplus = $poinkaryawanngeplus * $settingupah_id->nominal_ngeplus;
- } else {
- $new_entry_gaji->kalkulasi_rutin = $poinkaryawan * 0;
- $new_entry_gaji->kalkulasi_ngeplus = $poinkaryawanngeplus * 0;
- }
- $new_entry_gaji->kalkulasi_bonus = $new_entry_gaji->nominal_bonus_overtime + $new_entry_gaji->nominal_bonus_kehadiran;
- //TOTAL UPAH KARYAWAN + BONUS - POTONGAN
- $new_entry_gaji->total = $new_entry_gaji->nominal_dasar + $new_entry_gaji->kalkulasi_bonus - $new_entry_gaji->nominal_cicilan - $new_entry_gaji->total_potongan_tunggakan - $new_entry_gaji->nominal_bpjs - $new_entry_gaji->nominal_jamsostek;
- //NOMINAL UPAH DASAR KARYAWANN
- $new_entry_gaji->nominal = 0;
- //TOTAL UPAH KARYAWAN + BONUS YANG AKAN TERJADI PENGURANGAN DARI TUNGGAKAN
- $new_entry_gaji->sisa = $new_entry_gaji->total;
- // $new_entry_gaji->sisa = $new_entry_gaji->nominal_bpjs + $new_entry_gaji->nominal_jamsostek + $new_entry_gaji->nominal_cicilan;
- $new_entry_gaji->is_final = 'belum bayar';
- // dd($new_entry_gaji->toArray());
- // reset persentase cicilan jadi 0 jika poin < 1
- if($new_entry_gaji->poin < 1) {
- $new_entry_gaji->persentase_cicilan = 0;
- $new_entry_gaji->nominal_calculated_cicilan = 0;
- }
- // input JUMLAH UPAH KOTOR DAN CHECKBOXNYA
- $new_entry_gaji->upah_kotor = $new_entry_gaji->nominal_dasar + $new_entry_gaji->nominal_bonus;
- $new_entry_gaji->total_upah_sebelum_cicilan = $new_entry_gaji->nominal_dasar;
- $new_entry_gaji->checkbox_upah_kotor = 1;
- // dd($new_entry_gaji);
- $new_entry_gaji->save();
- // jumlahin semuanya
- $total_gaji_dasar += $new_entry_gaji->nominal_dasar;
- $total_bonus += $new_entry_gaji->nominal_bonus;
- $total_gaji_kotor += ($new_entry_gaji->nominal_dasar + $new_entry_gaji->nominal_bonus);
- $total_gaji_bersih += 0;
- $total_bpjs += $new_entry_gaji->nominal_bpjs;
- $total_jamsostek += $new_entry_gaji->nominal_jamsostek;
- $total_cicilan += $new_entry_gaji->nominal_cicilan;
- // jumlah paraameter kehadiran
- $total_poin += $poinfull;
- }
- $periodegaji = PeriodeGaji::find($dateupah->id);
- $periodegaji->total_upah_dasar = $total_gaji_dasar;
- $periodegaji->total_bonus = $total_bonus;
- $periodegaji->total_upah_kotor = $total_gaji_kotor;
- $periodegaji->total_upah_bersih = $total_gaji_bersih;
- $periodegaji->total_bpjs = $total_bpjs;
- $periodegaji->total_jamsostek = $total_jamsostek;
- $periodegaji->total_cicilan = $total_cicilan;
- $periodegaji->total_poin = $total_poin;
- $periodegaji->total_sakit = $total_sakit;
- $periodegaji->total_izin = $total_izin;
- $periodegaji->total_libur = $total_libur;
- $periodegaji->save();
- alert()->success('Sukses', 'Data Tanggal Upah berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- /**
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function bayarupahGroup($id, $group_id)
- {
- $hari_ini = Carbon::now();
- $anggota = Karyawan::where('group_id', $group_id)->get();
- // $periode = PeriodeGaji::find($id);
- $gaji = Gaji::where('periodegaji_id', $id)->get();
- $final_count = 0;
- foreach ($gaji as $k) {
- for ($i = 0; $i < count($anggota); $i++) {
- if ($k->karyawan_id == $anggota[$i]->id) {
- // $k->tanggal_pembayaran = $hari_ini;
- // $k->nominal = $k->nominal - $k->nominal_bpjs - $k->nominal_jamsostek - $k->nominal_cicilan + $k->nominal_bonus;
- // $k->sisa = $k->sisa - $k->nominal_bpjs - $k->nominal_jamsostek - $k->nominal_cicilan + $k->nominal_bonus;
- // $k->nominal_tunggakan = $k->nominal_bpjs + $k->nominal_jamsostek + $k->nominal_cicilan;
- // $k->status_pembayaran_jamsostek = 'bayar';
- // $k->status_pembayaran_bpjs = 'bayar';
- // $k->status_pembayaran_cicilan = 'bayar';
- // $k->status_pembayaran_tunggakan = 'bayar';
- // $k->status_pembayaran_bonus = 'bayar';
- // $k->status_pembayaran_upahdasar = 'bayar';
- if ($k->is_final == 'belum bayar' || $k->is_final == null) {
- $k->status_pembayaran_semua_kalkulasi = 'bayar';
- $k->status_pembayaran_upahdasar = 'bayar';
- $k->tanggal_pembayaran = date('Y-m-d');
- $k->status_pembayaran_bonus = 'bayar';
- $k->status_pembayaran_jamsostek = 'bayar';
- $k->status_pembayaran_cicilan = 'bayar';
- $k->status_pembayaran_bpjs = 'bayar';
- $k->status_pembayaran_tunggakan = 'bayar';
- $k->nominal = $k->total;
- $k->is_final = 'bayar';
- $k->update();
- $anggota[$i]->nominal_upah_dasar = $k->nominal_dasar;
- $anggota[$i]->save();
- if ($k->status_pembayaran_bonus == 'bayar') {
- $anggota[$i]->bonus_overtime = 0;
- $anggota[$i]->bonus_kehadiran = 0;
- $anggota[$i]->periode_mulai_kehadiran = null;
- $anggota[$i]->periode_selesai_kehadiran = null;
- $anggota[$i]->periode_mulai_overtime = null;
- $anggota[$i]->periode_selesai_overtime = null;
- $anggota[$i]->upah_bonus = $k->nominal_bonus;
- $anggota[$i]->save();
- }
- if ($k->status_pembayaran_cicilan == 'bayar') {
- if ($anggota[$i]->potongan_cicilan != 0) {
- $anggota[$i]->nominal_pinjaman = $anggota[$i]->nominal_pinjaman + $k->nominal_calculated_cicilan;
- $anggota[$i]->sisa_pinjaman = $anggota[$i]->sisa_pinjaman - $k->nominal_calculated_cicilan;
- if($k->nominal_calculated_cicilan != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $anggota[$i]->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan dengan Potongan';
- $riwayat_pinjaman->total_pinjaman = $anggota[$i]->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $anggota[$i]->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $anggota[$i]->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $anggota[$i]->potongan_cicilan;
- $riwayat_pinjaman->save();
- }
- $anggota[$i]->potongan_cicilan = 0;
- $anggota[$i]->upah_potongan_cicilan = $k->nominal_calculated_cicilan;
- $anggota[$i]->save();
- if ($anggota[$i]->sisa_pinjaman == 0) {
- $anggota[$i]->cicilan_pinjaman = 0;
- $anggota[$i]->potongan_cicilan = 0;
- $anggota[$i]->save();
- }
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- } else {
- $anggota[$i]->nominal_pinjaman = $anggota[$i]->nominal_pinjaman + $k->nominal_calculated_cicilan;
- $anggota[$i]->sisa_pinjaman = $anggota[$i]->sisa_pinjaman - $k->nominal_calculated_cicilan;
- if($k->nominal_calculated_cicilan != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $anggota[$i]->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan';
- $riwayat_pinjaman->total_pinjaman = $anggota[$i]->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $anggota[$i]->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $anggota[$i]->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $anggota[$i]->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- }
- $anggota[$i]->upah_potongan_cicilan = $k->nominal_calculated_cicilan;
- $anggota[$i]->save();
- if ($anggota[$i]->sisa_pinjaman == 0) {
- $anggota[$i]->cicilan_pinjaman = 0;
- $anggota[$i]->potongan_cicilan = 0;
- $anggota[$i]->save();
- }
- }
- }
- if ($k->status_pembayaran_tunggakan == 'bayar') {
- //$anggota[$i]->nominal_pinjaman = $anggota[$i]->nominal_pinjaman + $anggota[$i]->akumulasi_cicilan;
- //$anggota[$i]->sisa_pinjaman = $anggota[$i]->sisa_pinjaman - $anggota[$i]->akumulasi_cicilan;
- $anggota[$i]->total_tunggakan = $anggota[$i]->total_tunggakan - $k->total_potongan_tunggakan;
- $anggota[$i]->total_tunggakan_periode_berikutnya = $anggota[$i]->total_tunggakan_periode_berikutnya - $k->total_potongan_tunggakan;
- // $riwayat_pinjaman = new RiwayatPinjaman();
- // $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- // $riwayat_pinjaman->karyawan_id = $anggota[$i]->id;
- // $riwayat_pinjaman->jenis = 'Bayar Tunggakan Cicilan';
- // $riwayat_pinjaman->total_pinjaman = $anggota[$i]->total_pinjaman;
- // $riwayat_pinjaman->nominal_pinjaman = $anggota[$i]->nominal_pinjaman;
- // $riwayat_pinjaman->sisa_pinjaman = $anggota[$i]->sisa_pinjaman;
- // $riwayat_pinjaman->cicilan_pinjaman = $anggota[$i]->cicilan_pinjaman;
- // $riwayat_pinjaman->save();
- // $karyawan->akumulasi_cicilan = 0;
- $anggota[$i]->save();
- // if ($anggota[$i]->sisa_pinjaman == 0) {
- // $anggota[$i]->cicilan_pinjaman = 0;
- // $anggota[$i]->potongan_cicilan = 0;
- // $anggota[$i]->save();
- // }
- }
- if ($k->status_pembayaran_jamsostek == 'bayar') {
- $anggota[$i]->upah_potongan_jamsostek = $k->nominal_jamsostek;
- $anggota[$i]->save();
- }
- if ($k->status_pembayaran_bpjs == 'bayar') {
- $anggota[$i]->upah_potongan_bpjs = $k->nominal_bpjs;
- $anggota[$i]->save();
- }
- }
- // $cicilan_id = Cicilan::where('karyawan_id', $anggota[$i]->id)->first();
- // if ($cicilan_id !== null) {
- // $cicilan = Cicilan::find($cicilan_id->id);
- // $cicilan->total = $cicilan->total - $cicilan->nominal;
- // // dd($k->nominal_cicilan);
- // $cicilan->sisa = $cicilan->total;
- // $cicilan->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $cicilan->save();
- // };
- // $bonus_id = Bonus::where('karyawan_id', $anggota[$i]->id)->first();
- // if ($bonus_id !== null) {
- // $bonus = Bonus::find($bonus_id->id);
- // $bonus->destroy($bonus_id->id);
- // }
- $final_count += 1;
- }
- // dd($k);
- }
- }
- alert()->success('Sukses', ' Pembayaran Upah Grup berhasil .')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- $periodegaji = PeriodeGaji::where('id', '=', $id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- //bayar semua upah pertanggal tersebut
- public function bayartanggal($id)
- {
- $periode_id = PeriodeGaji::find($id);
- $data = Gaji::where('periodegaji_id', $id)->get();
- foreach ($data as $k) {
- $karyawan = Karyawan::find($k->karyawan_id);
- // variable $cicilan tidak dipakai
- // $cicilan = Cicilan::where('karyawan_id', '=', $k->karyawan_id)->first();
- if ($k->is_final == 'belum bayar' || $k->is_final == null) {
- $k->status_pembayaran_semua_kalkulasi = 'bayar';
- $k->status_pembayaran_upahdasar = 'bayar';
- $k->tanggal_pembayaran = date('Y-m-d');
- $k->status_pembayaran_bonus = 'bayar';
- $k->status_pembayaran_jamsostek = 'bayar';
- $k->status_pembayaran_cicilan = 'bayar';
- $k->status_pembayaran_bpjs = 'bayar';
- $k->status_pembayaran_tunggakan = 'bayar';
- $k->nominal = $k->total;
- $k->is_final = 'bayar';
- $karyawan->nominal_upah_dasar = $k->nominal_dasar;
- $karyawan->save();
- if ($k->status_pembayaran_bonus == 'bayar') {
- $karyawan->bonus_overtime = 0;
- $karyawan->bonus_kehadiran = 0;
- $karyawan->periode_mulai_kehadiran = null;
- $karyawan->periode_selesai_kehadiran = null;
- $karyawan->periode_mulai_overtime = null;
- $karyawan->periode_selesai_overtime = null;
- $karyawan->upah_bonus = $k->nominal_bonus;
- $karyawan->save();
- }
- if ($k->status_pembayaran_cicilan == 'bayar') {
- if ($karyawan->potongan_cicilan != 0) {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $karyawan->cicilan_pinjaman;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $karyawan->cicilan_pinjaman;
- if($karyawan->cicilan_pinjaman != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan dengan Potongan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->potongan_cicilan;
- $riwayat_pinjaman->save();
- }
- $karyawan->potongan_cicilan = 0;
- $karyawan->upah_potongan_cicilan = $k->nominal_calculated_cicilan;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- // if(isset($cicilan)) {
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- // }
- } else {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $k->nominal_calculated_cicilan;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $k->nominal_calculated_cicilan;
- if($karyawan->cicilan_pinjaman != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan dengan Potongan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- }
- $karyawan->upah_potongan_cicilan = $k->nominal_calculated_cicilan;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- }
- }
- if ($k->status_pembayaran_tunggakan == 'bayar') {
- //$karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $karyawan->akumulasi_cicilan;
- //$karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $karyawan->akumulasi_cicilan;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $k->total_potongan_tunggakan;
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $k->total_potongan_tunggakan;
- // $riwayat_pinjaman = new RiwayatPinjaman();
- // $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- // $riwayat_pinjaman->karyawan_id = $karyawan->id;
- // $riwayat_pinjaman->jenis = 'Bayar Tunggakan Cicilan';
- // $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- // $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- // $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- // $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- // $riwayat_pinjaman->save();
- // $karyawan->akumulasi_cicilan = 0;
- $karyawan->save();
- // if ($karyawan->sisa_pinjaman == 0) {
- // $karyawan->cicilan_pinjaman = 0;
- // $karyawan->potongan_cicilan = 0;
- // $karyawan->save();
- // }
- }
- if ($k->status_pembayaran_jamsostek == 'bayar') {
- $karyawan->upah_potongan_jamsostek = $k->nominal_jamsostek;
- $karyawan->save();
- }
- if ($k->status_pembayaran_bpjs == 'bayar') {
- $karyawan->upah_potongan_bpjs = $k->nominal_bpjs;
- $karyawan->save();
- }
- }
- //backup
- // if ($k->status_pembayaran_jamsostek == 'selected') {
- // $k->status_pembayaran_jamsostek = 'bayar';
- // $k->nominal = $k->nominal - $k->nominal_jamsostek;
- // $k->sisa = $k->sisa - $k->nominal_jamsostek;
- // $k->nominal_tunggakan = $k->nominal_tunggakan + $k->nominal_jamsostek;
- // }
- // if ($k->status_pembayaran_cicilan == 'selected') {
- // $k->status_pembayaran_cicilan = 'bayar';
- // $k->nominal = $k->nominal - $k->nominal_cicilan;
- // $k->sisa = $k->sisa - $k->nominal_cicilan;
- // $k->nominal_tunggakan = $k->nominal_tunggakan + $k->nominal_cicilan;
- // }
- // if ($k->status_pembayaran_bpjs == 'selected') {
- // $k->status_pembayaran_bpjs = 'bayar';
- // $k->nominal = $k->nominal - $k->nominal_bpjs;
- // $k->sisa = $k->sisa - $k->nominal_bpjs;
- // $k->nominal_tunggakan = $k->nominal_tunggakan + $k->nominal_bpjs;
- // }
- // if ($k->status_pembayaran_bonus == 'selected') {
- // $k->status_pembayaran_bonus = 'bayar';
- // $k->nominal = $k->nominal - $k->nominal_bonus;
- // $k->sisa = $k->sisa - $k->nominal_bonus;
- // }
- // // dd($k->nominal);
- $k->save();
- }
- $periode_id->is_final = 'bayar';
- $periode_id->save();
- alert()->success('Sukses', ' Pembayaran Upah Per Periode berhasil .')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- /**
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function bayarupah($id, $karyawan_id)
- {
- $nominal_dasar = 0;
- $gaji = Gaji::with('karyawan.group', 'karyawan.jamsostek', 'karyawan.settingUpah', 'karyawan.bpjs', 'karyawan.bonus')->find($id);
- $gaji->setAttribute('bayar_jamsostek', 0);
- $gaji->setAttribute('bayar_bpjs', 0);
- $gaji->setAttribute('bayar_cicilan', 0);
- $gaji->setAttribute('bayar_tunggakan', 0);
- if (($gaji->status_pembayaran_jamsostek == "selected") || ($gaji->status_pembayaran_jamsostek == "bayar")) {
- $gaji->bayar_jamsostek = $gaji->nominal_jamsostek;
- }
- if (($gaji->status_pembayaran_bpjs == "selected") || ($gaji->status_pembayaran_bpjs == "bayar")) {
- $gaji->bayar_bpjs = $gaji->nominal_bpjs;
- }
- if (($gaji->status_pembayaran_cicilan == "selected") || ($gaji->status_pembayaran_cicilan == "bayar")) {
- $gaji->bayar_cicilan = $gaji->nominal_calculated_cicilan;
- }
- if (($gaji->status_pembayaran_tunggakan == "selected") || ($gaji->status_pembayaran_bayar == "bayar")) {
- $gaji->bayar_tunggakan = $gaji->total_tunggakan;
- }
- $gaji->total = ($gaji->nominal_dasar + $gaji->nominal_bonus) - ($gaji->bayar_jamsostek + $gaji->bayar_bpjs + $gaji->bayar_cicilan + $gaji->bayar_tunggakan);
- if ($gaji->karyawan['settingUpah'] !== null) {
- $nominal_dasar = $gaji->karyawan['settingUpah']->nominal_dasar;
- } else {
- $nominal_dasar = 0;
- }
- return view('Gaji.bayarupah', compact('gaji', 'nominal_dasar'));
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function storebayarupah(Request $request, $id)
- {
- $data = json_decode($request->gaji);
- $gaji = Gaji::find($id);
- $gaji->total = $data->total;
- $karyawan = Karyawan::find($gaji->karyawan_id);
- // $cicilan = Cicilan::where('karyawan_id', '=', $gaji->karyawan_id)->first();
- $gaji->status_pembayaran_semua_kalkulasi = 'bayar';
- $gaji->status_pembayaran_upahdasar = 'bayar';
- $gaji->tanggal_pembayaran = date('Y-m-d');
- $gaji->status_pembayaran_bonus = 'bayar';
- $gaji->status_pembayaran_jamsostek = 'bayar';
- $gaji->status_pembayaran_cicilan = 'bayar';
- $gaji->status_pembayaran_bpjs = 'bayar';
- $gaji->status_pembayaran_tunggakan = 'bayar';
- $gaji->nominal = $gaji->nominal + $gaji->nominal_dasar + $gaji->kalkulasi_bonus - $gaji->nominal_calculated_cicilan - $gaji->total_potongan_tunggakan - $gaji->nominal_bpjs - $gaji->nominal_jamsostek;
- $gaji->sisa = $gaji->sisa - $gaji->nominal;
- /**
- * KONDISI TERBAYARKAN
- */
- if ($gaji->status_pembayaran_cicilan == 'bayar') {
- if ($karyawan->potongan_cicilan != 0) {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji->nominal_calculated_cicilan;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji->nominal_calculated_cicilan;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- } else {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji->nominal_calculated_cicilan;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji->nominal_calculated_cicilan;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- }
- }
- if ($gaji->status_pembayaran_tunggakan == 'bayar') {
- //$karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $karyawan->akumulasi_cicilan;
- //$karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $karyawan->akumulasi_cicilan;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $gaji->total_potongan_tunggakan;
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $gaji->total_potongan_tunggakan;
- // $karyawan->akumulasi_cicilan = 0;
- $karyawan->save();
- // if ($karyawan->sisa_pinjaman == 0) {
- // $karyawan->cicilan_pinjaman = 0;
- // $karyawan->potongan_cicilan = 0;
- // $karyawan->save();
- // }
- }
- // //backup
- // if ($gaji->status_pembayaran_jamsostek == "selected") {
- // $gaji->tanggal_jamsostek = date('Y-m-d H:i:s');
- // $gaji->status_pembayaran_jamsostek = $request->bayar;
- // }
- // // dd($gaji->status_pembayaran_jamsostek);
- // if ($gaji->status_pembayaran_bpjs == "selected") {
- // $gaji->status_pembayaran_bpjs = "bayar";
- // $gaji->tanggal_bpjs = date('Y-m-d H:i:s');
- // }
- // // dd($gaji->status_pembayaran_bpjs);
- // if ($gaji->status_pembayaran_cicilan == "selected") {
- // $gaji->status_pembayaran_cicilan = "bayar";
- // $gaji->tanggal_cicilan = date('Y-m-d H:i:s');
- // }
- // if ($gaji->status_pembayaran_tunggakan == "selected") {
- // $gaji->status_pembayaran_tunggakan = "bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // }
- // if ($gaji->status_pembayaran_bonus == "selected") {
- // $gaji->status_pembayaran_bonus = "bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // }
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- $gaji->is_final = 'bayar';
- $gaji->save();
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- public function storebayarsesungguhnya($id)
- {
- $gaji = Gaji::find($id);
- $karyawan = Karyawan::find($gaji->karyawan_id);
- //$cicilan = Cicilan::where('karyawan_id', '=', $gaji->karyawan_id)->first();
- //dd($cicilan);
- $gaji->status_pembayaran_semua_kalkulasi = 'bayar';
- $gaji->status_pembayaran_upahdasar = 'bayar';
- $gaji->tanggal_pembayaran = date('Y-m-d');
- if ($gaji->status_pembayaran_bonus == 'siap bayar') {
- $gaji->status_pembayaran_bonus = 'bayar';
- } else {
- $gaji->status_pembayaran_bonus = 'tidak dibayar';
- }
- if ($gaji->status_pembayaran_jamsostek == 'siap bayar') {
- $gaji->status_pembayaran_jamsostek = 'bayar';
- } else {
- $gaji->status_pembayaran_jamsostek = 'tunggak';
- }
- if ($gaji->status_pembayaran_cicilan == 'siap bayar') {
- $gaji->status_pembayaran_cicilan = 'bayar';
- } else {
- $gaji->status_pembayaran_cicilan = 'tidak dibayar';
- }
- if ($gaji->status_pembayaran_bpjs == 'siap bayar') {
- $gaji->status_pembayaran_bpjs = 'bayar';
- } else {
- $gaji->status_pembayaran_bpjs = 'tunggak';
- }
- if ($gaji->status_pembayaran_tunggakan == 'siap bayar') {
- $gaji->status_pembayaran_tunggakan = 'bayar';
- } else {
- $gaji->status_pembayaran_tunggakan = 'tunggak';
- }
- /**
- * KONDISI TERBAYARKAN
- */
- $karyawan->nominal_upah_dasar = $gaji->nominal_dasar;
- $karyawan->save();
- if ($gaji->status_pembayaran_bonus == 'bayar') {
- $karyawan->bonus_overtime = 0;
- $karyawan->bonus_kehadiran = 0;
- $karyawan->periode_mulai_kehadiran = null;
- $karyawan->periode_selesai_kehadiran = null;
- $karyawan->periode_mulai_overtime = null;
- $karyawan->periode_selesai_overtime = null;
- $karyawan->upah_bonus = $gaji->nominal_bonus;
- $karyawan->save();
- }
- if ($gaji->status_pembayaran_cicilan == 'bayar') {
- if ($karyawan->potongan_cicilan != 0) {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji->nominal_calculated_cicilan;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji->nominal_calculated_cicilan;
- if($gaji->nominal_calculated_cicilan != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan dengan Potongan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->potongan_cicilan;
- $riwayat_pinjaman->save();
- }
- // $cicilan->nominal_sementara = 0;
- // $cicilan->status = 0;
- // $cicilan->save();
- } else {
- $karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $gaji->nominal_calculated_cicilan;
- $karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $gaji->nominal_calculated_cicilan;
- if($gaji->nominal_calculated_cicilan != 0) {
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Bayar Cicilan';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- }
- }
- $karyawan->upah_potongan_cicilan = $gaji->nominal_calculated_cicilan;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- if ($karyawan->sisa_pinjaman == 0) {
- $karyawan->cicilan_pinjaman = 0;
- $karyawan->potongan_cicilan = 0;
- $karyawan->save();
- }
- }
- if ($gaji->status_pembayaran_tunggakan == 'bayar') {
- //$karyawan->nominal_pinjaman = $karyawan->nominal_pinjaman + $karyawan->akumulasi_cicilan;
- //$karyawan->sisa_pinjaman = $karyawan->sisa_pinjaman - $karyawan->akumulasi_cicilan;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $gaji->total_potongan_tunggakan;
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $gaji->total_potongan_tunggakan;
- // $riwayat_pinjaman = new RiwayatPinjaman();
- // $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- // $riwayat_pinjaman->karyawan_id = $karyawan->id;
- // $riwayat_pinjaman->jenis = 'Bayar Tunggakan Cicilan';
- // $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- // $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- // $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- // $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- // $riwayat_pinjaman->save();
- // $karyawan->akumulasi_cicilan = 0;
- $karyawan->save();
- // if ($karyawan->sisa_pinjaman == 0) {
- // $karyawan->cicilan_pinjaman = 0;
- // $karyawan->potongan_cicilan = 0;
- // $karyawan->save();
- // }
- }
- if ($gaji->status_pembayaran_jamsostek == 'bayar') {
- $karyawan->upah_potongan_jamsostek = $gaji->nominal_jamsostek;
- $karyawan->save();
- }
- if ($gaji->status_pembayaran_bpjs == 'bayar') {
- $karyawan->upah_potongan_bpjs = $gaji->nominal_bpjs;
- $karyawan->save();
- }
- /**
- * KONDISI TERTUNGGAK
- */
- if ($gaji->status_pembayaran_jamsostek == 'tunggak') {
- $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_jamsostek;
- $gaji->fixed_total_potongan_tunggakan = $gaji->fixed_total_potongan_tunggakan + $gaji->nominal_jamsostek;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji->nominal_jamsostek;
- $karyawan->save();
- }
- if ($gaji->status_pembayaran_bpjs == 'tunggak') {
- $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_bpjs;
- $gaji->fixed_total_potongan_tunggakan = $gaji->fixed_total_potongan_tunggakan + $gaji->nominal_bpjs;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji->nominal_bpjs;
- $karyawan->save();
- }
- // if ($gaji->status_pembayaran_cicilan == 'tunggak') {
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_cicilan;
- // $gaji->nominal_penanda_cicilan = $gaji->nominal_cicilan;
- // $gaji->fixed_total_potongan_tunggakan = $gaji->fixed_total_potongan_tunggakan + $gaji->nominal_cicilan;
- // $karyawan->akumulasi_cicilan = $karyawan->akumulasi_cicilan + $gaji->nominal_cicilan;
- // $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji->nominal_cicilan;
- // $karyawan->save();
- // }
- if ($gaji->status_pembayaran_tunggakan == 'tunggak') {
- $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->total_potongan_tunggakan;
- // $gaji->fixed_total_potongan_tunggakan = $gaji->fixed_total_potongan_tunggakan + $gaji->total_potongan_tunggakan;
- // $karyawan->total_tunggakan = $karyawan->total_tunggakan + $gaji->total_potongan_tunggakan;
- // $karyawan->save();
- }
- $gaji->is_final = 'bayar';
- $gaji->save();
- toast('Data upah berhasil dibayar.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- //bayar semua
- public function storebayarupahonly(Request $request, $id)
- {
- $gaji = Gaji::find($id);
- $gaji_data = json_decode($request->row, true);
- if ($gaji_data['status_pembayaran_jamsostek'] != 'next') {
- $gaji_data['status_pembayaran_jamsostek'] = 'siap bayar';
- }
- if ($gaji_data['status_pembayaran_cicilan'] != 'next') {
- $gaji_data['status_pembayaran_cicilan'] = 'siap bayar';
- }
- if ($gaji_data['status_pembayaran_bpjs'] != 'next') {
- $gaji_data['status_pembayaran_bpjs'] = 'siap bayar';
- }
- if ($gaji_data['status_pembayaran_tunggakan'] != 'next') {
- $gaji_data['status_pembayaran_tunggakan'] = 'siap bayar';
- }
- $gaji_data['status_pembayaran_upahdasar'] = 'siap bayar';
- $gaji_data['status_pembayaran_bonus'] = 'siap bayar';
- $gaji_data['status_bayar_semua'] = 'siap bayar';
- $gaji_data['nominal'] = $gaji_data['nominal'] + $gaji_data['nominal_dasar'] + $gaji_data['nominal_bonus'] - $gaji_data['nominal_jamsostek'] - $gaji_data['nominal_calculated_cicilan'] - $gaji_data['nominal_bpjs'] - $gaji_data['total_potongan_tunggakan'];
- $gaji_data['sisa'] = $gaji_data['sisa'] - $gaji_data['nominal'];
- // $gaji->save();
- unset($gaji_data['karyawan']);
- $gaji->update($gaji_data);
- toast('Semua komponen upah berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- // pembayaran upah dasar
- public function storebayarupahdasaronly($id)
- {
- $gaji = Gaji::find($id);
- $gaji->nominal = $gaji->nominal + $gaji->nominal_dasar;
- $gaji->sisa = $gaji->nominal + $gaji->nominal_dasar;
- // $gaji->total_tunggakan = $gaji->total_tunggakan + $gaji->nominal_dasar;
- $gaji->status_pembayaran_upahdasar = "siap bayar";
- //$gaji->tanggal_pembayaran = date('Y-m-d');
- //$gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- $gaji->save();
- toast('Komponen upah dasar berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- // potongan tunggakan
- public function storebayartunggakanonly($id)
- {
- $gaji = Gaji::find($id);
- $gaji->status_pembayaran_tunggakan = "siap bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- // $gaji->nominal = $gaji->nominal - $gaji->nominal_dasar;
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_dasar;
- $gaji->nominal = $gaji->nominal - $gaji->total_potongan_tunggakan;
- $gaji->sisa = $gaji->total - $gaji->total_potongan_tunggakan;
- $gaji->save();
- toast('Komponen tunggakan berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- // return redirect()->route('gaji.index');
- }
- // // potongan cicilan
- // public function storebayarpotonganonly($id)
- // {
- // $gaji = Gaji::find($id);
- // $gaji->status_pembayaran_potongan = "bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->nominal = $gaji->total - $gaji->nominal_cicilan;
- // $gaji->sisa = $gaji->nominal;
- // // $gaji->total_tunggakan = $gaji->total_tunggakan - $gaji->nominal_cicilan;
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_cicilan;
- // $gaji->save();
- // return redirect()->route('gaji.index');
- // }
- public function storebayarjamsostekonly($id)
- {
- $gaji = Gaji::find($id);
- $gaji->status_pembayaran_jamsostek = "siap bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->tanggal_jamsostek = date('Y-m-d H:i:s');
- // $gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- $gaji->nominal = $gaji->nominal - $gaji->nominal_jamsostek;
- $gaji->sisa = $gaji->sisa - $gaji->nominal_jamsostek;
- // $gaji->total_tunggakan = $gaji->total_tunggakan - $gaji->nominal_jamsostek;
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_jamsostek;
- $gaji->save();
- toast('Komponen Jamsostek berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- public function storebayarnbpjsonly($id)
- {
- // $kar_id = Gaji::where('karyawan_id', $karyawan_id)->first();
- // $gaji_id = PeriodeGaji::find($id);
- $gaji = Gaji::find($id);
- // dd($gaji);
- $gaji->status_pembayaran_bpjs = "siap bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->tanggal_bpjs = date('Y-m-d H:i:s');
- // $gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- $gaji->nominal = $gaji->nominal - $gaji->nominal_bpjs;
- $gaji->sisa = $gaji->sisa - $gaji->nominal_bpjs;
- // $gaji->total_tunggakan = $gaji->total_tunggakan - $gaji->nominal_bpjs;
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_bpjs;
- $gaji->save();
- toast('Komponen BPJS berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- //bayar cicilan
- public function storebayarcicilanonly(Request $request, $id)
- {
- $gaji = Gaji::find($id);
- $gaji_data = json_decode($request->row, true);
- $gaji_data['status_pembayaran_cicilan'] = "siap bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->tanggal_cicilan = date('Y-m-d H:i:s');
- // $gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- $gaji_data['nominal'] = $gaji_data['nominal'] - $gaji_data['nominal_calculated_cicilan'];
- $gaji_data['sisa'] = $gaji_data['total'] - $gaji_data['nominal_calculated_cicilan'];
- // $gaji->total_tunggakan = $gaji->total_tunggakan - $gaji->nominal_cicilan;
- // $gaji->nominal_tunggakan = $gaji->nominal_tunggakan + $gaji->nominal_cicilan;
- unset($gaji_data['karyawan']);
- $gaji->update($gaji_data);
- // $cicilan_id = Cicilan::where('karyawan_id', $gaji->karyawan_id)->first();
- // if ($cicilan_id !== null) {
- // $cicilan = Cicilan::find($cicilan_id->id);
- // $cicilan->total = $cicilan->total - $cicilan->nominal;
- // $cicilan->sisa = $cicilan->total;
- // $cicilan->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $cicilan->save();
- // }
- // dd($cicilan->total);
- toast('Komponen cicilan berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- //bayar bonus
- public function storebayarbonusonly($id)
- {
- $gaji = Gaji::find($id);
- $gaji->status_pembayaran_bonus = "siap bayar";
- // $gaji->tanggal_pembayaran = date('Y-m-d H:i:s');
- // $gaji->tanggal_bayar_tunggakan = date('Y-m-d H:i:s');
- $gaji->nominal = $gaji->nominal + $gaji->nominal_bonus;
- $gaji->sisa = $gaji->sisa + $gaji->nominal_bonus;
- $gaji->save();
- // $bonus_id = Bonus::where('karyawan_id', $gaji->karyawan_id)->first();
- // if ($bonus_id !== null) {
- // $bonus = Bonus::find($bonus_id->id);
- // $bonus->destroy($bonus_id->id);
- // }
- // dd($bonus_id->id);
- toast('Komponen bonus berhasil ditambah.', 'success');
- $periodegaji = PeriodeGaji::where('id', '=', $gaji->periodegaji_id)->first();
- return redirect()->route('gaji.detail', $periodegaji->id);
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function pengajuanpinjaman(Request $request)
- {
- $karyawan = Karyawan::with('pengajuanutang')->get();
- $utang = PengajuanUtang::all();
- //user
- $logged_user = Auth::user()->name;
- $logged_user_id = Auth::user()->id;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- // dd($logged_user);
- return view('Gaji.pengajuanpinjaman', compact('karyawan', 'utang','user','group_um','logged_user_id'));
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function editpengajuanpinjaman($id)
- {
- $karyawan = Karyawan::with('pengajuanutang')->find($id);
- $utang = PengajuanUtang::all();
- //user
- $logged_user = Auth::user()->name;
- $logged_user_id = Auth::user()->id;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- return view('Gaji.editpengajuanpinjaman', compact('karyawan', 'utang','user','group_um','logged_user_id'));
- }
- public function updatepengajuanpinjaman(Request $request, $id)
- {
- // ambil dulu data karyawan
- $karyawan = Karyawan::with('pengajuanutang')->find($id);
- // ambil data nominal sebelumnya
- $nominal = $karyawan->nominal_pinjaman;
- // ambil data inputan dari form
- $total_request = $request->total;
- //compare dulu
- if ($request->nominal < $nominal) {
- return redirect()->route('gaji.editpengajuanpinjaman', $karyawan->id)->with(['error' => 'Total Input Kurang dari Nominal']);
- }
- if ($request->nominal >= $nominal) {
- // fungsi save disini
- $karyawan->is_update = 'pernah';
- $karyawan->total_pinjaman = $request->nominal;
- $karyawan->sisa_pinjaman = $request->nominal - $karyawan->nominal_pinjaman;
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Ubah Data Pinjaman';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- $karyawan->save();
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = 'Ubah pinjaman - ' . $karyawan->nama;
- $pemberitahuan->sumber_pemberitahuan = 'upah';
- $pemberitahuan->id_karyawan = $karyawan->id;
- $pemberitahuan->nama_karyawan = $karyawan->nama;
- $pemberitahuan->id_group = $karyawan->group_id;
- if($karyawan->group_id != null){
- $group = Group::select('nama')->where('id',$karyawan->group_id)->first();
- $pemberitahuan->nama_group = $group->nama;
- }else{
- $pemberitahuan->nama_group = null;
- }
- $pemberitahuan->nik = $karyawan->nik;
- $pemberitahuan->id_admin = $request->id_user;
- $pemberitahuan->nama_admin = $request->nama_user ;
- // dd($pemberitahuan);
- $pemberitahuan->save();
- alert()->success('Sukses', 'Total pinjaman berhasil diubah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function deletepengajuanpinjaman($id)
- {
- $karyawan = Karyawan::with('pengajuanutang')->find($id);
- $karyawan->is_delete = 'pernah';
- $karyawan->total_pinjaman = 0;
- $karyawan->nominal_pinjaman = 0;
- $karyawan->sisa_pinjaman = 0;
- $karyawan->cicilan_pinjaman = 0;
- $riwayat_pinjaman = new RiwayatPinjaman();
- $riwayat_pinjaman->tanggal_riwayat = date('Y-m-d');
- $riwayat_pinjaman->karyawan_id = $karyawan->id;
- $riwayat_pinjaman->jenis = 'Reset Pinjaman';
- $riwayat_pinjaman->total_pinjaman = $karyawan->total_pinjaman;
- $riwayat_pinjaman->nominal_pinjaman = $karyawan->nominal_pinjaman;
- $riwayat_pinjaman->sisa_pinjaman = $karyawan->sisa_pinjaman;
- $riwayat_pinjaman->cicilan_pinjaman = $karyawan->cicilan_pinjaman;
- $riwayat_pinjaman->save();
- $karyawan->save();
- //user
- $logged_user = Auth::user()->name;
- $logged_user_id = Auth::user()->id;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = 'Hapus pinjaman - '. $karyawan->nama;
- $pemberitahuan->sumber_pemberitahuan = 'upah';
- $pemberitahuan->id_karyawan = $karyawan->id;
- $pemberitahuan->nama_karyawan = $karyawan->nama;
- $pemberitahuan->id_group = $karyawan->group_id;
- if($karyawan->group_id != null){
- $group = Group::select('nama')->where('id',$karyawan->group_id)->first();
- $pemberitahuan->nama_group = $group->nama;
- }else{
- $pemberitahuan->nama_group = null;
- }
- $pemberitahuan->nik = $karyawan->nik;
- $pemberitahuan->id_admin = $logged_user_id;
- $pemberitahuan->nama_admin = $logged_user;
- // dd($pemberitahuan);
- $pemberitahuan->save();
- return redirect()->route('gaji.index');
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function storepengajuanpinjaman(Request $request)
- {
- //JIKA KARYAWAN BISA MEMINJAM LAGI
- $request->validate([
- 'uploads' => 'image|mimes:jpeg,jpg|max:4000',
- ]);
- $create_utang = new PengajuanUtang();
- $create_utang->karyawan_id = $request->karyawan_id;
- $create_utang->nominal = $request->nominal;
- $create_utang->approval = 0;
- $create_utang->approvedNominal = 0;
- $create_utang->type = 'pinjaman';
- $create_utang->catatan = $request->catatan;
- $nama = Karyawan::find($request->karyawan_id);
- $create_utang->nama_karyawan = $nama->nama;
- $create_utang->sisa_pinjaman = $nama->sisa_pinjaman;
- $create_utang->cicilan_pinjaman = $nama->cicilan_pinjaman;
- $create_utang->group_karyawan = null;
- $create_utang->nik_karyawan = null;
- $create_utang->nama_user = $request->nama_user;
- $create_utang->group_user = $request->group_user;
- if (isset($nama->group_id)) {
- $group_id = Group::select('id')->where('id', $nama->group_id)->first();
- $group = Group::find($group_id->id);
- $create_utang->group_karyawan = $group->nama;
- $create_utang->nik_karyawan = $group->nama . $nama->groupno;
- }
- $file = $request->file('uploads');
- if ($request->hasFile('uploads')) {
- $create_utang['foto'] = $request->uploads->getClientOriginalName();
- $file->move(public_path() . "/uploads", $create_utang['foto']);
- }
- // dd($create_utang);
- $create_utang->save();
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = 'Pengajuan pinjaman diajukan - '. $nama->nama;
- $pemberitahuan->sumber_pemberitahuan = 'upah';
- $pemberitahuan->id_karyawan = $request->karyawan_id;
- $pemberitahuan->nama_karyawan = $nama->nama;
- $pemberitahuan->id_group = $nama->group_id;
- $pemberitahuan->nama_group = $create_utang->group_karyawan;
- $pemberitahuan->nik = $create_utang->nik_karyawan;
- $pemberitahuan->id_admin = $request->id_user;
- $pemberitahuan->nama_admin = $request->nama_user ;
- // dd($pemberitahuan);
- $pemberitahuan->save();
- // $id = PengajuanUtang::select('id')->where('karyawan_id', '=', $request->karyawan_id)->first();
- // if ($id) {
- // $karyawan_existing = PengajuanUtang::find($id->id);
- // $karyawan_existing->nominal = $karyawan_existing->nominal + $request->nominal;
- // $karyawan_existing->catatan = $request->catatan;
- // $karyawan_existing->approval = 0;
- // $karyawan_existing->approvedNominal = null;
- // $karyawan_existing->update();
- // if ($request->hasFile('uploads')) {
- // $request->file('uploads')->move('uploads/', $request->file('uploads')->getClientOriginalName());
- // $karyawan_existing->foto = $request->file('uploads')->getClientOriginalName();
- // $karyawan_existing->save();
- // }
- // // dd($karyawan_existing);
- // } else if (!$id) {
- // $data = new PengajuanUtang();
- // $data->karyawan_id = $request->karyawan_id;
- // $data->nominal = $request->nominal;
- // $data->approval = 0;
- // $data->approvedNominal = 0;
- // $data->type = 'pinjaman';
- // $data->catatan = $request->catatan;
- // $file = $request->file('uploads');
- // if ($request->hasFile('uploads')) {
- // $data['foto'] = $request->uploads->getClientOriginalName();
- // $file->move(public_path() . "/uploads", $data['foto']);
- // }
- // $data->save();
- // }
- // dd($data);
- return redirect()->route('gaji.index');
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function cicilan(Request $request)
- {
- // $karyawan = Karyawan::where('total_pinjaman', '!=', 0)->orWhere('total_pinjaman', '!=', null)->with('group', 'pengajuanutang')->get();
- // $karyawan = Karyawan::where([['total_pinjaman', '!=', 0], ['total_pinjaman', '!=', null]])->with('group', 'pengajuanutang')->get();
- $karyawan = Karyawan::where('status_karyawan','!=','nonaktif')->with('group', 'pengajuanutang')->get();
- $group = Group::all();
- $utang = PengajuanUtang::with('karyawan', 'group')->where('approval', 1)->get();
- //user
- $logged_user = Auth::user()->name;
- $logged_user_id = Auth::user()->id;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- // dd($logged_user_id);
- // $cicilan = Cicilan::select('nominal', 'karyawan_id')->pluck('nominal', 'karyawan_id');
- return view('Gaji.cicilan', compact('karyawan', 'group', 'utang','group_um','user','logged_user_id'));
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function storecicilan(Request $request)
- {
- $id = Karyawan::select('id')->where('id', '=', $request->input('karyawan_id'))->first();
- // dd($id);
- $data_karyawan = Karyawan::find($id->id);
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = 'set cicilan '. $data_karyawan->nama;
- $pemberitahuan->sumber_pemberitahuan = 'upah';
- $pemberitahuan->id_karyawan = $request->karyawan_id;
- $pemberitahuan->nama_karyawan = $data_karyawan->nama;
- $pemberitahuan->id_group = $data_karyawan->group_id;
- if($data_karyawan->group_id != null){
- $group = Group::select('nama')->where('id',$data_karyawan->group_id)->first();
- $pemberitahuan->nama_group = $group->nama;
- }else{
- $pemberitahuan->nama_group = null;
- }
- $pemberitahuan->nik = $data_karyawan->nik;
- $pemberitahuan->id_admin = $request->id_user;
- $pemberitahuan->nama_admin = $request->nama_user ;
- // dd($pemberitahuan);
- $pemberitahuan->save();
- // $cicilan_id = Cicilan::select('id')->where('karyawan_id', $id->id)->first();
- // // dd($cicilan_id);
- // if ($cicilan_id) {
- // $data = Cicilan::find($cicilan_id->id);
- // $data->total = $request->total_pinjaman;
- // $data->update($request->all());
- // $data_karyawan = Karyawan::find($id->id);
- // $data_karyawan->cicilan_pinjaman = $request->nominal;
- // $data_karyawan->save();
- // } else if (!$cicilan_id) {
- // $total = PengajuanUtang::select('approvedNominal')->where('karyawan_id', '=', $id->id)->first();
- // // dd($total);
- // $data = new Cicilan();
- // $data->karyawan_id = $request->karyawan_id;
- // $data->total = $total->approvedNominal;
- // // dd($data->total);
- // $data->sisa = 0;
- // $data->nominal = $request->nominal;
- // // dd($data);
- // $data->save();
- // }
- // $file = $request->file('uploads');
- // if ($request->hasFile('uploads')) {
- // $data['foto'] = $request->uploads->getClientOriginalName();
- // $file->move(public_path() . "/uploads", $data['foto']);
- // }
- // $cicilan_id = $data->id;
- // $cicilan = Gaji::select('id')->where('karyawan_id', '=', $request->Input('karyawan_id'))->first();
- // $cicilan->cicilan_id = $cicilan_id;
- // $cicilan->update();
- // dd($request->all());
- if($request->nominal >= $data_karyawan->cicilan_pinjaman) {
- $data_karyawan->cicilan_pinjaman = $request->nominal;
- $data_karyawan->save();
- alert()->success('Sukses', 'Data Cicilan berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- if($request->nominal < $data_karyawan->cicilan_pinjaman) {
- alert()->error('Gagal', 'Cicilan Per Minggu tidak boleh kurang dari Cicilan Saat Ini.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.cicilan');
- }
- }
- public function potongancicilan()
- {
- $karyawan = Karyawan::with('group', 'pengajuanutang')->get();
- $group = Group::all();
- $utang = PengajuanUtang::with('karyawan', 'group')->where('approval', 1)->get();
- //user
- $logged_user = Auth::user()->name;
- $logged_user_id = Auth::user()->id;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- // dd($logged_user_id);
- // $cicilan = Cicilan::with('karyawan', 'group')->get();
- return view('Gaji.potongancicilan', compact('karyawan', 'group', 'utang','user','group_um','logged_user_id'));
- }
- public function storepotongancicilan(Request $request)
- {
- $request->validate([
- 'uploads' => 'image|mimes:jpeg,jpg|max:4000',
- ]);
- $id = Karyawan::select('id')->where('id', '=', $request->input('karyawan_id'))->first();
- // $cicilan_id = Cicilan::select('id')->where('karyawan_id', $id->id)->first();
- // dd($cicilan_id);
- $data = new IzinPenguranganCicilan();
- $data->karyawan_id = $request->karyawan_id;
- $data->cicilan_yang_diajukan = $request->cicilan_yang_diajukan;
- $data->approval = 0;
- // $data->cicilan_id = $cicilan_id->id;
- // dd($data->cicilan_id);
- $data->type = 'pengurangan cicilan';
- $data->tanggal_pengajuan = $request->tanggal_pengajuan;
- $data->alasan = $request->alasan;
- $nama = Karyawan::find($request->karyawan_id);
- $data->nama_karyawan = $nama->nama;
- $data->sisa_pinjaman = $nama->sisa_pinjaman;
- $data->cicilan_per_minggu = $nama->cicilan_pinjaman;
- $data->current_cicilan = $nama->cicilan_pinjaman;
- $data->group_karyawan = null;
- $data->nik_karyawan = null;
- if (isset($nama->group_id)) {
- $group_id = Group::select('id')->where('id', $nama->group_id)->first();
- $group = Group::find($group_id->id);
- $data->group_karyawan = $group->nama;
- $data->nik_karyawan = $group->nama . $nama->groupno;
- }
- // dd($data);
- $file = $request->file('uploads');
- if ($request->hasFile('uploads')) {
- $data['lampiran'] = $request->uploads->getClientOriginalName();
- $file->move(public_path() . "/uploads", $data['lampiran']);
- }
- $data->save();
- $pemberitahuan = new Pemberitahuan();
- $pemberitahuan->nama_pemberitahuan = 'pengurangan cicilan ' . $nama->nama;
- $pemberitahuan->sumber_pemberitahuan = 'upah';
- $pemberitahuan->id_karyawan = $request->karyawan_id;
- $pemberitahuan->nama_karyawan = $nama->nama;
- $pemberitahuan->id_group = $nama->group_id;
- if($nama->group_id != null){
- $group = Group::select('nama')->where('id',$nama->group_id)->first();
- $pemberitahuan->nama_group = $group->nama;
- }else{
- $pemberitahuan->nama_group = null;
- }
- $pemberitahuan->nik = $nama->nik;
- $pemberitahuan->id_admin = $request->id_user ;
- $pemberitahuan->nama_admin = $request->nama_user;
- // dd($pemberitahuan);
- $pemberitahuan->save();
- return redirect()->route('gaji.index');
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function tambahbonus()
- {
- $karyawan = Karyawan::where('status_karyawan', '!=', 'nonaktif')->get();
- $karyawans = Karyawan::with('bonuses')->get();
- $bonus = Bonus::with('karyawan')->get();
- return view('Gaji.tambahbonus', compact('karyawan', 'karyawans', 'bonus'));
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function storebonus(Request $request)
- {
- //dd($request->all());
- $group_id = karyawan::select('group_id')->where('id', '=', $request->input('karyawan_id'))->first();
- $nama = karyawan::select('nama')->where('id', '=', $request->input('karyawan_id'))->first();
- $karyawan = Karyawan::with('group')->find((int)$request->karyawan_id);
- $tanggal_mulai_bonus = $request->tanggal_mulai_bonus;
- $tanggal_selesai_bonus = $request->tanggal_selesai_bonus;
- $presensi = Presensi::where('karyawan_id', '=', $karyawan->id)->where('tanggal_dan_waktu_tap', '>=', $tanggal_mulai_bonus)->where('tanggal_dan_waktu_tap', '<=', $tanggal_selesai_bonus)->get();
- $setting_presensi = SettingPresensi::find(1);
- $jadwal = Jadwal::all();
- $total_poin = 0;
- $poin_karyawan = 0;
- //$jangka_waktu = date_diff(date_create($tanggal_mulai_bonus), date_create($tanggal_mulai_bonus));
- //dd($jangka_waktu);
- for ($i = 0; $i < count($presensi); $i++) {
- $poin_karyawan = $poin_karyawan + $presensi[$i]->poin;
- }
- //dd($poin_karyawan);
- // $data = new Bonus();
- // $data->nama = $nama->nama;
- // $data->karyawan_id = $request->karyawan_id;
- // $data->group_id = $group_id->group_id;
- // $data->nominal_dasar = $request->nominal_dasar;
- // $data->save();
- // $bonus_id = $data->id;
- // $bonus = Gaji::select('id')->where('karyawan_id', '=', $request->Input('karyawan_id'))->first();
- // $bonus->bonus_id = $bonus_id;
- // $bonus->update();
- // alert()->success('Sukses', 'Data Bonus berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return view('Gaji.bonuskehadiran', compact('nama', 'group_id', 'karyawan', 'tanggal_mulai_bonus', 'tanggal_selesai_bonus', 'poin_karyawan'));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function bonusovertime(Request $request)
- {
- $karyawan = Karyawan::where('status_karyawan', '!=', 'nonaktif')->get();
- $karyawans = Karyawan::with('bonuses')->get();
- $bonus = Bonus::with('karyawan')->get();
- return view('Gaji.bonusovertime', compact('karyawan', 'karyawans', 'bonus'));
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function storebonusovertime(Request $request)
- {
- $group_id = karyawan::select('group_id')->where('id', '=', $request->input('karyawan_id'))->first();
- $nama = karyawan::select('nama')->where('id', '=', $request->input('karyawan_id'))->first();
- // $data = new Bonus();
- // $data->nama = $nama->nama;
- // $data->karyawan_id = $request->karyawan_id;
- // $data->group_id = $group_id->group_id;
- // $data->tanggal_mulai_bonus = $request->tanggal_mulai_bonus;
- // $data->tanggal_selesai_bonus = $request->tanggal_selesai_bonus;
- // // $data->nominal_dasar = $request->nominal_dasar;
- // $data->save();
- // alert()->success('Sukses', 'Data Bonus berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.createovertime');
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function createovertime(Request $request)
- {
- // dd($request->all());
- // $karyawan = Karyawan::where('status_karyawan', '!=', 'nonaktif')->get();
- $karyawan = Karyawan::with('bonuses', 'group')->where('id', $request->input('karyawan_id'))->get();
- $karyawans = Karyawan::with('bonuses')->where('id', $request->input('karyawan_id'))->get();
- $bonus = Bonus::with('karyawan')->where('karyawan_id', $request->input('karyawan_id'))->get();
- $tanggal_mulai = $request->input('tanggal_mulai_bonus');
- $tanggal_selesai = $request->input('tanggal_selesai_bonus');
- $group_id = karyawan::select('group_id')->where('id', '=', $request->input('karyawan_id'))->first();
- $presensi = Presensi::with('jadwal')->where('karyawan_id', $request->input('karyawan_id'))->get();
- $jadwalrutin = JadwalHariKerja::where('karyawan_id', $request->input('karyawan_id'))->get();
- return view('Gaji.createovertime', compact('karyawan', 'karyawans', 'bonus', 'group_id', 'tanggal_mulai', 'tanggal_selesai', 'presensi', 'jadwalrutin'));
- }
- public function createbonuskehadiran(Request $request)
- {
- // dd($request->all());
- // $karyawan = Karyawan::where('status_karyawan', '!=', 'nonaktif')->get();
- $karyawan = Karyawan::with('bonuses', 'group')->where('id', $request->input('karyawan_id'))->get();
- $karyawans = Karyawan::with('bonuses')->where('id', $request->input('karyawan_id'))->get();
- $bonus = Bonus::with('karyawan')->where('karyawan_id', $request->input('karyawan_id'))->get();
- $tanggal_mulai = $request->input('tanggal_mulai_bonus');
- $tanggal_selesai = $request->input('tanggal_selesai_bonus');
- $group_id = karyawan::select('group_id')->where('id', '=', $request->input('karyawan_id'))->first();
- $presensi = Presensi::with('jadwal')->where('karyawan_id', $request->input('karyawan_id'))->get();
- $jadwalrutin = JadwalHariKerja::where('karyawan_id', $request->input('karyawan_id'))->get();
- return view('Gaji.bonuskehadiran', compact('karyawan', 'karyawans', 'bonus', 'group_id', 'tanggal_mulai', 'tanggal_selesai', 'presensi', 'jadwalrutin'));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function storeovertime(Request $request)
- {
- // dd($request->all());
- $karyawan = Karyawan::find((int)$request->karyawanid);
- $karyawan->bonus_overtime = $request->nominal_dasar;
- $karyawan->periode_mulai_overtime = $request->tanggal_mulai_bonus;
- $karyawan->periode_selesai_overtime = $request->tanggal_selesai_bonus;
- $karyawan->save();
- // $data = new Bonus();
- // $data->nama = $request->nama;
- // $data->karyawan_id = $request->karyawanid;
- // $data->group_id = $request->group_id;
- // $data->nominal_dasar = $request->nominal_dasar;
- // $data->tanggal_mulai_bonus = $request->tanggal_mulai_bonus;
- // $data->tanggal_selesai_bonus = $request->tanggal_selesai_bonus;
- // $data->jenis_bonus = $request->jenis_bonus;
- // $data->save();
- alert()->success('Sukses', 'Data Bonus Overtime berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- public function storebonuskehadiran(Request $request)
- {
- // dd($request->all());
- $karyawan = Karyawan::find((int)$request->karyawanid);
- $karyawan->bonus_kehadiran = $request->nominal_dasar;
- $karyawan->periode_mulai_kehadiran = $request->tanggal_mulai_bonus;
- $karyawan->periode_selesai_kehadiran = $request->tanggal_selesai_bonus;
- $karyawan->save();
- alert()->success('Sukses', 'Data Bonus Kehadiran berhasil ditambah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function editbonus($id)
- {
- $karyawan = Karyawan::where('status_karyawan', '=', 'aktif')->get();
- $bonus = Bonus::with('karyawan', 'group')->find($id);
- return view('Gaji.editbonus', compact('karyawan', 'bonus'));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function updatebonus(Request $request, $id)
- {
- // $data = $request->all();
- // Bonus::find($id)->update($data);
- $data = Bonus::find($id);
- $data->nominal_dasar = $request->nominal_dasar;
- $data->update();
- return redirect()->route('gaji.index');
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function tambahjamsostek()
- {
- return view('Gaji.tambahjamsostek');
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function storejamsostek(Request $request)
- {
- //
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create()
- {
- return view('Gaji.create');
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function store(Request $request)
- {
- //
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- // Detail setelah masuk via periode gaji
- public function show($id)
- {
- // $jamsostek = Jamsostek::with('karyawan')->where('karyawan_id', '=', 'karyawan.id')->first()->nominal;
- $jamsostek = Jamsostek::all();
- $settingupah = SettingUpah::all();
- // $cicilan = Cicilan::all();
- $bonus = Bonus::all();
- $karyawan = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus')->get();
- $group = Group::with('karyawans', 'presensis')->get();
- $periodegaji = PeriodeGaji::find($id);
- //dd($group);
- return view('Gaji.detail', compact('karyawan', 'jamsostek', 'settingupah', 'bonus', 'group', 'periodegaji'));
- }
- public function exportpdfdetilupah(Request $request, $id)
- {
- $group = Group::find($request->group_id);
- $periodegaji = PeriodeGaji::find($id);
- if(isset($group)) {
- $gaji = Gaji::with('karyawan.group')->where('periodegaji_id', '=', $id)->where('group_id', '=', $group->id)->orderBy('group_karyawan', 'asc')->get();
- } else {
- $gaji = Gaji::with('karyawan.group')->where('periodegaji_id', '=', $id)->orderBy('group_karyawan', 'asc')->get();
- }
- $pdf = PDF::loadview('Gaji.exportdetailupahkaryawan', compact('gaji', 'periodegaji'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_paper('letter', 'landscape');
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function showGroup($id, $group_id)
- {
- // $jamsostek = Jamsostek::with('karyawan')->where('karyawan_id', '=', 'karyawan.id')->first()->nominal;
- $jamsostek = Jamsostek::all();
- $settingupah = SettingUpah::all();
- // $cicilan = Cicilan::all();
- $bonus = Bonus::all();
- $karyawan = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus')->get();
- $group = Group::with('karyawans', 'presensis')->get();
- $periodegaji = PeriodeGaji::find($id);
- //dd($group);
- return view('Gaji.detail', compact('karyawan', 'jamsostek', 'settingupah', 'bonus', 'group', 'periodegaji'));
- }
- public function detailTunggakan($id)
- {
- $karyawan = Karyawan::with('group', 'jamsostek', 'bpjs', 'settingupah', 'bonus', 'gajis')->find($id);
- $tunggakan = Gaji::where('karyawan_id', '=', $karyawan->id)->get();
- $total_semua_tunggakan = 0;
- for ($i = 0; $i < count($tunggakan); $i++) {
- //if($status_pembayaran_bpjs == 'tunggak' || $status_pembayaran_cicilan == 'tunggak' || $status_pembayaran_jamsostek == 'tunggak') {}
- $total_semua_tunggakan = $total_semua_tunggakan + $tunggakan[$i]->nominal_tunggakan;
- }
- $logged_user = Auth::user()->name;
- $split_user_data = explode(" - ", $logged_user);
- $user = $split_user_data[0];
- $group_um = "-";
- if(count($split_user_data) > 1) {
- $group_um = $split_user_data[1];
- }
- return view('Gaji.tunggakan', compact('karyawan', 'tunggakan', 'total_semua_tunggakan', 'user', 'group_um'));
- }
- public function riwayatupah($id)
- {
- return view('Gaji.riwayatupah');
- }
- public function riwayatpinjaman($id)
- {
- $karyawan = Karyawan::find($id);
- $riwayat = RiwayatPinjaman::where('karyawan_id', '=', $karyawan->id)->get();
- // $pinjaman = PengajuanUtang::with('karyawan', 'group')->find($id);
- // // $karyawan = Karyawan::with('group')->where('id', $pinjaman->karyawan_id)->get();
- // // $karyawan = Karyawan::with('group')->where('id', $pinjaman->karyawan_id)->get();
- // $cicilan = cicilan::where('karyawan_id', $pinjaman->karyawan_id)->first();
- // if ($cicilan) {
- // $gaji = Gaji::where('cicilan_id', $cicilan->id)->first();
- // } else {
- // $gaji = null;
- // }
- // if (!$gaji) {
- // $periode = 0;
- // } else {
- // $periode = PeriodeGaji::where('id', $gaji->periodegaji_id)->get();
- // }
- // dd($periode);
- return view('Gaji.riwayatpinjaman', compact('riwayat', 'karyawan'));
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function detailbonus($id)
- {
- $bonus = Karyawan::with('group')->find($id);
- return view('Gaji.detailbonus', compact('bonus'));
- }
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function edit($id)
- {
- return view('Gaji.edit');
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, $id)
- {
- //
- }
- public function editjamsostek()
- {
- return view('Gaji.editjamsostek');
- }
- public function updatejamsostek(Request $request, $id)
- {
- return view('Gaji.index');
- }
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function destroy($id)
- {
- //
- }
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function deletebonus($id)
- {
- $karyawan = Karyawan::find($id);
- $karyawan->bonus_kehadiran = 0;
- $karyawan->bonus_overtime = 0;
- $karyawan->periode_mulai_kehadiran;
- $karyawan->periode_selesai_kehadiran;
- $karyawan->periode_mulai_overtime;
- $karyawan->periode_selesai_overtime;
- $karyawan->save();
- alert()->success('Sukses', 'Data Bonus berhasil dihapus.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- public function deletetanggal($id)
- {
- $gaji = Gaji::where('periodegaji_id', $id)->get();
- if(count($gaji) > 0) {
- foreach($gaji as $g) {
- $karyawan = Karyawan::find($g->karyawan_id);
- if(isset($karyawan)) {
- if($g->status_pembayaran_jamsostek == 'tunggak' || $g->status_pembayaran_bpjs == 'tunggak' || $g->status_pembayaran_tunggakan == 'tunggak') {
- $karyawan->total_tunggakan_periode_berikutnya = $karyawan->total_tunggakan_periode_berikutnya - $g->total_tunggakan;
- $karyawan->total_tunggakan = $karyawan->total_tunggakan - $g->total_tunggakan;
- if($karyawan->total_tunggakan_periode_berikutnya < 0) {
- $karyawan->total_tunggakan_periode_berikutnya = 0;
- }
- if($karyawan->total_tunggakan < 0) {
- $karyawan->total_tunggakan = 0;
- }
- $karyawan->save();
- }
- }
- Gaji::destroy($g->id);
- }
- }
- $periodegaji = PeriodeGaji::find($id);
- $periodegaji->destroy($id);
- alert()->success('Sukses', 'Data Tanggal Upah berhasil dihapus.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('gaji.index');
- }
- public function slipgajikaryawan($id)
- {
- $nominal_dasar = 0;
- $gaji = Gaji::with('karyawan.group', 'karyawan.jamsostek', 'karyawan.settingUpah', 'karyawan.bpjs', 'karyawan.bonus')->find($id);
- // $gaji->setAttribute('bayar_jamsostek', 0);
- // $gaji->setAttribute('bayar_bpjs', 0);
- // $gaji->setAttribute('bayar_cicilan', 0);
- // $gaji->setAttribute('bayar_tunggakan', 0);
- // if (($gaji->status_pembayaran_jamsostek == "selected") || ($gaji->status_pembayaran_jamsostek == "bayar")) {
- // $gaji->bayar_jamsostek = $gaji->nominal_jamsostek;
- // }
- // if (($gaji->status_pembayaran_bpjs == "selected") || ($gaji->status_pembayaran_bpjs == "bayar")) {
- // $gaji->bayar_bpjs = $gaji->nominal_bpjs;
- // }
- // if (($gaji->status_pembayaran_cicilan == "selected") || ($gaji->status_pembayaran_cicilan == "bayar")) {
- // $gaji->bayar_cicilan = $gaji->nominal_cicilan;
- // }
- // if (($gaji->status_pembayaran_tunggakan == "selected") || ($gaji->status_pembayaran_bayar == "bayar")) {
- // $gaji->bayar_tunggakan = $gaji->total_tunggakan;
- // }
- // $gaji->total = ($gaji->nominal_dasar + $gaji->nominal_bonus) - ($gaji->bayar_jamsostek + $gaji->bayar_bpjs + $gaji->bayar_cicilan + $gaji->bayar_tunggakan);
- // if ($gaji->karyawan['settingUpah'] !== null) {
- // $nominal_dasar = $gaji->karyawan['settingUpah']->nominal_dasar;
- // } else {
- // $nominal_dasar = 0;
- // }
- $pdf = PDF::loadview('Gaji.slipkaryawan', compact('gaji', 'nominal_dasar'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function slipgajigroup($id, $group_id)
- {
- $periodegaji = PeriodeGaji::find($id);
- $periodemulai = $periodegaji->tanggal_mulai_periode;
- $periodeselesai = $periodegaji->tanggal_selesai_periode;
- $group = Group::with('karyawans.gajis')->find($group_id);
- $gaji = Gaji::where('group_id', '=', $group->id)->where('periodegaji_id', '=', $periodegaji->id)->get();
- $poin = 0;
- $upah = 0;
- /**
- * Backup 1
- */
- // for ($k = 0; $k < count($group->karyawans); $k++) {
- // $nominal_dasar = 0;
- // $gaji_karyawan = null;
- // if (isset($group->karyawans[$k]->gajis)) {
- // for ($gj = 0; $gj < count($group->karyawans[$k]->gajis); $gj++) {
- // if ($group->karyawans[$k]->gajis[$gj]->periodegaji_id == $id) {
- // $gaji_karyawan = $group->karyawans[$k]->gajis[$gj];
- // }
- // }
- // }
- // $group->karyawans[$k]->setAttribute('gaji_karyawan', $gaji_karyawan);
- // }
- $pdf = PDF::loadview('Gaji.slipgroup', compact('gaji'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- public function slipgajisemuakaryawan($id)
- {
- $nominal_dasar = 0;
- $periodegaji = PeriodeGaji::find($id);
- $gaji = Gaji::with('karyawan.group', 'karyawan.jamsostek', 'karyawan.settingUpah', 'karyawan.bpjs', 'karyawan.bonus')->where('periodegaji_id', '=', $id)->get();
- // for ($i = 0; $i < count($gaji); $i++) {
- // $gaji[$i]->setAttribute('bayar_jamsostek', 0);
- // $gaji[$i]->setAttribute('bayar_bpjs', 0);
- // $gaji[$i]->setAttribute('bayar_cicilan', 0);
- // $gaji[$i]->setAttribute('bayar_tunggakan', 0);
- // if (($gaji[$i]->status_pembayaran_jamsostek == "selected") || ($gaji[$i]->status_pembayaran_jamsostek == "bayar")) {
- // $gaji[$i]->bayar_jamsostek = $gaji[$i]->nominal_jamsostek;
- // }
- // if (($gaji[$i]->status_pembayaran_bpjs == "selected") || ($gaji[$i]->status_pembayaran_bpjs == "bayar")) {
- // $gaji[$i]->bayar_bpjs = $gaji[$i]->nominal_bpjs;
- // }
- // if (($gaji[$i]->status_pembayaran_cicilan == "selected") || ($gaji[$i]->status_pembayaran_cicilan == "bayar")) {
- // $gaji[$i]->bayar_cicilan = $gaji[$i]->nominal_cicilan;
- // }
- // if (($gaji[$i]->status_pembayaran_tunggakan == "selected") || ($gaji[$i]->status_pembayaran_bayar == "bayar")) {
- // $gaji[$i]->bayar_tunggakan = $gaji[$i]->total_tunggakan;
- // }
- // $gaji[$i]->total = ($gaji[$i]->nominal_dasar + $gaji[$i]->nominal_bonus) - ($gaji[$i]->bayar_jamsostek + $gaji[$i]->bayar_bpjs + $gaji[$i]->bayar_cicilan + $gaji[$i]->bayar_tunggakan);
- // if ($gaji[$i]->karyawan['settingUpah'] !== null) {
- // $nominal_dasar = $gaji[$i]->karyawan['settingUpah']->nominal_dasar;
- // } else {
- // $nominal_dasar = 0;
- // }
- // }
- $pdf = PDF::loadview('Gaji.slipall', compact('gaji', 'nominal_dasar', 'periodegaji'));
- $dom_pdf = $pdf->getDomPDF();
- $dom_pdf->set_option('font_dir', storage_path('fonts/'));
- $dom_pdf->set_option('default_font', 'Courier');
- return $pdf->stream();
- }
- }
- //-----BACKUPS-----
- /**
- * Backup detailTunggakan()
- */
- // for ($i = 0; $i < count($karyawan->gajis); $i++) {
- // if ($karyawan->gajis[$i]->nominal_bpjs != null && $karyawan->gajis[$i]->status_pembayaran_bpjs != "bayar") {
- // $content = [
- // "tanggal_mulai_periode" => $karyawan->gajis[$i]->tanggal_mulai_periode,
- // "tanggal_selesai_periode" => $karyawan->gajis[$i]->tanggal_selesai_periode,
- // "jenis_tunggakan" => "BPJS",
- // "nominal" => $karyawan->gajis[$i]->nominal_bpjs,
- // "tanggal_bayar" => $karyawan->gajis[$i]->tanggal_bpjs,
- // ];
- // array_push($result, $content);
- // }
- // if ($karyawan->gajis[$i]->nominal_cicilan != null && $karyawan->gajis[$i]->status_pembayaran_cicilan != "bayar") {
- // $content = [
- // "tanggal_mulai_periode" => $karyawan->gajis[$i]->tanggal_mulai_periode,
- // "tanggal_selesai_periode" => $karyawan->gajis[$i]->tanggal_selesai_periode,
- // "jenis_tunggakan" => "Cicilan",
- // "nominal" => $karyawan->gajis[$i]->nominal_cicilan,
- // "tanggal_bayar" => $karyawan->gajis[$i]->tanggal_cicilan,
- // ];
- // array_push($result, $content);
- // }
- // if ($karyawan->gajis[$i]->nominal_jamsostek != null && $karyawan->gajis[$i]->status_pembayaran_jamsostek != "bayar") {
- // $content = [
- // "tanggal_mulai_periode" => $karyawan->gajis[$i]->tanggal_mulai_periode,
- // "tanggal_selesai_periode" => $karyawan->gajis[$i]->tanggal_selesai_periode,
- // "jenis_tunggakan" => "Jamsostek",
- // "nominal" => $karyawan->gajis[$i]->nominal_jamsostek,
- // "tanggal_bayar" => $karyawan->gajis[$i]->tanggal_jamsostek,
- // ];
- // array_push($result, $content);
- // }
- // }
Add Comment
Please, Sign In to add comment