fixing tenor and maturity date

This commit is contained in:
KhatamNugraha
2024-05-17 10:20:45 +07:00
parent 48873a503e
commit 1fbc3839b4
2 changed files with 76 additions and 29 deletions

View File

@ -83,6 +83,49 @@ class Account extends Model
return $data;
}
public function getAA($cust, $acc, $dataCore)
{
//$uppercaseKodeCabang = Str::upper($kodecabang);
$dateString = $dataCore->format('m/d/Y');
// dd($dateString);
$timestamp = strtotime($dataCore);
// Format the timestamp into a date format
$Year = date("Y", $timestamp);
$data = DB::connection("db2")->table("STG_DB.AA_ARRANGEMENT AS ARR")
->selectRaw('ARR.ID,ARR.LINKED_APPL_ID,CUSTOMER,ARR.PRODUCT_LINE,AD.MATURITY_DATE,AI.FIXED_RATE,ARR.BATCH_DATE')
->join('STG_DB.AA_ACCOUNT_DETAILS AS AD', 'ARR.ID', '=', 'AD.ID')
->join('STG_DB.AA_ARR_INTEREST AS AI', DB::raw("LEFT(ARR.ID,12)"), '=', 'AD.ID')
->where('ARR.CUSTOMER', $cust)
->whereYear('ARR.BATCH_DATE', $Year)
->where('ARR.LINKED_APPL_ID', $acc)
->groupBy('ARR.ID', 'ARR.LINKED_APPL_ID', 'ARR.CUSTOMER', 'ARR.PRODUCT_LINE','ARR.BATCH_DATE','AD.MATURITY_DATE','AI.FIXED_RATE','ARR.BATCH_DATE')
// ->orderBy('ARR.BATCH_DATE', 'DESC')
->orderBy('ARR.BATCH_DATE', 'DESC')
->limit(1);
return $data;
}
public function getArr($cust, $acc, $dataCore)
{
//$uppercaseKodeCabang = Str::upper($kodecabang);
$dateString = $dataCore->format('m/d/Y');
// dd($dateString);
$timestamp = strtotime($dataCore);
// Format the timestamp into a date format
$Year = date("Y", $timestamp);
$data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL")
->selectRaw('CUSTOMER,LINKED_APPL_ID,PRODUCT_LINE,MATURITY_DATE,RENEWAL_DATE,START_DATE,ARR_STATUS,BATCH_DATE,FIXED_RATE,BASE_DATE')
->where('CUSTOMER', $cust)
//->whereYear('BATCH_DATE', $Year)
->where('LINKED_APPL_ID', $acc)
// ->groupBy('ARR.ID', 'ARR.LINKED_APPL_ID', 'ARR.CUSTOMER', 'ARR.PRODUCT_LINE','ARR.BATCH_DATE','AD.MATURITY_DATE','AI.FIXED_RATE','ARR.BATCH_DATE')
->orderBy('BATCH_DATE', 'DESC')
->limit(1);
return $data;
}
public function getCustomer($cus_no)
{
$data = [];
@ -100,25 +143,27 @@ class Account extends Model
return $data;
}
public function getAA($cust, $acc, $dataCore)
{
//dd($cust, $acc, $dataCore);
$timestamp = strtotime($dataCore);
// Format the timestamp into a date format
$Year = date("Y", $timestamp);
$data = [];
$data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL")
->select('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS')
->where('CUSTOMER', $cust)
->where('ARR_STATUS', '<>', 'CLOSE')
->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%")
->where('LINKED_APPL_ID', $acc)
//->whereYear('BATCH_DATE', $Year)
->groupBy('LINKED_APPL_ID', 'CUSTOMER', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS','RENEWAL_DATE')
->orderBy('BATCH_DATE', 'DESC')
->limit(100);
return $data;
}
// public function getAA($cust, $acc, $dataCore)
// {
// $dateString = $dataCore->format('m/d/Y');
// // dd($dateString);
// $timestamp = strtotime($dataCore);
// // Format the timestamp into a date format
// $Year = date("Y", $timestamp);
// //dd($Year);
// $data = [];
// $data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL")
// ->select('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS')
// ->where('CUSTOMER', $cust)
// ->where('ARR_STATUS', '<>', 'CLOSE')
// //->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%")
// ->where('LINKED_APPL_ID', $acc)
// //->where('BATCH_DATE', $dateString)
// ->groupBy('LINKED_APPL_ID', 'CUSTOMER', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS','RENEWAL_DATE')
// ->orderBy('BATCH_DATE', 'DESC')
// ->limit(1);
// return $data;
// }
public function getPinjaman($cus_no, $dateCore)
{
@ -285,4 +330,4 @@ class Account extends Model
}
}

View File

@ -362,27 +362,29 @@ class KonfirmasiBankController extends Controller
// try {
foreach ($listAccount as $key1 => $account) {
$dataAADepo = $Account->getAA($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first();
// dd($dataAADepo);
$dataAADepo = $Account->getArr($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first();
//dd($dataAADepo);
if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') {
if ($dataAADepo != null) {
$tenor = '';
$tanggal_1 = date_create($dataAADepo->RENEWAL_DATE);
$tanggal_2 = date_create($dataAADepo->START_DATE);
$tanggal_1 = date_create($dataAADepo->START_DATE);
$tanggal_2 = date_create($dataAADepo->BASE_DATE);
$tenor = date_diff($tanggal_1, $tanggal_2);
$tenorFix = $tenor->days >= 30 ? intval($tenor->days / 30) : '1';
$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;
$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'] = date('d-m-Y', strtotime($dataAADepo->RENEWAL_DATE)) ;
$DataAccounts[$key1]['MATURITY_DATE'] = date('d-m-Y', strtotime($dataAADepo->RENEWAL_DATE)) ;
$DataAccounts[$key1]['ARRANGEMENT_ID'] = '';
$DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %';
$DataAccounts[$key1]['TERM'] = intval($tenor->days / 30) . ' BLN';
$DataAccounts[$key1]['TERM'] = $tenorFix . ' BLN';
}
}else{
@ -410,7 +412,7 @@ class KonfirmasiBankController extends Controller
}
//dd( $DataAccounts);
//dd( $dataAADepo);
$Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get();
@ -791,4 +793,4 @@ class KonfirmasiBankController extends Controller
}
}
}