diff --git a/.env.annur b/.env.annur new file mode 100644 index 00000000..057f883f --- /dev/null +++ b/.env.annur @@ -0,0 +1,50 @@ +APP_NAME=Laravel +APP_ENV=production +APP_KEY=base64:FFRogE6mJj8FaDSSHl/KpXpzqi2M+P4plxVSRgVM8JI= +APP_DEBUG=false +APP_URL=https://annurv2.erahn.com.my +API_URL=https://apiannurv2.erahn.com.my +API_ARRAHNBID=http://lelong.test/api/ + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=192.168.1.216 +DB_PORT=3306 +DB_DATABASE=kaunter_annur +DB_USERNAME=spider +DB_PASSWORD=arrahn@123 + +BROADCAST_DRIVER=pusher +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +PUSHER_APP_ID=1132718 +PUSHER_APP_KEY=26b0ec2f297f94b7aa9b +PUSHER_APP_SECRET=421b61fb5a8ecce477a6 + +MAIL_MAILER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +MYKAD_READER_PORT=8085 +MYKAD_READER_ENABLED_CAWANGAN='' # IF NO CAWANGAN STATED, ALL CAWANGAN IS ENABLED \ No newline at end of file diff --git a/app/Http/Controllers/AdminFeatureController.php b/app/Http/Controllers/AdminFeatureController.php index aa72a39d..9bfe2fe9 100644 --- a/app/Http/Controllers/AdminFeatureController.php +++ b/app/Http/Controllers/AdminFeatureController.php @@ -23,9 +23,10 @@ class AdminFeatureController extends Controller $metaRes = $this->api()->get($api_url . '/api/features'); $meta = $metaRes->successful() ? $metaRes->json() : []; - $keys = is_array($meta) && !empty($meta['keys']) ? $meta['keys'] : ['pembiayaan_online']; + $keys = is_array($meta) && !empty($meta['keys']) ? $meta['keys'] : ['pembiayaan_online', 'rebet_annur']; $labels = is_array($meta) && !empty($meta['labels']) ? $meta['labels'] : [ 'pembiayaan_online' => 'Pembiayaan Online', + 'rebet_annur' => 'Rebet / diskaun Annur', ]; $listRes = $this->api()->get($api_url . '/api/features/cawangan'); diff --git a/app/Http/Controllers/GadaianController.php b/app/Http/Controllers/GadaianController.php index a656d422..f890f581 100644 --- a/app/Http/Controllers/GadaianController.php +++ b/app/Http/Controllers/GadaianController.php @@ -32,14 +32,30 @@ class GadaianController extends Controller $this->AliranTunaiController = new AliranTunaiController(); } - protected function isPembiayaanOnlineEnabled($kodcaw) + protected function isFeatureEnabled($kodcaw, $feature) { $cawangan_info = Http::withOptions(['verify' => config('app.api_verify')]) ->get(config('api.url') . '/api/cawangan/' . $kodcaw) ->json(); $features = is_array($cawangan_info) ? ($cawangan_info['features'] ?? []) : []; - return !empty($features['pembiayaan_online']); + return !empty($features[$feature]); + } + + protected function isPembiayaanOnlineEnabled($kodcaw) + { + return $this->isFeatureEnabled($kodcaw, 'pembiayaan_online'); + } + + protected function parseMoney($value) + { + if ($value === null || $value === '') { + return 0.0; + } + + $cleaned = preg_replace('/[^0-9.\-]/', '', str_replace([',', '%', ' '], '', (string) $value)); + + return is_numeric($cleaned) ? (float) $cleaned : 0.0; } public function index(Request $request) @@ -211,6 +227,8 @@ class GadaianController extends Controller 'onepercent' => $onepercent, 'margin_semasa' => $margin_pinjaman, 'nokp' => $request->nokp, + 'kadar_rebate' => $this->parseMoney($request->kadar_rebate), + 'rebate' => $this->parseMoney($request->rebate), ])->json(); @@ -423,6 +441,8 @@ class GadaianController extends Controller 'ujrah' => $ujrah, 'onepercent' => $onepercent, 'margin_semasa' => $margin_pinjaman, + 'kadar_rebate' => $this->parseMoney($request->kadar_rebate), + 'rebate' => $this->parseMoney($request->rebate), ])->json(); $update_komuditi = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/komuditi/update', [ 'unit_komuditi' => round($request->pinjaman, 2), diff --git a/app/Http/Controllers/KhazanahController.php b/app/Http/Controllers/KhazanahController.php index 53286031..6332ed02 100644 --- a/app/Http/Controllers/KhazanahController.php +++ b/app/Http/Controllers/KhazanahController.php @@ -2473,6 +2473,14 @@ class KhazanahController extends Controller $hapuskira = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/CalculationHapusKira/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); $xtra = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/Xtra/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); + $rebetAnnur = !empty(($cawangan_info['features'] ?? [])['rebet_annur']); + $rebetpromo = 0; + $pelarasanrebate = 0; + if ($rebetAnnur) { + $rebetpromo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/RebetPromoCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); + $pelarasanrebate = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/PelarasanRebate/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); + } + //TunaiDitangan Sementara Upah if($tarikh_imbangan2 >= '2021-04-22' && $tarikh_imbangan2 < '2021-05-05') @@ -2523,6 +2531,7 @@ class KhazanahController extends Controller if($imbangduga['pindahkekpkb'] > 0) array_push($hartasemasa,['glcode' => '1000/090','descpt' => 'Pindah Ke KPKB(IP)', 'amaun' => $imbangduga['pindahkekpkb']]); if($peruntukanhapuskira > 0) array_push($hartasemasa,['glcode' => '1000/015','descpt' => 'Peruntukan Hapus Kira', 'amaun' => $peruntukanhapuskira]); if($belian1stop > 0) array_push($hartasemasa,['glcode' => '8000/501','descpt' => 'Belian 1 Stop', 'amaun' => $belian1stop]); + if($rebetpromo > 0) array_push($hartasemasa,['glcode' => '5000/242','descpt' => 'Diskaun Promosi', 'amaun' => ($rebetpromo * -1)]); $totalhartasemasa = 0; foreach($hartasemasa as $index => $hs) @@ -2554,6 +2563,8 @@ class KhazanahController extends Controller if($utgterkumpulxtra > 0) array_push($tanggungansemasa,['glcode' => '7000/201','descpt' => 'Untung/Rugi Terkumpul Xtra','amaun' => $utgterkumpulxtra]); if($jualan1stop > 0) array_push($tanggungansemasa,['glcode' => '9000/501','descpt' => 'Jualan 1 Stop','amaun' => $jualan1stop]); if($hapuskira > 0) array_push($tanggungansemasa,['glcode' => '3000/011','descpt' => 'Hapus Kira','amaun' => -$hapuskira]); + if($rebetpromo > 0) array_push($tanggungansemasa,['glcode' => '5000/242','descpt' => 'Diskaun Promosi', 'amaun' => ($rebetpromo * -1)]); + if($pelarasanrebate > 0) array_push($tanggungansemasa,['glcode' => '5000/243','descpt' => 'Pelarasan Rebate', 'amaun' => ($pelarasanrebate * -1)]); $totaltanggungansemasa = 0; foreach($tanggungansemasa as $index => $ts) @@ -4031,8 +4042,9 @@ class KhazanahController extends Controller $cawangan=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json(); $cawangan_detail=$cawangan[0]; + $cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/' . $auth_user['cawangan'])->json(); - return view('print.laporan_gadaian_ujrah', compact('gadai','cawangan_detail','tarikh_cetak','mula_date','api_url','hingga_date','statistik','reportPembiayaan','reportLoanAmount','reportMarhunValue','reportMarhunMargin','reportCustomerJob','reportCustomerRace','reportCustomerRace')); + return view('print.laporan_gadaian_ujrah', compact('gadai','cawangan_detail','cawangan_info','tarikh_cetak','mula_date','api_url','hingga_date','statistik','reportPembiayaan','reportLoanAmount','reportMarhunValue','reportMarhunMargin','reportCustomerJob','reportCustomerRace','reportCustomerRace')); } @@ -4075,7 +4087,8 @@ class KhazanahController extends Controller $cawangan=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json(); $cawangan_detail=$cawangan[0]; - return view('print.laporan_tebus_ujrah', compact('tebus','cawangan_detail','tarikh_cetak','mula_date','hingga_date','tebuspengasingan','api_url','upahlama','ansuran','totalkeuntunganrebet')); + $cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json(); + return view('print.laporan_tebus_ujrah', compact('tebus','cawangan_detail','cawangan_info','tarikh_cetak','mula_date','hingga_date','tebuspengasingan','api_url','upahlama','ansuran','totalkeuntunganrebet')); } public function laporanAnsuranUjrah(){ diff --git a/resources/views/gadaian/v2/index.blade.php b/resources/views/gadaian/v2/index.blade.php index fceac066..02e6129b 100644 --- a/resources/views/gadaian/v2/index.blade.php +++ b/resources/views/gadaian/v2/index.blade.php @@ -29,6 +29,7 @@