Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.2/Traits/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.2/Traits/TraitsDenda.php

<?php

namespace App\Traits;
use Session;
use Carbon\Carbon;
use App\Models\Tagihan;
use App\Models\JenisDenda;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

/**
 * 
 */
trait TraitsDenda
{
	// protected $carbon = new Carbon;

	public function cekTunggakan($user_id,$tanggal){

		$tagihan = Tagihan::whereHas('pelanggan',function($query)use($user_id){
			$query->where(['user_id'=>$user_id]);
		})->whereIn('status',['0','1','2'])->orderBy('tanggal','asc')->get();

		$check_submited_data = Tagihan::whereHas('pelanggan',function($query)use($user_id){
			$query->where(['user_id'=>$user_id]);
		})->whereIn('status',['0','1','2'])->whereDate('tanggal',$tanggal)->count();
		if (Carbon::create($tanggal)->format('Y-m') == Carbon::now()->format('Y-m')) {
			dd($tanggal, Carbon::create($tanggal)->format('Y-m'), Carbon::now()->format('Y-m'), Carbon::create($tanggal)->format('Y-m') > Carbon::now()->format('Y-m'));
			redirect()->back()->send()->with(['error'=>'anda belum bisa melakukan pelaporan pada bulan '.Carbon::now()->isoFormat('MMMM-Y')])->withInput($request->all());
		}elseif(Carbon::create($tanggal)->format('Y-m') > Carbon::now()->format('Y-m')){
			dd("a");
			redirect()->back()->send()->with(['error'=>'anda belum bisa melakukan pelaporan pada bulan '.Carbon::create($tanggal)->isoFormat('MMMM-Y')])->withInput($request->all());
		}elseif($check_submited_data > 0){
			dd("b");
			redirect()->back()->send()->with(['error'=>'tagihan pada bulan '.Carbon::create($tanggal)->isoFormat('MMMM-Y').' sudah ada'])->withInput($request->all());
		}

		if ($tagihan->last()!== null) {
			$last_month = round($tagihan->last()->tanggal->format('m'));
			$submit_month = Carbon::createFromFormat('Y-m-d',$tanggal);
			$between = collect();
			if (Carbon::create($tanggal)->format('Y-m') < $tagihan->last()->tanggal->format('Y-m')) {
				//jika pelaporan yang diinput lebih jauh daripada data pelaporan pertama
			}else{
				//atau jika buka
				foreach (range($last_month,round($submit_month->format('m'))) as $key => $value) {
					if ($key !== 0 and $key !== 1) {
						//melakukan pengecekan jika data yang ingin diinput adalah bulan sebelumnya dan bukan bulan skrg
						$between[]=[
							'bulan'=>$value,
							'key'=>$key,
							'format'=>Carbon::createFromFormat('Y-m-d',$tanggal),
						];
						if(Carbon::create($tanggal)->format('Y') == $tagihan->last()->tanggal->format('Y')){
							dd(Carbon::create($tanggal)->format('Y') < $tagihan->last()->tanggal->format('Y'), Carbon::create($tanggal)->format('Y'), $tagihan->last()->tanggal->format('Y'));
						redirect()->back()->send()->with(['error'=>'silahkan lakukan pelaporan penggunaan bulan '.Carbon::create($tagihan->last()->tanggal->format('Y-m-d'))->addMonth(1)->isoFormat('MMMM-Y').' terlebih dahulu'])->withInput($request->all());
						}
					}
				}			
			}
		}
	}

	public function cekDendaAdmin($user_id,$tanggal,$request){
	
		// $carbon = Carbon::now();
		// $now = $carbon;
		// $current_month = $carbon->addMonth(-1);
		$denda = 0;
		$jenis_denda = JenisDenda::where(['type'=>'Sanksi Administrasi'])->first();
		$tanggal_jt = JenisDenda::where(['type'=>'Sanksi Administrasi'])->first()->tanggal_jt;

		
		// $submit_month = Carbon::createFromFormat('Y-m-d',Carbon::create($tanggal)->format('Y-m').'-'.$jenis_denda->tanggal_jt);
		// // if(Carbon::now()->addMonth(-1))
		// $diff = Carbon::createFromFormat('Y-m-d',Carbon::create($tanggal)->format('Y-m').'-'.$jenis_denda->tanggal_jt)->addMonth(2);

		
		// // return $diff;
		// if (Carbon::now()->addMonth(-1)->format('Y-m') > $submit_month->format('Y-m')) { 
		// 	//jika bulan yang mau dibayar adalah pemakaian bulan lalu
		// 	$month = $submit_month->addMonth(1)->diffInMonths($diff);
		// 	dd($month);
		
		// 	$denda = (($jenis_denda->nominal_denda*$month)/100) * $pembayaran;		
		// }
		$diff = (int)Carbon::create($tanggal)->diffInMonths(Carbon::now());
		$formatted = Carbon::create($tanggal);
		$month = $formatted->format('F');
		if($diff > 15){
			$denda = $jenis_denda->nominal_denda;
		} else if($diff == 0){
			if(Carbon::now()->addMonth(-1)->format("d") > $tanggal_jt){
				$denda = $jenis_denda->nominal_denda;
			} 
		} else if($diff > 0){
			if($month == 'February'){
				// dd($formatted->addMonth(1)->format('F'));
				$addedMonth = $formatted->addMonth(1)->format('F');
				if($addedMonth == "March" && Carbon::now()->format('F') == "March"){
					if(Carbon::now()->addMonth(-1)->format("d") < $tanggal_jt){
					// $denda = $jenis_denda->nominal_denda;
				} else {
					$denda = $jenis_denda->nominal_denda;
				}
			}
			else {
				$denda = $jenis_denda->nominal_denda;
			}

		}
		else if($diff > 0){
			$denda = $jenis_denda->nominal_denda;
		}
	}
			
		$nilaiDenda = (int)$denda;
		// if(Auth::user()->name == "hiu"){
		// 	dd($month, $formatted->addMonth(1)->format('F'), $diff);
		// }
		return $nilaiDenda;
}

public function cekDendaPenetapan($user_id, $tanggal, $pembayaran, $libur){
	$counter = 0;
	$i = Carbon::make($tanggal);
	for ($i;  $i < Carbon::now(); $i->addDay(1)) { 
		if(in_array($i->format("Y-m-d"), $libur)){
			continue;
		}
		if(Carbon::make($tanggal) < Carbon::now() && ($pembayaran->status_surat == 0 || $pembayaran->status_surat) ){
			$counter++;
		}
		// dd($counter);
		if($counter >= 15 && $pembayaran->status == 1){
			$pembayaran->update([
				'denda_harian' => $pembayaran->denda_harian + ($pembayaran->jumlah_pembayaran * 2/100),
				'status' => 5,
			]);
		}
		// if($counter >= 14 && $pembayaran->status == 5){
		// 	$pembayaran->update([
		// 		'denda_harian' => $pembayaran->denda_harian + ($pembayaran->jumlah_pembayaran * 2/100),
		// 		'status' => 6,
		// 	]);
		// }
	}
}

	public function cekDendaKeterlambatan($user_id,$tanggal,$pembayaran){

		// $carbon = Carbon::now();
		// $now = $carbon;
		// $current_month = $carbon->addMonth(-1);
		$denda = 0;
		$jenis_denda = JenisDenda::where(['type'=>'Denda Keterlambatan'])->first();

		if($jenis_denda){
			if($jenis_denda->tanggal_jt == 30 || $jenis_denda->tanggal_jt == 31){
				
			$diff = Carbon::create($tanggal)->diffInMonths(Carbon::now()->format('Y-m'));
				if($diff == 0){
					if(Carbon::now()->format("d") == Carbon::now()->endOfMonth()->format('d')){
						$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
					}
				}
				else if($diff > 15){
					$denda = (($jenis_denda->nominal_denda*(15)/100)) * $pembayaran;
    			} 
    			else if($diff > 0) {
					if(Carbon::now()->format("d") > $jenis_denda->tanggal_jt){
						$denda = (($jenis_denda->nominal_denda*($diff + 1)/100)) * $pembayaran;
						dd("a");
					} else if($diff >= 2){
						$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
						dd("b");
					}
				}
			$nilaiDenda = (int)$denda;
			return $nilaiDenda;
			} else {
				$diff = Carbon::create($tanggal)->diffInMonths(Carbon::now()->format('Y-m'));

				if($diff > 15){
					$denda = (($jenis_denda->nominal_denda*($diff + 1)/100)) * $pembayaran;
				} else if($diff == 0){
				if(Carbon::now()->addMonth(-1)->format("d") > $jenis_denda->tanggal_jt){
					$denda = (($jenis_denda->nominal_denda/100)) * $pembayaran;
				} 
				} else if($diff > 0){
					if(Carbon::now()->format("d") > $jenis_denda->tanggal_jt){
						$denda = (($jenis_denda->nominal_denda*($diff-1)/100)) * $pembayaran;
					} else if($diff >= 2){
						$denda = (($jenis_denda->nominal_denda*($diff-1)/100)) * $pembayaran;
					}
				}
		$nilaiDenda = (int)$denda;
		return $nilaiDenda;
			}
		} else {
			return $denda;
		}
		// $submit_month = Carbon::createFromFormat('Y-m-d',Carbon::create($tanggal)->format('Y-m').'-'.$jenis_denda->tanggal_jt);
		// // if(Carbon::now()->addMonth(-1))
		// $diff = Carbon::createFromFormat('Y-m-d',Carbon::create($tanggal)->format('Y-m').'-'.$jenis_denda->tanggal_jt)->addMonth(2);

		
		// // return $diff;
		// if (Carbon::now()->addMonth(-1)->format('Y-m') > $submit_month->format('Y-m')) { 
		// 	//jika bulan yang mau dibayar adalah pemakaian bulan lalu
		// 	$month = $submit_month->addMonth(1)->diffInMonths($diff);
		// 	dd($month);
		
		// 	$denda = (($jenis_denda->nominal_denda*$month)/100) * $pembayaran;		
		// }
	}



	public function refreshDendaKeterlambatan($user_id,$tanggal,$pembayaran,$date){
		// $carbon = Carbon::now();
		// $now = $carbon;
		// $current_month = $carbon->addMonth(-1);
		$denda = 0;
		$jenis_denda = JenisDenda::where(['type'=>'Denda Keterlambatan'])->first();

		
		if($jenis_denda){
			if($jenis_denda->tanggal_jt == 30 || $jenis_denda->tanggal_jt == 31){
				
			$diff = Carbon::create($tanggal)->diffInMonths(Carbon::now()->format('Y-m'));
				if($diff == 0){
					if(Carbon::now()->format("d") == Carbon::now()->endOfMonth()->format('d')){
						$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
					}
				}
				else if($diff > 15){
					$denda = (($jenis_denda->nominal_denda*(15)/100)) * $pembayaran;
    			} 
    			else if($diff > 0) {
					$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
				}
			$nilaiDenda = (int)$denda;
			return $nilaiDenda;
			} else {
				$diff = Carbon::create($tanggal)->diffInMonths(Carbon::now()->format('Y-m'));
				if($diff > 15){
					$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
				} else if($diff == 0){
				if(Carbon::now()->addMonth(-1)->format("d") > $jenis_denda->tanggal_jt){
					$denda = (($jenis_denda->nominal_denda/100)) * $pembayaran;
				} 
				} else if($diff > 0){
					if(Carbon::now()->format("d") > $jenis_denda->tanggal_jt){
						$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
					} else {
						$denda = (($jenis_denda->nominal_denda*($diff)/100)) * $pembayaran;
					}
				}
		$nilaiDenda = (int)$denda;
		return $nilaiDenda;
			}
		} else {
			return $denda;
		}
}
}

?>

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]