Compare commits
5 Commits
cc11e3aed6
...
v1.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 6961697298 | |||
| 482fbbd17e | |||
| cd83999045 | |||
| e8da816f35 | |||
| 39a2f9a5ef |
@@ -846,7 +846,8 @@ $date = new Carbon($request->tarikh);
|
|||||||
$bilangan_gadai = $gadai->count();
|
$bilangan_gadai = $gadai->count();
|
||||||
$bilangan_tebus = $tebus->count();
|
$bilangan_tebus = $tebus->count();
|
||||||
// $bilangan_ansuran = $ansuran->count();
|
// $bilangan_ansuran = $ansuran->count();
|
||||||
$bilangan_customer_baru = Customer::on($cawangan['mysql'])->where([['tarikhdaftar','>=',$request->mula],['tarikhdaftar','<=',$request->akhir]])->count();
|
//$bilangan_customer_baru = Customer::on($cawangan['mysql'])->where([['tarikhdaftar','>=',$request->mula],['tarikhdaftar','<=',$request->akhir]])->count();
|
||||||
|
$bilangan_customer_baru = Customer::on('mysql7')->where([['tarikhdaftar','>=',$request->mula],['tarikhdaftar','<=',$request->akhir]])->count();
|
||||||
|
|
||||||
//f
|
//f
|
||||||
$data_lelong = Lelong::on($cawangan['mysql'])->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->akhir]])->get();
|
$data_lelong = Lelong::on($cawangan['mysql'])->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->akhir]])->get();
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
namespace App\Services;
|
namespace App\Services;
|
||||||
|
|
||||||
use App\KadarUpah;
|
use App\KadarUpah;
|
||||||
use App\Customer;
|
|
||||||
|
|
||||||
class OnePercentServices
|
class OnePercentServices
|
||||||
{
|
{
|
||||||
@@ -80,43 +79,13 @@ class OnePercentServices
|
|||||||
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
|
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getKadarUjrah(float $nilaimarhun = 0.0, $groupid, $nokp = null): float
|
public function getKadarUjrah(float $nilaimarhun = 0.0, $groupid) : Float{
|
||||||
{
|
|
||||||
//Semak status pelanggan dalam table customer
|
|
||||||
if ($nokp) {
|
|
||||||
$customer = Customer::on('mysql7')
|
|
||||||
->select('tag_anggota')
|
|
||||||
->where(function($q) use ($nokp) {
|
|
||||||
$q->where('kpbaru', $nokp)
|
|
||||||
->orWhere('kplama', $nokp);
|
|
||||||
})
|
|
||||||
->first();
|
|
||||||
|
|
||||||
// Jika anggota koperasi → kadar tetap
|
$kadarujrah = KadarUpah::on('mysql7')->select('kadarujrah')->where([['min','<=',$nilaimarhun],['max','>=',$nilaimarhun]])->where('group_id',1)->get()->toArray();
|
||||||
if ($customer && (int)$customer->tag_anggota === 1) {
|
|
||||||
return 0.16; // kadar ujrah tetap untuk anggota
|
return isset($kadarujrah[0]) ? $kadarujrah[0]['kadarujrah'] : 0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Jika bukan anggota → ambil dari jadual kadar_upah
|
|
||||||
$kadar = KadarUpah::on('mysql7')
|
|
||||||
->select('kadarujrah')
|
|
||||||
->where([
|
|
||||||
['min', '<=', $nilaimarhun],
|
|
||||||
['max', '>=', $nilaimarhun],
|
|
||||||
])
|
|
||||||
->where('group_id', $groupid)
|
|
||||||
->first();
|
|
||||||
|
|
||||||
//Jika jumpa kadar dalam jadual
|
|
||||||
if ($kadar && isset($kadar->kadarujrah)) {
|
|
||||||
return (float) $kadar->kadarujrah;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Default fallback
|
|
||||||
return 0.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getRoundedMethod(float $number = 0.0) : Float{
|
public function getRoundedMethod(float $number = 0.0) : Float{
|
||||||
$number_string = number_format(floor($number * 100)/100,2);
|
$number_string = number_format(floor($number * 100)/100,2);
|
||||||
|
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ class OnePercent extends MasterServices
|
|||||||
|
|
||||||
public function getKadarUjrah(HttpRequest $request)
|
public function getKadarUjrah(HttpRequest $request)
|
||||||
{
|
{
|
||||||
Log::info('[DEBUG-CONTROLLER] Data request', [
|
// Log::info('[DEBUG-CONTROLLER] Data request', [
|
||||||
'nokp' => $request->nokp,
|
// 'nokp' => $request->nokp,
|
||||||
'kodcaw' => $request->kodcaw,
|
// 'kodcaw' => $request->kodcaw,
|
||||||
'nilaimarhun' => $request->nilaimarhun
|
// 'nilaimarhun' => $request->nilaimarhun
|
||||||
]);
|
// ]);
|
||||||
|
|
||||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
|
||||||
$onePercentServices = new Calculation();
|
$onePercentServices = new Calculation();
|
||||||
|
|||||||
@@ -3,9 +3,6 @@
|
|||||||
namespace App\Support\v2;
|
namespace App\Support\v2;
|
||||||
|
|
||||||
use App\KadarUpah;
|
use App\KadarUpah;
|
||||||
use App\Customer;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class Calculation
|
class Calculation
|
||||||
@@ -61,6 +58,7 @@ class Calculation
|
|||||||
public function kiraanKeuntunganRebet(float $pembiayaan = 0.0,float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
|
public function kiraanKeuntunganRebet(float $pembiayaan = 0.0,float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
|
||||||
|
|
||||||
$this->one_percent = $this->getKadarUpah($nilaimarhun);
|
$this->one_percent = $this->getKadarUpah($nilaimarhun);
|
||||||
|
|
||||||
$onepercent = $this->kiraanOnePercent($pembiayaan);
|
$onepercent = $this->kiraanOnePercent($pembiayaan);
|
||||||
$ujrah_sebenar = $this->kiraanUjrahSebenar($nilaimarhun,$kadarujrah,$margin);
|
$ujrah_sebenar = $this->kiraanUjrahSebenar($nilaimarhun,$kadarujrah,$margin);
|
||||||
|
|
||||||
@@ -85,60 +83,13 @@ class Calculation
|
|||||||
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
|
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getKadarUjrah(float $nilaimarhun = 0.0, $groupid, $nokp = null): float
|
public function getKadarUjrah(float $nilaimarhun = 0.0, $groupid) : Float{
|
||||||
{
|
|
||||||
// 1️⃣ Semak status pelanggan dalam table customer
|
|
||||||
if ($nokp) {
|
|
||||||
$customer = Customer::on('mysql7')
|
|
||||||
->select('tag_anggota')
|
|
||||||
->where(function($q) use ($nokp) {
|
|
||||||
$q->where('kpbaru', $nokp)
|
|
||||||
->orWhere('kplama', $nokp);
|
|
||||||
})
|
|
||||||
->first();
|
|
||||||
|
|
||||||
// 2️⃣ Jika anggota koperasi → kadar tetap
|
$kadarujrah = KadarUpah::on('mysql7')->select('kadarujrah')->where([['min','<=',$nilaimarhun],['max','>=',$nilaimarhun]])->where('group_id',$groupid)->get()->toArray();
|
||||||
if ($customer && (int)$customer->tag_anggota === 1) {
|
|
||||||
Log::info('[DEBUG-UJRAH] Anggota koperasi', [
|
return isset($kadarujrah[0]) ? $kadarujrah[0]['kadarujrah'] : 0;
|
||||||
'nokp' => $nokp,
|
|
||||||
'kadarujrah' => 0.16,
|
|
||||||
'groupid' => $groupid,
|
|
||||||
'nilaimarhun' => $nilaimarhun,
|
|
||||||
]);
|
|
||||||
return 0.16;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3️⃣ Jika bukan anggota → ambil dari jadual kadar_upah
|
|
||||||
$kadar = KadarUpah::on('mysql7')
|
|
||||||
->select('kadarujrah')
|
|
||||||
->where([
|
|
||||||
['min', '<=', $nilaimarhun],
|
|
||||||
['max', '>=', $nilaimarhun],
|
|
||||||
])
|
|
||||||
->where('group_id', $groupid)
|
|
||||||
->first();
|
|
||||||
|
|
||||||
if ($kadar && isset($kadar->kadarujrah)) {
|
|
||||||
Log::info('[DEBUG-UJRAH] Bukan anggota - dari jadual kadar_upah', [
|
|
||||||
'nokp' => $nokp,
|
|
||||||
'kadarujrah' => (float)$kadar->kadarujrah,
|
|
||||||
'groupid' => $groupid,
|
|
||||||
'nilaimarhun' => $nilaimarhun,
|
|
||||||
]);
|
|
||||||
return (float) $kadar->kadarujrah;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4️⃣ Default fallback
|
|
||||||
Log::info('[DEBUG-UJRAH] Tiada kadar ditemui', [
|
|
||||||
'nokp' => $nokp,
|
|
||||||
'groupid' => $groupid,
|
|
||||||
'nilaimarhun' => $nilaimarhun,
|
|
||||||
]);
|
|
||||||
return 0.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public function getKadarUpah(float $nilaimarhun = 0.0){
|
public function getKadarUpah(float $nilaimarhun = 0.0){
|
||||||
$kadarupah = KadarUpah::on('mysql7')->where([['min','<=',$nilaimarhun],['max','>=',$nilaimarhun]])->where('group_id',1)->first();
|
$kadarupah = KadarUpah::on('mysql7')->where([['min','<=',$nilaimarhun],['max','>=',$nilaimarhun]])->where('group_id',1)->first();
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class GadaiV2
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function getKadarUpahAnggota($nokp,$total_nilai_marhun = 0,$groupid = 2) : Float{
|
private function getKadarUpahAnggota($nokp,$total_nilai_marhun = 0,$groupid = 2) : Float{
|
||||||
Log::info('DEBUG NOKP:' . $nokp);
|
//Log::info('DEBUG NOKP:' . $nokp);
|
||||||
if($nokp){
|
if($nokp){
|
||||||
$customer = Customer::on('mysql7')
|
$customer = Customer::on('mysql7')
|
||||||
->select('tag_anggota')
|
->select('tag_anggota')
|
||||||
@@ -108,8 +108,19 @@ class GadaiV2
|
|||||||
$total_nilai_marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('n_marhun');
|
$total_nilai_marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('n_marhun');
|
||||||
$total_berat = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('berat');
|
$total_berat = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('berat');
|
||||||
|
|
||||||
//query kadar upah baru
|
$kadar_raw = $this->getKadarUpahAnggota($request->nokp, $total_nilai_marhun, $cawangan['group_id']);
|
||||||
$kadar_raw = $this->getKadarUpahAnggota($request->nokp,$total_nilai_marhun,$cawangan['group_id']);
|
|
||||||
|
if (empty($kadar_raw) || $kadar_raw == 0) {
|
||||||
|
|
||||||
|
Log::error('[BLOCKED] Kadar upah kosong / 0', [
|
||||||
|
'nokp' => $request->nokp,
|
||||||
|
'total_nilai_marhun' => $total_nilai_marhun,
|
||||||
|
'group_id' => $cawangan['group_id'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
throw new \Exception("Kadar upah kosong / 0, transaksi dibatalkan!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// query kadar upah lama
|
// query kadar upah lama
|
||||||
// $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first();
|
// $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first();
|
||||||
|
|||||||
+1
-3
@@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'excluded_cawangan' => [
|
'excluded_cawangan' => []
|
||||||
'lahad datu',
|
|
||||||
]
|
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user