where('billplz_id',$request->billplz_id)->first(); return response()->json($transactionOnline); } public function getLatestNosiri(){ $current = Carbon::now(); $current = new Carbon(); $nosiri = TransactionOnline::on('mysql7')->where('tarikh','=',$current->toDateString())->orderBy('nosiri','desc')->first(); return response()->json($nosiri); } public function create(Request $request){ $current = Carbon::now(); $current = new Carbon(); $cawangan = Cawangan::on('mysql7')->where('kodcaw',$request->kodcaw)->first(); $sag = Gadai::on($cawangan['mysql'])->where('norujukan',$request->norujukan)->first(); $transaction = TransactionOnline::on('mysql7')->create([ 'nokp' => $request->nokp, 'reference_no' => $request->reference_no, 'nosiri' => $request->nosiri, 'billplz_id' => $request->billplz_id, 'norujukan' => $request->norujukan, 'kodcaw' => $request->kodcaw, 'total_payment' => $request->total_payment, 'tarikh' => $current->toDateString(), 'masa' => $current->toTimeString(), 'customer_name' => $request->customer_name, 'tempohbayar'=>$sag['tempoh'] ]); return response()->json($transaction,201); } public function updateStatus(Request $request){ $transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( 'status' => $request->status, 'paid_at' => $request->paid_at )); return response()->json($transaction,200); } public function updateTransactionOnline(){ $transactions = TransactionOnline::on('mysql7')->where([['status','=','PAID'],['update_status',0]])->get(); $current = Carbon::now(); $current = new Carbon(); foreach($transactions as $index=>$transaction){ $cawangan = Cawangan::on('mysql7') ->where('kodcaw','=',$transaction['kodcaw']) ->first(); $gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan',$transaction['norujukan']],['nokp',$transaction['nokp']]])->first(); if($gadai_data['hargajualan'] > 0){ $this->updateGadaiMarhunKaunter($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at'],$transaction['tempohbayar']); }else{ $this->createAdvansur($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at']); } GlDetail::on($cawangan['mysql'])->create([ 'kodcaw' => $transaction['kodcaw'], 'tarikh' => Carbon::parse($transaction['paid_at'])->format('Y-m-d'), 'dtacct' => '1000/010', 'ktacct' => '1000/020', 'descpt' => 'SERAHAN BAYAR ONLINE - ' . $transaction['norujukan'], 'serahan' => $transaction['total_payment'], 'teller' => 'ONLINE' ]); TransactionOnline::on('mysql7')->where([['norujukan',$transaction['norujukan']],['billplz_id',$transaction['billplz_id']]])->update([ 'update_status' => 1, 'update_serahan' => 1 ]); } return response()->json('success'); } public function kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar){ $cawangan = Cawangan::on('mysql7') ->where('kodcaw','=',$kodcaw) ->first(); $gadai_data = Gadai::on($cawangan['mysql']) ->where('norujukan','=',$norujukan) ->first(); $bilang_bln = $tempohbayar - $gadai_data['tempohbayar']; $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']); $upah_semasa_round = number_format($upahsemasa_raw,2); $upah_semasa = substr($upah_semasa_round, 0, -1); if(strpos($upah_semasa,',')){ $upah_semasa = str_replace(',','',$upah_semasa); } // $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa)); return $upah_semasa; } public function kiraUpahRebet($kodcaw,$norujukan,$tempohbayar){ $cawangan = Cawangan::on('mysql7') ->where('kodcaw','=',$kodcaw) ->first(); $gadai_data = Gadai::on($cawangan['mysql']) ->where('norujukan','=',$norujukan) ->first(); $bilang_bln = $tempohbayar - $gadai_data['tempohbayar']; $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']); $upah_rebet_round = number_format($upahrebet_raw,2); $upah_rebet = substr($upah_rebet_round, 0, -1); if(strpos($upah_rebet,',')){ $upah_rebet = str_replace(',','',$upah_rebet); } // $upah_rebet = floatval(preg_replace('/[^\d.]/', '', $upah_rebet)); return $upah_rebet; } public function updateGadaiMarhunKaunter($kodcaw,$norujukan,$bayaran,$paid_at,$tempohbayar){ $current = Carbon::now(); $current = new Carbon(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); if($tempohbayar == 0.0){ $tempohbayar = $gadai['tempoh']; } $upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); $upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); $total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk'); $total_bayaran_semasa = $total_bayaran_prev + $bayaran; if($total_bayaran_semasa >= $gadai['bakiupah']){ $lelong_tawarruq = 0; }else{ $lelong_tawarruq = 1; } $baki_hargajualan = $gadai['bakihargajualan'] - $bayaran; $baki_bayaran = $bayaran - $upahsemasa; $baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran; $transaction = Transaction::on('mysql7')->create([ 'trans_type' => 'A', 'norujukan' => $norujukan, 'nokp' => $gadai['nokp'], 'teller' => 'Online', 'kodcaw' => $kodcaw, 'duit_masuk' => $bayaran, 'created_at' => Carbon::parse($paid_at), 'bakiharga' => $baki_hargajualan, ]); $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ 'norujukan' => $norujukan, 'bayaran_keuntungan' => $upahsemasa, 'bayaran_pembiayaan' => $baki_bayaran, 'keuntungan_rebet'=> $upahrebet, 'tarikh_bayaran'=> Carbon::parse($paid_at), 'kodcaw'=> $kodcaw ]); $update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array( 'bakipjm' => $baki_pinjaman, 'jbg' => 0, 't_update' => Carbon::parse($paid_at)->toDateString(), 'bakihargajualan' => $baki_hargajualan, 'tempohbayar' => $tempohbayar, 'lelong_tawarruq' => $lelong_tawarruq )); return response()->json($update_gadai, 200); } public function createAdvansur($kodcaw,$norujukan,$bayaran,$paid_at){ $current = Carbon::now(); $current = new Carbon(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $gadai = Gadai::on($cawangan['mysql'])->where('norujukan',$norujukan)->first(); $create_advansur = Advansur::on($cawangan['mysql'])->create([ 'tarikh'=> Carbon::parse($paid_at)->toDateString(), 'noresit'=> 0, 'norujukan' => $norujukan, 'nopelanggan' => $gadai['nopelanggan'], 'nilaimarhun' => $gadai['nilaimarhun'], 'pinjaman' => $gadai['pinjaman'], 'kadarupah' => $gadai['kadarupah'], 'glcode' => "1000/010", 'upahsebenar' => $bayaran, 'upahDibayar' => $bayaran, 'teller' => 'Online', 'prkod' => $gadai['prkod'], 'jbg' => $gadai['tempoh'], 'nowakil' => 0, 'hubungan' => 0, 'status' => 0, 'historygadaian' => $norujukan ]); return response()->json($create_advansur ,201); } public function getTransactionOnlineLogin(Request $request){ $transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id',$request->billplz_id)->get(); return response()->json($transactionOnline); } public function searchSAGOnline(Request $request){ $current = Carbon::now(); $current = new Carbon(); $transaction_online = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','PAID'],['update_status',0],['tarikh',$current->toDateString()]])->first(); if($transaction_online){ return response()->json(true); }else{ return response()->json(false); } } public function getListUnsuccessful(){ $list = TransactionOnline::on('mysql7')->where('status','NOT PAID')->orderBy('id', 'desc')->take(10)->get(); return response()->json($list); } public function updateUnsuccessfulTransaction(Request $request){ $transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( 'status' => $request->status, 'paid_at' => $request->paid_at )); return response()->json($transaction,200); } public function CustomerInfo(Request $request){ $cawangan_all = Cawangan::on('mysql7')->get(); $gadai_all = []; $akanlelongarray = []; foreach($cawangan_all as $index=>$cawangan){ $gadai = Gadai::on($cawangan['mysql']) ->where([['sttebus','=',''],['nokp','=',$request->ic]]) ->orderBy('t_gadai','desc') ->get()->toArray(); if(sizeof($gadai) != 0){ foreach($gadai as $gad) { $result = (new TebusController)->kiraupahTawarruq($gad['kodcaw'],$gad['norujukan']); $gad['keuntungan'] = $result; array_push($gadai_all,$gad); } } $akanlelong = Gadai::on($cawangan['mysql']) ->where([['sttebus','=', ''],['nokp','=',$request->ic],['hargajual','=', 0]]) ->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan') ->get()->toArray(); if(sizeof($akanlelong) != 0){ foreach($akanlelong as $lelong) { $result = (new TebusController)->kiraupahTawarruq($lelong['kodcaw'],$lelong['norujukan']); $lelong['keuntungan'] = $result; array_push($akanlelongarray,$lelong); } } } return response()->json( array( 'gadai' => $gadai_all, 'lelong' => $akanlelongarray ),200); } }