diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index e443a22..8e4e2b3 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -751,8 +751,7 @@ class GadaiController extends Controller public function getLaporanGadai($kodcaw,$tarikh){ $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); - - $gadai_data = Gadai::on($cawangan['mysql'])->select('t_gadai','norujukan','nokp','semakbarcode','masa','berat','nilaimarhun','pinjaman','upah12','percentpinj','teller','nokp') + $gadai_data = Gadai::on($cawangan['mysql'])->select('t_gadai','norujukan','nokp','semakbarcode','masa','berat','nilaimarhun','pinjaman','upah12','percentpinj','teller','nokp','ujrah','onepercent') ->where('t_gadai','=',$tarikh) ->orderBy('teller') ->orderBy('sirig') @@ -776,7 +775,9 @@ class GadaiController extends Controller "upah12"=> $gadaiData['upah12'], "percentpinj"=> $gadaiData['percentpinj'], "alamat1"=> $customer_info['alamat1'], - "teller"=> $gadaiData['teller'] + "teller"=> $gadaiData['teller'], + "onepercent"=> $gadaiData['onepercent'], + "ujrah"=> $gadaiData['ujrah'] ]); } } @@ -803,7 +804,7 @@ class GadaiController extends Controller $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); - $gadai_data = Gadai::on($cawangan['mysql'])->select('t_gadai','norujukan','nokp','semakbarcode','masa','berat','nilaimarhun','pinjaman','upah12','percentpinj','teller','nokp') + $gadai_data = Gadai::on($cawangan['mysql'])->select('t_gadai','norujukan','nokp','semakbarcode','masa','berat','nilaimarhun','pinjaman','upah12','percentpinj','teller','nokp','ujrah','onepercent') ->where('t_gadai','>=',$request->mula) ->where('t_gadai','<=',$request->akhir) ->orderBy('t_gadai') @@ -829,7 +830,9 @@ class GadaiController extends Controller "upah12"=> $gadaiData['upah12'], "percentpinj"=> $gadaiData['percentpinj'], "alamat1"=> $customer_info['alamat1'], - "teller"=> $gadaiData['teller'] + "teller"=> $gadaiData['teller'], + "ujrah"=> $gadaiData['ujrah'], + "onepercent"=> $gadaiData['onepercent'] ]); } } @@ -1151,7 +1154,17 @@ class GadaiController extends Controller $dateans = new Carbon($request->tarikh); $ansuran_data = Transaction::on('mysql7') - ->select('transaction.norujukan','trans.tarikh_bayaran','transaction.nokp','transaction.kodcaw','transaction.trans_type','cust.nama','trans.bayaran_pembiayaan','transaction.duit_masuk','trans.bayaran_keuntungan','transaction.teller') + ->select('transaction.norujukan', + 'trans.tarikh_bayaran', + 'transaction.nokp', + 'transaction.kodcaw', + 'transaction.trans_type', + 'cust.nama','trans.bayaran_pembiayaan', + 'transaction.duit_masuk', + 'trans.bayaran_keuntungan', + 'transaction.teller', + 'trans.ujrah', + 'trans.onepercent') ->leftJoin('transaksi_keuntungan as trans', function($join) { $join->on('transaction.norujukan', '=', 'trans.norujukan'); @@ -1186,7 +1199,72 @@ class GadaiController extends Controller "bayaran_pembiayaan" => $ansuranData['bayaran_pembiayaan'], "duit_masuk" => $ansuranData['duit_masuk'], "bayaran_keuntungan" => $ansuranData['bayaran_keuntungan'], - "teller" => $ansuranData['teller'] + "teller" => $ansuranData['teller'], + "ansuranujrah" => $ansuranData['ujrah'], + "ansuranonepercent" => $ansuranData['onepercent'], + + + ]); + } + } + + return response()->json($ansuran); + } + + public function getLaporanAnsuranUjrah($kodcaw,Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + $ansuran_data = Transaction::on('mysql7') + ->select('transaction.norujukan', + 'trans.tarikh_bayaran', + 'transaction.nokp', + 'transaction.kodcaw', + 'transaction.trans_type', + 'cust.nama','trans.bayaran_pembiayaan', + 'transaction.duit_masuk', + 'trans.bayaran_keuntungan', + 'transaction.teller', + 'trans.ujrah', + 'trans.onepercent') + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->leftJoin('customer as cust', function($join) + { + $join->on('transaction.nokp', '=', 'cust.kpbaru'); + $join->orOn('transaction.nokp', '=', 'cust.kplama'); + }) + ->where('transaction.kodcaw','=',$kodcaw) + ->where('transaction.trans_type','=','A') + ->where('transaction.created_at','>=',$request->mula) + ->where('transaction.created_at','<=',$request->akhir) + ->orderBy('trans.tarikh_bayaran') + ->orderBy('transaction.teller') + ->get(); + + $ansuran = []; + + if($ansuran_data){ + foreach($ansuran_data as $index=>$ansuranData){ + $gadai = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuranData['norujukan'])->first(); + + array_push($ansuran,[ + "norujukan" => $ansuranData['norujukan'], + "tarikh_bayaran" => $ansuranData['tarikh_bayaran'], + "nokp" => $ansuranData['nokp'], + "kodcaw" => $ansuranData['kodcaw'], + "trans_type" => $ansuranData['trans_type'], + "nama" => $ansuranData['nama'], + "tempoh" => $gadai['tempoh'], + "bakipjm" => $gadai['bakipjm'], + "bayaran_pembiayaan" => $ansuranData['bayaran_pembiayaan'], + "duit_masuk" => $ansuranData['duit_masuk'], + "bayaran_keuntungan" => $ansuranData['bayaran_keuntungan'], + "teller" => $ansuranData['teller'], + "ansuranujrah" => $ansuranData['ujrah'], + "ansuranonepercent" => $ansuranData['onepercent'], ]); } } @@ -1224,12 +1302,83 @@ class GadaiController extends Controller $keuntungankaunter = $ansuranskaunter->sum('trans.bayaran_keuntungan'); $pendahuluankaunter = $ansuranskaunter->sum('trans.bayaran_pembiayaan'); $bilangankaunter = $ansuranskaunter->count(); + $ujrahkaunter = $ansuranskaunter->sum('trans.ujrah'); + $onepercentkaunter = $ansuranskaunter->sum('trans.onepercent'); $keuntunganonline = $ansuransonline->sum('trans.bayaran_keuntungan'); $pendahuluanonline = $ansuransonline->sum('trans.bayaran_pembiayaan'); $bilanganonline = $ansuransonline->count(); - $arrayansuran = ['totalpendahuluankaunter' => $pendahuluankaunter, 'totalkeuntungankaunter' => $keuntungankaunter, 'bilangankaunter' => $bilangankaunter,'totalpendahuluanonline' => $pendahuluanonline, 'totalkeuntunganonline' => $keuntunganonline, 'bilanganonline' => $bilanganonline]; + $arrayansuran = [ + 'totalpendahuluankaunter' => $pendahuluankaunter, + 'totalkeuntungankaunter' => $keuntungankaunter, + 'bilangankaunter' => $bilangankaunter, + 'totalujrahkaunter' => $ujrahkaunter, + 'totalonepercentkaunter' => $onepercentkaunter, + + 'totalpendahuluanonline' => $pendahuluanonline, + 'totalkeuntunganonline' => $keuntunganonline, + 'bilanganonline' => $bilanganonline + ]; + + return response()->json($arrayansuran,200); + } + + public function getAnsuranSummaryRange($kodcaw,Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + $dateans = new Carbon($request->mula); + $dateans2 = new Carbon($request->akhir); + + $ansuranskaunter = Transaction::on('mysql7') + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->where('transaction.kodcaw','=',$kodcaw) + ->where('transaction.trans_type','=','A') + ->where('transaction.teller','<>','Online') + ->whereDate('transaction.created_at','>=',$dateans) + ->whereDate('transaction.created_at','<=',$dateans2); + + $ansuransonline = Transaction::on('mysql7') + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->where('transaction.kodcaw','=',$kodcaw) + ->where('transaction.trans_type','=','A') + ->where('transaction.teller','=','Online') + ->whereDate('transaction.created_at','>=',$dateans) + ->whereDate('transaction.created_at','<=',$dateans2); + + $keuntungankaunter = $ansuranskaunter->sum('trans.bayaran_keuntungan'); + $pendahuluankaunter = $ansuranskaunter->sum('trans.bayaran_pembiayaan'); + $bilangankaunter = $ansuranskaunter->count(); + $ujrahkaunter = $ansuranskaunter->sum('trans.ujrah'); + $onepercentkaunter = $ansuranskaunter->sum('trans.onepercent'); + + + $keuntunganonline = $ansuransonline->sum('trans.bayaran_keuntungan'); + $pendahuluanonline = $ansuransonline->sum('trans.bayaran_pembiayaan'); + $bilanganonline = $ansuransonline->count(); + $ujrahonline = $ansuransonline->sum('trans.ujrah'); + $onepercentonline = $ansuransonline->sum('trans.onepercent'); + + $arrayansuran = [ + 'totalpendahuluankaunter' => $pendahuluankaunter, + 'totalkeuntungankaunter' => $keuntungankaunter, + 'bilangankaunter' => $bilangankaunter, + 'totalujrahkaunter' => $ujrahkaunter, + 'totalonepercentkaunter' => $onepercentkaunter, + + 'totalpendahuluanonline' => $pendahuluanonline, + 'totalkeuntunganonline' => $keuntunganonline, + 'bilanganonline' => $bilanganonline, + 'totalujrahonline' => $ujrahonline, + 'totalonepercentonline' => $onepercentonline, + ]; return response()->json($arrayansuran,200); } diff --git a/app/Http/Controllers/TebusController.php b/app/Http/Controllers/TebusController.php index 0ae3446..83136b7 100644 --- a/app/Http/Controllers/TebusController.php +++ b/app/Http/Controllers/TebusController.php @@ -732,7 +732,6 @@ class TebusController extends Controller $customer_info = Customer::on('mysql7')->where('kplama','=',$tebusData['nokp'])->orWhere('kpbaru','=',$tebusData['nokp'])->first(); $trans = TransaksiKeuntungan::on('mysql7')->where('norujukan',$tebusData['norujukan'])->orderBy('tarikh_bayaran','desc')->first(); - array_push($tebus,[ "t_tebus"=>$tebusData['t_tebus'], "t_gadai"=>$tebusData['t_gadai'], @@ -750,7 +749,58 @@ class TebusController extends Controller "norujukan"=>$tebusData['norujukan'], "nama"=>$customer_info['nama'], "nokp"=>$tebusData['nokp'], - "jbg"=>$tebusData['jbg'] + "jbg"=>$tebusData['jbg'], + "ujrah"=>$tebusData['ujrah'], + "onepercent"=>$tebusData['onepercent'] + + ]); + } + } + + return response()->json($tebus); + } + + + public function getLaporanTebusUjrah($kodcaw, Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + $tebus_data = Tebus::on($cawangan['mysql']) + ->select('tebus.t_tebus', 'gad.t_gadai','gad.hargajualan','gad.bakihargajualan','gad.bakipjm as gadaibakipjm','tebus.nilaimarhun','tebus.tagterima', 'tebus.teller','tebus.jenistebus','tebus.pinjaman','tebus.bakiupah','tebus.bakipjm','gad.norujukan','gad.nokp','tebus.jbg','tebus.ujrah','tebus.onepercent','gad.tagbaru') + ->join('gadai as gad','gad.norujukan','=','tebus.norujukan') + ->where('tebus.t_tebus','>=',$request->mula) + ->where('tebus.t_tebus','<=',$request->akhir) + ->groupBy('tebus.norujukan') + ->orderBy('tebus.teller') + ->orderBy('tebus.sirit') + ->get(); + + $tebus = []; + if($tebus_data){ + foreach($tebus_data as $index=>$tebusData){ + $customer_info = Customer::on('mysql7')->where('kplama','=',$tebusData['nokp'])->orWhere('kpbaru','=',$tebusData['nokp'])->first(); + + $trans = TransaksiKeuntungan::on('mysql7')->where('norujukan',$tebusData['norujukan'])->orderBy('tarikh_bayaran','desc')->first(); + array_push($tebus,[ + "t_tebus"=>$tebusData['t_tebus'], + "t_gadai"=>$tebusData['t_gadai'], + "hargajualan"=>$tebusData['hargajualan'], + "bakihargajualan"=>$tebusData['bakihargajualan'], + "gadaibakipjm"=>$tebusData['gadaibakipjm'], + "tarikh_bayaran"=>$trans['tarikh_bayaran'], + "nilaimarhun"=>$tebusData['nilaimarhun'], + "tagterima"=>$tebusData['tagterima'], + "teller"=>$tebusData['teller'], + "jenistebus"=>$tebusData['jenistebus'], + "pinjaman"=>$tebusData['pinjaman'], + "bakiupah"=>$tebusData['bakiupah'], + "bakipjm"=>$tebusData['bakipjm'], + "norujukan"=>$tebusData['norujukan'], + "nama"=>$customer_info['nama'], + "nokp"=>$tebusData['nokp'], + "jbg"=>$tebusData['jbg'], + "ujrah"=>$tebusData['ujrah'], + "onepercent"=>$tebusData['onepercent'] + ]); } } @@ -770,6 +820,9 @@ class TebusController extends Controller $totalpenebusanarrahn = $tebusarrahn->sum('tebus.pinjaman'); $bilpenebusanarrahn = $tebusarrahn->count(); $totalkeuntunganarrahn = $tebusarrahn->sum('tebus.bakiupah'); + $totalujraharrahn = $tebusarrahn->sum('tebus.ujrah'); + $totalonepercentarrahn = $tebusarrahn->sum('tebus.onepercent'); + $tebustawarruq = Tebus::on($cawangan['mysql']) ->join('gadai as gad','gad.norujukan','=','tebus.norujukan') @@ -790,10 +843,91 @@ class TebusController extends Controller $bilpenebusantawarruq = $tebustawarruq->count(); $totalrebatetawarruq = $tebustawarruq->sum('tebus.rebate'); $totalkeuntungantawarruq = $tebustawarruq->sum('tebus.bakiupah'); + $totalujrahtawarruq = $tebustawarruq->sum('tebus.ujrah'); + $totalonepercenttawarruq = $tebustawarruq->sum('tebus.onepercent'); + + // dd($totalkeuntunganarrahn,$totalkeuntungantawarruq); - $array_penebusan = ['bilarrahn' => $bilpenebusanarrahn, 'totalarrahn' => $totalpenebusanarrahn, 'keuntunganarrahn' => $totalkeuntunganarrahn, 'biltawarruq' => $bilpenebusantawarruq, 'totaltawarruq' => $totalpenebusantawarruq,'totalrebate' => $totalrebatetawarruq,'keuntungantawarruq' => $totalkeuntungantawarruq]; + $array_penebusan = [ + 'bilarrahn' => $bilpenebusanarrahn, + 'totalarrahn' => $totalpenebusanarrahn, + 'keuntunganarrahn' => $totalkeuntunganarrahn, + 'ujraharrahn' => $totalujraharrahn, + 'onepercentarrahn' => $totalonepercentarrahn, + + 'biltawarruq' => $bilpenebusantawarruq, + 'totaltawarruq' => $totalpenebusantawarruq, + 'totalrebate' => $totalrebatetawarruq, + 'keuntungantawarruq' => $totalkeuntungantawarruq, + 'ujrahtawarruq' => $totalujrahtawarruq, + 'onepercenttawarruq' => $totalonepercenttawarruq + ]; + + return response()->json($array_penebusan); + } + + public function getLaporanTebusPengasinganUjrah($kodcaw,Request $request){ + + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + $tebusarrahn = Tebus::on($cawangan['mysql']) + ->join('gadai as gad','gad.norujukan','=','tebus.norujukan') + ->where('tebus.t_tebus','>=',$request->mula) + ->where('tebus.t_tebus','<=',$request->akhir) + ->whereNull('hargajualan'); + + $totalpenebusanarrahn = $tebusarrahn->sum('tebus.pinjaman'); + $bilpenebusanarrahn = $tebusarrahn->count(); + $totalkeuntunganarrahn = $tebusarrahn->sum('tebus.bakiupah'); + $totalujraharrahn = $tebusarrahn->sum('tebus.ujrah'); + $totalonepercentarrahn = $tebusarrahn->sum('tebus.onepercent'); + + + $tebustawarruq = Tebus::on($cawangan['mysql']) + ->join('gadai as gad','gad.norujukan','=','tebus.norujukan') + ->where('tebus.t_tebus','>=',$request->mula) + ->where('tebus.t_tebus','<=',$request->akhir) + ->whereNotNull('hargajualan'); + + $tebustawarruqansuran = Tebus::on($cawangan['mysql']) + ->select('tebus.bakiupah','tebus.norujukan') + ->join('gadai as gad','gad.norujukan','=','tebus.norujukan') + ->where('tebus.t_tebus','>=',$request->mula) + ->where('tebus.t_tebus','<=',$request->akhir) + ->whereNotNull('hargajualan') + ->where('gad.tagbaru','=',1) + ->where('hargajualan','<>','bakihargajualan'); + + // dd($tebustawarruqansuran); + + // $totalpenebusantawarruq = ($tebustawarruq->sum('tebus.pinjaman') - $tebustawarruqansuran->sum('gad.pinjaman')) + $tebustawarruqansuran->sum('gad.bakipjm'); + $totalpenebusantawarruq = $tebustawarruq->sum('tebus.pinjaman'); + $bilpenebusantawarruq = $tebustawarruq->count(); + $totalrebatetawarruq = $tebustawarruq->sum('tebus.rebate'); + $totalkeuntungantawarruq = $tebustawarruq->sum('tebus.bakiupah'); + $totalujrahtawarruq = $tebustawarruq->sum('tebus.ujrah'); + $totalonepercenttawarruq = $tebustawarruq->sum('tebus.onepercent'); + + + + // dd($totalkeuntunganarrahn,$totalkeuntungantawarruq); + + $array_penebusan = [ + 'bilarrahn' => $bilpenebusanarrahn, + 'totalarrahn' => $totalpenebusanarrahn, + 'keuntunganarrahn' => $totalkeuntunganarrahn, + 'ujraharrahn' => $totalujraharrahn, + 'onepercentarrahn' => $totalonepercentarrahn, + + 'biltawarruq' => $bilpenebusantawarruq, + 'totaltawarruq' => $totalpenebusantawarruq, + 'totalrebate' => $totalrebatetawarruq, + 'keuntungantawarruq' => $totalkeuntungantawarruq, + 'ujrahtawarruq' => $totalujrahtawarruq, + 'onepercenttawarruq' => $totalonepercenttawarruq + ]; return response()->json($array_penebusan); } @@ -1070,13 +1204,26 @@ class TebusController extends Controller $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); - $listadvansur = Advansur::on($cawangan['mysql']) - ->where('tarikh','>=',$request->mula)->where('tarikh','<=',$request->akhir); + $listadvansurkaunter = Advansur::on($cawangan['mysql']) + ->where('tarikh','>=',$request->mula) + ->where('tarikh','<=',$request->akhir) + ->where('teller','<>','Online'); - $countadvansur = $listadvansur->count(); - $totaladvansur = $listadvansur->sum('upahdibayar'); + $listadvansuronline = Advansur::on($cawangan['mysql']) + ->where('tarikh','>=',$request->mula) + ->where('tarikh','<=',$request->akhir) + ->where('teller','=','Online'); - $arrayadvansur = ['bil' => $countadvansur, 'total' => $totaladvansur]; + $countadvansurkaunter = $listadvansurkaunter->count(); + $totaladvansurkaunter = $listadvansurkaunter->sum('upahdibayar'); + + $countadvansuronline = $listadvansuronline->count(); + $totaladvansuronline = $listadvansuronline->sum('upahdibayar'); + + $arrayadvansur = ['bilkaunter' => $countadvansurkaunter, + 'totalkaunter' => $totaladvansurkaunter, + 'bilonline' => $countadvansuronline, + 'totalonline' => $totaladvansuronline]; return response()->json($arrayadvansur,200); } diff --git a/routes/web.php b/routes/web.php index 0842c8d..4c97eeb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -115,6 +115,16 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->get('tebus/laporan/{kodcaw}/{tarikh}',['uses'=>'TebusController@getLaporanTebus']); $router->get('tebus/laporanjenistawarruq/{kodcaw}',['uses'=>'TebusController@getLaporanTebusPengasingan']); + //Tebus Ujrah (Laporan Range Date) + $router->get('tebusujrah/laporan/{kodcaw}',['uses'=>'TebusController@getLaporanTebusUjrah']); + $router->get('tebus/laporanjenistawarruqujrah/{kodcaw}',['uses'=>'TebusController@getLaporanTebusPengasinganUjrah']); + + //Ansuran Ujrah (Laporan Range Date) + $router->get('ansuranujrah/laporan/{kodcaw}',['uses'=>'GadaiController@getLaporanAnsuranUjrah']); + + + + $router->get('moratorium/details',['uses'=>'TebusController@getMoratorium']); //Maintenance API TEBUS @@ -239,6 +249,7 @@ $router->group(['prefix'=>'api'], function () use ($router){ //ANSURAN UPAH API $router->get('ansuran/laporan/{kodcaw}',['uses'=>'GadaiController@getLaporanAnsuran']); $router->get('ansuransummary/{kodcaw}',['uses'=>'GadaiController@getAnsuranSummary']); + $router->get('ansuransummaryrange/{kodcaw}',['uses'=>'GadaiController@getAnsuranSummaryRange']); $router->get('ansuran/{kodcaw}/{norujukan}',['uses'=>'TebusController@getAdvansur']); $router->get('AnsuranByTarikh/{kodcaw}',['uses'=>'TebusController@SenaraiAdvansur']); $router->get('AnsuranByRangeTarikh/{kodcaw}',['uses'=>'TebusController@SenaraiAdvansurRangeDate']);