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; 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) public function getCustomer($cus_no)
{ {
$data = []; $data = [];
@ -100,25 +143,27 @@ class Account extends Model
return $data; return $data;
} }
public function getAA($cust, $acc, $dataCore) // public function getAA($cust, $acc, $dataCore)
{ // {
//dd($cust, $acc, $dataCore); // $dateString = $dataCore->format('m/d/Y');
$timestamp = strtotime($dataCore); // // dd($dateString);
// Format the timestamp into a date format // $timestamp = strtotime($dataCore);
$Year = date("Y", $timestamp); // // Format the timestamp into a date format
$data = []; // $Year = date("Y", $timestamp);
$data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL") // //dd($Year);
->select('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS') // $data = [];
->where('CUSTOMER', $cust) // $data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL")
->where('ARR_STATUS', '<>', 'CLOSE') // ->select('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS')
->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%") // ->where('CUSTOMER', $cust)
->where('LINKED_APPL_ID', $acc) // ->where('ARR_STATUS', '<>', 'CLOSE')
//->whereYear('BATCH_DATE', $Year) // //->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%")
->groupBy('LINKED_APPL_ID', 'CUSTOMER', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS','RENEWAL_DATE') // ->where('LINKED_APPL_ID', $acc)
->orderBy('BATCH_DATE', 'DESC') // //->where('BATCH_DATE', $dateString)
->limit(100); // ->groupBy('LINKED_APPL_ID', 'CUSTOMER', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS','RENEWAL_DATE')
return $data; // ->orderBy('BATCH_DATE', 'DESC')
} // ->limit(1);
// return $data;
// }
public function getPinjaman($cus_no, $dateCore) 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 { // try {
foreach ($listAccount as $key1 => $account) { foreach ($listAccount as $key1 => $account) {
$dataAADepo = $Account->getAA($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first(); $dataAADepo = $Account->getArr($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first();
// dd($dataAADepo); //dd($dataAADepo);
if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') { if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') {
if ($dataAADepo != null) { if ($dataAADepo != null) {
$tenor = ''; $tenor = '';
$tanggal_1 = date_create($dataAADepo->RENEWAL_DATE); $tanggal_1 = date_create($dataAADepo->START_DATE);
$tanggal_2 = date_create($dataAADepo->START_DATE); $tanggal_2 = date_create($dataAADepo->BASE_DATE);
$tenor = date_diff($tanggal_1, $tanggal_2); $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]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER;
$DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE;
$DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE;
$DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $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]['CURRENCY'] = $account->CURRENCY;
$DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE;
$DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME;
$DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE != null ? number_format($account->WORKING_BALANCE, 2, ',', '.') : 'NIHIL'; $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]['ARRANGEMENT_ID'] = '';
$DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %'; $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %';
$DataAccounts[$key1]['TERM'] = intval($tenor->days / 30) . ' BLN'; $DataAccounts[$key1]['TERM'] = $tenorFix . ' BLN';
} }
}else{ }else{
@ -410,7 +412,7 @@ class KonfirmasiBankController extends Controller
} }
//dd( $DataAccounts); //dd( $dataAADepo);
$Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get();
@ -791,4 +793,4 @@ class KonfirmasiBankController extends Controller
} }
} }