Merge branch 'ujrah_master' of https://bitbucket.org/arrahn-pkb/api_arrahn into ainiedev
This commit is contained in:
@@ -1332,25 +1332,27 @@ class CallCenterController extends Controller
|
|||||||
$notisjbgbycaw = NotisPeringatan::on('mysql7')
|
$notisjbgbycaw = NotisPeringatan::on('mysql7')
|
||||||
->where('notisperingatan.notis_id',$notisid)->where('notisperingatan.kodcaw',$kodcaw)
|
->where('notisperingatan.notis_id',$notisid)->where('notisperingatan.kodcaw',$kodcaw)
|
||||||
->where('notisperingatan.peringatan',2)
|
->where('notisperingatan.peringatan',2)
|
||||||
->distinct()
|
//->distinct() //asal
|
||||||
->get();
|
->orderBy('nokp')
|
||||||
|
->get(); //asal
|
||||||
|
|
||||||
$arraynorujukan = $notisjbgbycaw->pluck('norujukan')->toArray();
|
$arraynorujukan = $notisjbgbycaw->pluck('norujukan')->toArray(); //asal
|
||||||
$notisnokp = NotisPeringatan::on('mysql7')->whereIn('norujukan', $arraynorujukan)
|
|
||||||
|
$notisnokp = NotisPeringatan::whereIn('norujukan', $arraynorujukan)
|
||||||
->where('notisperingatan.peringatan',2)
|
->where('notisperingatan.peringatan',2)
|
||||||
->select('nokp')
|
->select('nokp')
|
||||||
->groupBy('nokp')
|
->groupBy('nokp')
|
||||||
->get();
|
->get(); // asal
|
||||||
|
|
||||||
foreach($notisnokp as $index1=>$cal){
|
foreach($notisnokp as $index=>$cal){ //asal
|
||||||
$customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp'])
|
//$customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) //asal
|
||||||
|
$customer = Customer::where('kpbaru','=',$cal['nokp'])
|
||||||
->orWhere('kplama','=',$cal['nokp'])
|
->orWhere('kplama','=',$cal['nokp'])
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
$listnotis = NotisPeringatan::on('mysql7')->whereIn('norujukan', $arraynorujukan)
|
//$listnotis = NotisPeringatan::on('mysql7')->whereIn('norujukan', $arraynorujukan) //asal
|
||||||
// ->where('nokp','=',$cal['nokp'])
|
$listnotis = NotisPeringatan::whereIn('norujukan', $arraynorujukan)
|
||||||
->where('nokp', 'like', '%'.$cal['nokp'].'%')
|
->where('nokp','=',$cal['nokp'])
|
||||||
->where('notisperingatan.peringatan',2)
|
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$listsag = Gadai::on($cawangan['mysql'])
|
$listsag = Gadai::on($cawangan['mysql'])
|
||||||
@@ -1375,9 +1377,9 @@ class CallCenterController extends Controller
|
|||||||
$listsag[$index2]['keuntungan'] = $response;
|
$listsag[$index2]['keuntungan'] = $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
$notisnokp[$index1]['info'] = $customer;
|
$notisnokp[$index]['info'] = $customer;
|
||||||
$notisnokp[$index1]['listsag'] = $listsag;
|
$notisnokp[$index]['listsag'] = $listsag;
|
||||||
$notisnokp[$index1]['listnotis'] = $listnotis;
|
$notisnokp[$index]['listnotis'] = $listnotis;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ class KomuditiController extends Controller
|
|||||||
$current = Carbon::now();
|
$current = Carbon::now();
|
||||||
$current = new Carbon();
|
$current = new Carbon();
|
||||||
|
|
||||||
$komuditi_asal = KomuditiPurchase::on('mysql7')->where('no_sijil','=',$request->nosijil)->first();
|
$komuditi_asal = KomuditiPurchase::on('mysql7')->where('no_sijil','=',$request->nosijil)->latest()->first();
|
||||||
|
|
||||||
$komuditi_purchase = KomuditiPurchase::on('mysql7')->where('no_sijil','=',$request->nosijil)->update(['unit_komuditi' => 0]);
|
$komuditi_purchase = KomuditiPurchase::on('mysql7')->where('no_sijil','=',$request->nosijil)->update(['unit_komuditi' => 0]);
|
||||||
|
|
||||||
@@ -89,8 +89,12 @@ class KomuditiController extends Controller
|
|||||||
return response()->json('berjaya');
|
return response()->json('berjaya');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function rekodKomuditi(){
|
public function rekodKomuditi(Request $request){
|
||||||
$rekodkomuditi = Komuditi::on('mysql7')->orderBy('date_purchase','desc')->orderBy('time_purchase','desc')->get();
|
if(isset($request->limit_view)) {
|
||||||
|
$rekodkomuditi = Komuditi::on('mysql7')->orderBy('date_purchase','desc')->orderBy('time_purchase','desc')->limit($request->limit_view)->get();
|
||||||
|
} else {
|
||||||
|
$rekodkomuditi = Komuditi::on('mysql7')->orderBy('date_purchase','desc')->orderBy('time_purchase','desc')->get();
|
||||||
|
}
|
||||||
|
|
||||||
return response()->json($rekodkomuditi);
|
return response()->json($rekodkomuditi);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Reports;
|
|||||||
|
|
||||||
use App\Helper;
|
use App\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Services\Reports\KawalanStokService;
|
||||||
use App\Services\Reports\RingkasanHarianService as ReportRingkasanHarianService;
|
use App\Services\Reports\RingkasanHarianService as ReportRingkasanHarianService;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -12,8 +13,15 @@ class RingkasanHarianController extends Controller
|
|||||||
|
|
||||||
public function getLaporanCawangan(string $kod_cawangan, Request $request)
|
public function getLaporanCawangan(string $kod_cawangan, Request $request)
|
||||||
{
|
{
|
||||||
$reportGadaianService = new ReportRingkasanHarianService($kod_cawangan, $request);
|
$reportRingkasanHarianService = new ReportRingkasanHarianService($kod_cawangan, $request);
|
||||||
return $reportGadaianService->getLaporanCawangan();
|
$reportKawalanStokService = new KawalanStokService($kod_cawangan, $request);
|
||||||
|
|
||||||
|
$reports = [
|
||||||
|
'reportRingkasanHarian' => $reportRingkasanHarianService->getLaporanCawangan(),
|
||||||
|
'reportKawalanStok' => $reportKawalanStokService->getLaporanCawangan(),
|
||||||
|
];
|
||||||
|
|
||||||
|
return response()->json($reports);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSummaryLaporanRingkasanHarian()
|
public function getSummaryLaporanRingkasanHarian()
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class KawalanStokService
|
|||||||
|
|
||||||
$gadaiini1 = Gadai::on($cawangan['mysql'])
|
$gadaiini1 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('t_gadai', '=>', $this->startDate)->where('t_gadai', '=<', $this->endDate)
|
->where('t_gadai', '>=', $this->startDate)->where('t_gadai', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 1)
|
->where('nilaimarhun', '>=', 1)
|
||||||
->where('nilaimarhun', '<=', 400.99)
|
->where('nilaimarhun', '<=', 400.99)
|
||||||
@@ -58,7 +58,7 @@ class KawalanStokService
|
|||||||
|
|
||||||
$gadaiini2 = Gadai::on($cawangan['mysql'])
|
$gadaiini2 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('t_gadai', '>=', $this->startDate)->where('t_gadai', '<=', $this->endDate)
|
->where('t_gadai', '>=', $this->startDate)->where('t_gadai', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 401)
|
->where('nilaimarhun', '>=', 401)
|
||||||
->where('nilaimarhun', '<=', 2000.99)
|
->where('nilaimarhun', '<=', 2000.99)
|
||||||
@@ -66,7 +66,7 @@ class KawalanStokService
|
|||||||
|
|
||||||
$gadaiini3 = Gadai::on($cawangan['mysql'])
|
$gadaiini3 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('t_gadai', '>=', $this->startDate)->where('t_gadai', '<=', $this->endDate)
|
->where('t_gadai', '>=', $this->startDate)->where('t_gadai', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 2001)
|
->where('nilaimarhun', '>=', 2001)
|
||||||
->where('nilaimarhun', '<=', 1000000)
|
->where('nilaimarhun', '<=', 1000000)
|
||||||
@@ -113,7 +113,7 @@ class KawalanStokService
|
|||||||
$tebusini1 = Gadai::on($cawangan['mysql'])
|
$tebusini1 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'T')
|
->where('sttebus', 'T')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 1)
|
->where('nilaimarhun', '>=', 1)
|
||||||
->where('nilaimarhun', '<=', 400.99)
|
->where('nilaimarhun', '<=', 400.99)
|
||||||
@@ -122,7 +122,7 @@ class KawalanStokService
|
|||||||
$tebusini2 = Gadai::on($cawangan['mysql'])
|
$tebusini2 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'T')
|
->where('sttebus', 'T')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 401)
|
->where('nilaimarhun', '>=', 401)
|
||||||
->where('nilaimarhun', '<=', 2000.99)
|
->where('nilaimarhun', '<=', 2000.99)
|
||||||
@@ -131,7 +131,7 @@ class KawalanStokService
|
|||||||
$tebusini3 = Gadai::on($cawangan['mysql'])
|
$tebusini3 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'T')
|
->where('sttebus', 'T')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 2001)
|
->where('nilaimarhun', '>=', 2001)
|
||||||
->where('nilaimarhun', '<=', 1000000)
|
->where('nilaimarhun', '<=', 1000000)
|
||||||
@@ -178,7 +178,7 @@ class KawalanStokService
|
|||||||
$lelongini1 = Gadai::on($cawangan['mysql'])
|
$lelongini1 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'L')
|
->where('sttebus', 'L')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 1)
|
->where('nilaimarhun', '>=', 1)
|
||||||
->where('nilaimarhun', '<=', 400.99)
|
->where('nilaimarhun', '<=', 400.99)
|
||||||
@@ -187,7 +187,7 @@ class KawalanStokService
|
|||||||
$lelongini2 = Gadai::on($cawangan['mysql'])
|
$lelongini2 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'L')
|
->where('sttebus', 'L')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 401)
|
->where('nilaimarhun', '>=', 401)
|
||||||
->where('nilaimarhun', '<=', 2000.99)
|
->where('nilaimarhun', '<=', 2000.99)
|
||||||
@@ -196,7 +196,7 @@ class KawalanStokService
|
|||||||
$lelongini3 = Gadai::on($cawangan['mysql'])
|
$lelongini3 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'L')
|
->where('sttebus', 'L')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 2001)
|
->where('nilaimarhun', '>=', 2001)
|
||||||
->where('nilaimarhun', '<=', 1000000)
|
->where('nilaimarhun', '<=', 1000000)
|
||||||
@@ -204,21 +204,10 @@ class KawalanStokService
|
|||||||
|
|
||||||
/*ansuran*/
|
/*ansuran*/
|
||||||
|
|
||||||
$ansuran1_data = TransaksiKeuntungan::on('mysql7')
|
$nomborRujukanAnsuran = $this->getFilteredNomborRujukanAnsuran();
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->where('trans.created_at', '<', $this->startDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran1 = [];
|
|
||||||
|
|
||||||
$ansuran1 = Gadai::on($cawangan['mysql'])
|
$ansuran1 = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuran1_data)
|
->whereIn('norujukan', $nomborRujukanAnsuran)
|
||||||
->where([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->orWhere([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
->orWhere([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
@@ -230,20 +219,10 @@ class KawalanStokService
|
|||||||
->where('tarikh_bayaran', '<=', $this->startDate)
|
->where('tarikh_bayaran', '<=', $this->startDate)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$ansuranharini1_data = TransaksiKeuntungan::on('mysql7')
|
$nomborRujukanAnsuranHariIni = $this->getFilteredNomborRujukanAnsuranHariIni();
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->whereDate('trans.created_at', '>=', $this->startDate)
|
|
||||||
->whereDate('trans.created_at', '<=', $this->endDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran1harini = Gadai::on($cawangan['mysql'])
|
$ansuran1harini = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuranharini1_data)
|
->whereIn('norujukan', $nomborRujukanAnsuranHariIni)
|
||||||
->where([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 1], ['nilaimarhun', '<=', 400.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
|
|
||||||
@@ -255,19 +234,8 @@ class KawalanStokService
|
|||||||
->where('kodcaw', $this->kodCawangan)
|
->where('kodcaw', $this->kodCawangan)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$ansuran2_data = TransaksiKeuntungan::on('mysql7')
|
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->where('trans.created_at', '<', $this->startDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran2 = Gadai::on($cawangan['mysql'])
|
$ansuran2 = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuran2_data)
|
->whereIn('norujukan', $nomborRujukanAnsuran)
|
||||||
->where([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->orWhere([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
->orWhere([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
@@ -279,20 +247,8 @@ class KawalanStokService
|
|||||||
->where('kodcaw', $this->kodCawangan)
|
->where('kodcaw', $this->kodCawangan)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$ansuranharini2_data = TransaksiKeuntungan::on('mysql7')
|
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->whereDate('trans.created_at', '>=', $this->startDate)
|
|
||||||
->whereDate('trans.created_at', '<=', $this->endDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran2harini = Gadai::on($cawangan['mysql'])
|
$ansuran2harini = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuranharini2_data)
|
->whereIn('norujukan', $nomborRujukanAnsuranHariIni)
|
||||||
->where([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 401], ['nilaimarhun', '<=', 2000.99], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
|
|
||||||
@@ -304,19 +260,8 @@ class KawalanStokService
|
|||||||
->where('kodcaw', $this->kodCawangan)
|
->where('kodcaw', $this->kodCawangan)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$ansuran3_data = TransaksiKeuntungan::on('mysql7')
|
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->where('trans.created_at', '<', $this->startDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran3 = Gadai::on($cawangan['mysql'])
|
$ansuran3 = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuran3_data)
|
->whereIn('norujukan', $nomborRujukanAnsuran)
|
||||||
->where([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->orWhere([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
->orWhere([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', '!=', ''], ['t_update', '>', $this->endDate], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
@@ -328,20 +273,8 @@ class KawalanStokService
|
|||||||
->where('kodcaw', $this->kodCawangan)
|
->where('kodcaw', $this->kodCawangan)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$ansuranharini3_data = TransaksiKeuntungan::on('mysql7')
|
|
||||||
->leftJoin('transaction as trans', function ($join) {
|
|
||||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
||||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
||||||
})
|
|
||||||
->whereDate('trans.created_at', '>=', $this->startDate)
|
|
||||||
->whereDate('trans.created_at', '<=', $this->endDate)
|
|
||||||
->where('trans.trans_type', '=', 'A')
|
|
||||||
->groupBy('trans.id')
|
|
||||||
->where('trans.kodcaw', $this->kodCawangan)
|
|
||||||
->pluck('trans.norujukan');
|
|
||||||
|
|
||||||
$ansuran3harini = Gadai::on($cawangan['mysql'])
|
$ansuran3harini = Gadai::on($cawangan['mysql'])
|
||||||
->whereIn('norujukan', $ansuranharini3_data)
|
->whereIn('norujukan', $nomborRujukanAnsuranHariIni)
|
||||||
->where([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
->where([['nilaimarhun', '>=', 2001], ['nilaimarhun', '<=', 1000000], ['sttebus', ''], ['hargajualan', '<>', 'null']])
|
||||||
->pluck('norujukan');
|
->pluck('norujukan');
|
||||||
|
|
||||||
@@ -402,7 +335,7 @@ class KawalanStokService
|
|||||||
$hapuskiraini1 = Gadai::on($cawangan['mysql'])
|
$hapuskiraini1 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'H')
|
->where('sttebus', 'H')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 1)
|
->where('nilaimarhun', '>=', 1)
|
||||||
->where('nilaimarhun', '<=', 400.99)
|
->where('nilaimarhun', '<=', 400.99)
|
||||||
@@ -411,7 +344,7 @@ class KawalanStokService
|
|||||||
$hapuskiraini2 = Gadai::on($cawangan['mysql'])
|
$hapuskiraini2 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'H')
|
->where('sttebus', 'H')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 401)
|
->where('nilaimarhun', '>=', 401)
|
||||||
->where('nilaimarhun', '<=', 2000.99)
|
->where('nilaimarhun', '<=', 2000.99)
|
||||||
@@ -420,7 +353,7 @@ class KawalanStokService
|
|||||||
$hapuskiraini3 = Gadai::on($cawangan['mysql'])
|
$hapuskiraini3 = Gadai::on($cawangan['mysql'])
|
||||||
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
|
||||||
->where('sttebus', 'H')
|
->where('sttebus', 'H')
|
||||||
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
->where('t_update', '>=', $this->startDate)->where('t_update', '<=', $this->endDate)
|
||||||
->where('tagpalsu', 0)
|
->where('tagpalsu', 0)
|
||||||
->where('nilaimarhun', '>=', 2001)
|
->where('nilaimarhun', '>=', 2001)
|
||||||
->where('nilaimarhun', '<=', 1000000)
|
->where('nilaimarhun', '<=', 1000000)
|
||||||
@@ -433,6 +366,36 @@ class KawalanStokService
|
|||||||
array_push($array_kawalanstok, ["ans1" => $arrayans1, "ans2" => $arrayans2, "ans3" => $arrayans3, "ansini1" => $arrayharinians1, "ansini2" => $arrayharinians2, "ansini3" => $arrayharinians3]);
|
array_push($array_kawalanstok, ["ans1" => $arrayans1, "ans2" => $arrayans2, "ans3" => $arrayans3, "ansini1" => $arrayharinians1, "ansini2" => $arrayharinians2, "ansini3" => $arrayharinians3]);
|
||||||
return response()->json($array_kawalanstok);
|
return response()->json($array_kawalanstok);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getFilteredNomborRujukanAnsuran()
|
||||||
|
{
|
||||||
|
return TransaksiKeuntungan::on('mysql7')
|
||||||
|
->leftJoin('transaction as trans', function ($join) {
|
||||||
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||||
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||||
|
})
|
||||||
|
->where('trans.created_at', '<', $this->startDate)
|
||||||
|
->where('trans.trans_type', '=', 'A')
|
||||||
|
->groupBy('trans.id')
|
||||||
|
->where('trans.kodcaw', $this->kodCawangan)
|
||||||
|
->pluck('trans.norujukan');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getFilteredNomborRujukanAnsuranHariIni()
|
||||||
|
{
|
||||||
|
return TransaksiKeuntungan::on('mysql7')
|
||||||
|
->leftJoin('transaction as trans', function ($join) {
|
||||||
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||||
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||||
|
})
|
||||||
|
->whereDate('trans.created_at', '>=', $this->startDate)
|
||||||
|
->whereDate('trans.created_at', '<=', $this->endDate)
|
||||||
|
->where('trans.trans_type', '=', 'A')
|
||||||
|
->groupBy('trans.id')
|
||||||
|
->where('trans.kodcaw', $this->kodCawangan)
|
||||||
|
->pluck('trans.norujukan');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class AddIndexToTransactionTable extends Migration
|
|||||||
$indexesFound = $schemaManager->listTableIndexes('transaction');
|
$indexesFound = $schemaManager->listTableIndexes('transaction');
|
||||||
|
|
||||||
if (! array_key_exists('idx_search_norujukan', $indexesFound)) {
|
if (! array_key_exists('idx_search_norujukan', $indexesFound)) {
|
||||||
$table->index(['created_at', 'trans_type', 'kodcaw'], 'idx_search_norujukan');
|
$table->index(['norujukan', 'created_at', 'trans_type', 'kodcaw'], 'idx_search_norujukan');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,153 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\GadaiController;
|
||||||
|
use App\Services\Reports\KawalanStokService;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Carbon;
|
||||||
|
|
||||||
|
class KawalanStokServiceTest extends TestCase
|
||||||
|
{
|
||||||
|
private $kodCawangan = 'kb2';
|
||||||
|
private $startDate = '2023-03-23';
|
||||||
|
private $endDate = '2023-03-23';
|
||||||
|
/**
|
||||||
|
* A basic test example.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function test_have_errors()
|
||||||
|
{
|
||||||
|
$request = new Request;
|
||||||
|
$request->startDate = $this->startDate;
|
||||||
|
$request->endDate = $this->endDate;
|
||||||
|
$ringkasanHarianService = new KawalanStokService($this->kodCawangan, $request);
|
||||||
|
|
||||||
|
$this->expectNotToPerformAssertions();
|
||||||
|
return $ringkasanHarianService->getLaporanCawangan();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_how_many_seconds_both_methods_takes_to_complete()
|
||||||
|
{
|
||||||
|
$day1 = '2023-03-20';
|
||||||
|
$day2 = '2023-03-21';
|
||||||
|
|
||||||
|
$function_execute_from_service = function () use ($day1, $day2) {
|
||||||
|
$request = new Request;
|
||||||
|
$request->startDate = $this->startDate;
|
||||||
|
$request->endDate = $this->startDate;
|
||||||
|
$ringkasanHarianService = new KawalanStokService($this->kodCawangan, $request);
|
||||||
|
|
||||||
|
$this->expectNotToPerformAssertions();
|
||||||
|
return $ringkasanHarianService->getLaporanCawangan();
|
||||||
|
};
|
||||||
|
|
||||||
|
$function_execute_from_originated = function () {
|
||||||
|
(new GadaiController())->getLaporanKawalanStok($this->kodCawangan, $this->startDate);
|
||||||
|
};
|
||||||
|
|
||||||
|
$this->calculate_function_execution_time($function_execute_from_service, 'service');
|
||||||
|
$this->calculate_function_execution_time($function_execute_from_originated, 'originated');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_both_method_produces_the_same_output()
|
||||||
|
{
|
||||||
|
|
||||||
|
$function_execute_from_service = function () {
|
||||||
|
$request = new Request;
|
||||||
|
$request->startDate = $this->startDate;
|
||||||
|
$request->endDate = $this->startDate;
|
||||||
|
$ringkasanHarianService = new KawalanStokService($this->kodCawangan, $request);
|
||||||
|
|
||||||
|
return $ringkasanHarianService->getLaporanCawangan();
|
||||||
|
};
|
||||||
|
|
||||||
|
$function_execute_from_originated = function () {
|
||||||
|
return (new GadaiController())->getLaporanKawalanStok($this->kodCawangan, $this->startDate);
|
||||||
|
};
|
||||||
|
|
||||||
|
$outputOriginated = $function_execute_from_originated();
|
||||||
|
$outputService = $function_execute_from_service();
|
||||||
|
|
||||||
|
$this->assertEquals($outputOriginated, $outputService);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function calculate_function_execution_time($test_function, $context)
|
||||||
|
{
|
||||||
|
|
||||||
|
sleep(2);
|
||||||
|
|
||||||
|
$startTime = hrtime(true);
|
||||||
|
|
||||||
|
$output = $test_function();
|
||||||
|
|
||||||
|
$endTime = hrtime(true);
|
||||||
|
|
||||||
|
$eta = $endTime - $startTime;
|
||||||
|
// convert nanoseconds to milliseconds
|
||||||
|
$eta /= 1e+6;
|
||||||
|
dump("Code block from $context was running for $eta milliseconds");
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_both_method_produces_the_same_output_with_multiple_inputs()
|
||||||
|
{
|
||||||
|
|
||||||
|
// Example usage to generate 50 random dates and store them in an array
|
||||||
|
$randomDatesArray = [];
|
||||||
|
|
||||||
|
for ($i = 0; $i < 50; $i++) {
|
||||||
|
$maxDate = '2023-09-31'; // Adjust the maximum date as needed
|
||||||
|
$randomDatesArray[] = $this->generateRandomDate($maxDate)->toDateString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($randomDatesArray as $testDate) {
|
||||||
|
$function_execute_from_service = function () use ($testDate) {
|
||||||
|
$request = new Request;
|
||||||
|
$request->startDate = $testDate;
|
||||||
|
$request->endDate = $testDate;
|
||||||
|
$ringkasanHarianService = new KawalanStokService($this->kodCawangan, $request);
|
||||||
|
|
||||||
|
return $ringkasanHarianService->getLaporanCawangan();
|
||||||
|
};
|
||||||
|
|
||||||
|
$function_execute_from_originated = function () use ($testDate) {
|
||||||
|
return (new GadaiController())->getLaporanKawalanStok($this->kodCawangan, $testDate);
|
||||||
|
};
|
||||||
|
|
||||||
|
$outputOriginated = json_decode($function_execute_from_originated()->content());
|
||||||
|
$outputService = json_decode($function_execute_from_service()->content());
|
||||||
|
|
||||||
|
|
||||||
|
dump($testDate . ': Done test');
|
||||||
|
$this->assertEquals($outputOriginated, $outputService);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateRandomDate($maxDate = null)
|
||||||
|
{
|
||||||
|
// Set a default range, for example, the last year
|
||||||
|
$startDate = Carbon::now()->subYear();
|
||||||
|
|
||||||
|
// If a maximum date is provided, use it; otherwise, use the current date
|
||||||
|
$endDate = $maxDate ? Carbon::parse($maxDate) : Carbon::now();
|
||||||
|
|
||||||
|
// Calculate the difference in seconds between start and end date
|
||||||
|
$differenceInSeconds = $endDate->diffInSeconds($startDate);
|
||||||
|
|
||||||
|
// Generate a random number of seconds within the difference
|
||||||
|
$randomSeconds = mt_rand(0, $differenceInSeconds);
|
||||||
|
|
||||||
|
// Add the random number of seconds to the start date
|
||||||
|
$randomDate = $startDate->copy()->addSeconds($randomSeconds);
|
||||||
|
|
||||||
|
return $randomDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user