From 2665d27dcaecb946f60d23b831620785dff5cd2d Mon Sep 17 00:00:00 2001 From: KhatamNugraha Date: Wed, 22 May 2024 17:14:58 +0700 Subject: [PATCH] fixing conf bank --- Entities/Account.php | 17 ++++++++++++--- Http/Controllers/KonfirmasiBankController.php | 21 ++++++++++++++----- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/Entities/Account.php b/Entities/Account.php index 36020da..2c701d3 100644 --- a/Entities/Account.php +++ b/Entities/Account.php @@ -136,7 +136,7 @@ class Account extends Model $Year = date("Y", $timestamp); $data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL") - ->selectRaw('ARRANGEMENT_ID,CUSTOMER,LINKED_APPL_ID,PRODUCT_LINE,MATURITY_DATE,RENEWAL_DATE,START_DATE,ARR_STATUS,BATCH_DATE,FIXED_RATE,BASE_DATE') + ->selectRaw('ARRANGEMENT_ID,CUSTOMER,LINKED_APPL_ID,PRODUCT_LINE,MATURITY_DATE,RENEWAL_DATE,START_DATE,ARR_STATUS,BATCH_DATE,BASE_DATE') ->where('CUSTOMER', $cust) //->whereYear('BATCH_DATE', $Year) ->where('LINKED_APPL_ID', $acc) @@ -206,13 +206,13 @@ class Account extends Model public function getFixedRate($arrangementId, $startDate) { - // DD($startDate->format('Y')); $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARR_INTEREST") ->select('FIXED_RATE') // ->whereYear('BATCH_DATE',$startDate->format('Y')) ->where(DB::raw("LEFT(ID, 12)"), $arrangementId) - //->orderBy('BATCH_DATE', 'A') + ->where(DB::raw("RIGHT(ID, 10)"), 'like', "%" .$startDate->format('Y') ."%") + ->orderBy('ID', 'DESC') ->limit(1); return $data; @@ -302,6 +302,17 @@ class Account extends Model return $data; } + public function getDateSchecule($arrId) + { + $data = []; + $data = DB::connection("db2")->table("STG_DB.AA_SCHEDULED_ACTIVITY") + ->select(DB::raw("LEFT(LAST_DATE, 8) AS LAST_DATE")) + ->where('ID', $arrId) + ->limit(1); + + return $data; + } + public function getAccountRK($cusNo, $date) { $data = []; diff --git a/Http/Controllers/KonfirmasiBankController.php b/Http/Controllers/KonfirmasiBankController.php index 87226ac..366e24c 100644 --- a/Http/Controllers/KonfirmasiBankController.php +++ b/Http/Controllers/KonfirmasiBankController.php @@ -360,6 +360,7 @@ class KonfirmasiBankController extends Controller $DataAnjak = []; $GetCustomer = $Account->getCustomer($request['cusNo'])->first(); $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCore)->get(); + // DD($listAccount); // try { foreach ($listAccount as $key1 => $account) { @@ -370,25 +371,35 @@ class KonfirmasiBankController extends Controller if ($dataAADepo != null) { $tenor = ''; $tanggal_1 = date_create($dataAADepo->RENEWAL_DATE); + $tglRenewal = $tanggal_1->format('d'); $tanggal_2 = date_create($dataAADepo->BASE_DATE); $tenor = date_diff($tanggal_1, $tanggal_2); $batchDate = $dateCore->format('Y-m-d'); $maturityDate = Carbon::createFromFormat('Y-m-d', $batchDate); - $tenorFix = $tenor->days >= 30 ? intval($tenor->days / 30) : '1'; + $tenorFix = $tenor->days >= 30 ? intval($tenor->days / 30) : 1; + $startDate = $batchDate; // Tanggal mulai pinjaman + // // Konversi tanggal mulai ke objek Carbon + $tanggalMulai = Carbon::parse($startDate); + // // Hitung tanggal jatuh tempo dengan menambahkan durasi hari + $tanggalJatuhTempo = $tanggalMulai->addDays($tenor->days); + // echo $tanggalJatuhTempo->toDateString(); // + $rate = $Account->getFixedRate($dataAADepo->ARRANGEMENT_ID, $dateCore)->first(); + $nextDate = $Account->getDateSchecule($dataAADepo->ARRANGEMENT_ID)->first(); + //dd( $nextDate,$account->ACCOUNT_NUMBER ); $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; - $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; + $DataAccounts[$key1]['SHORT_NAME'] = $dataAADepo->PRODUCT_LINE == 'DEPOSITS' ? 'DEPOSITO' : $account->SHORT_NAME; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE != null ? number_format($account->WORKING_BALANCE, 2, ',', '.') : 'NIHIL'; - $DataAccounts[$key1]['MATURITY_DATE'] = $maturityDate->addDays($tenor->days)->format('d-m-Y'); + $DataAccounts[$key1]['MATURITY_DATE'] = substr($nextDate->LAST_DATE, -2) .'-'.$tanggalJatuhTempo->format('m-Y'); $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; - $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %'; + $DataAccounts[$key1]['FIXED_RATE'] = $rate->FIXED_RATE . ' %'; $DataAccounts[$key1]['TERM'] = $tenorFix . ' BLN'; } @@ -397,7 +408,7 @@ class KonfirmasiBankController extends Controller $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; - $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; + $DataAccounts[$key1]['SHORT_NAME'] = 'GIRO'; //$account->SHORT_NAME; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME;