belongsTo(Arrangement::class, 'LINKED_APPL_ID'); } public function getSearchAccount($cif, $arrAccount, $kodecabang, $startDate) { // dd($startDate); $uppercaseKodeCabang = Str::upper($kodecabang); $data = []; if($arrAccount == null) { $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") ->selectRaw('AC.CUSTOMER_NO,AC.ACCOUNT_NUMBER,AC.BATCH_DATE,AC.WORKING_BALANCE,CP.COMPANY_NAME,AC.CURRENCY,CT.SHORT_NAME') ->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID') ->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID') ->where('CUSTOMER_NO', $cif) ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") // ->where('ARR_A', null) ->where('AC.BATCH_DATE', $startDate) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"), ['100','600','660','101','324']) // ->orWhere(DB::raw("LEFT(CATEGORY, 2)"),'32') ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','AC.BATCH_DATE','WORKING_BALANCE','COMPANY_NAME','CURRENCY','SHORT_NAME') ->limit(100); } else { $data = DB::connection("db2")->table("STG_DB.ACCOUNT") ->select('*') ->where('CUSTOMER_NO', $cif) ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->whereIn('ACCOUNT_NUMBER', $arrAccount) ->where('OPENING_DATE', $startDate); } return $data; } public function getCekProduct($cust ,$acc, $startDate){ // dd($cust, $arrAccount, $startDate); $timestamp = strtotime($startDate); // Format the timestamp into a date format $Year = date("Y", $timestamp); $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARRANGEMENT")->select('*') ->where('CUSTOMER', $cust) ->where('LINKED_APPL_ID', $acc) // ->whereYear('BATCH_DATE', $Year) ->where('ARR_STATUS','EXPIRED') ->limit(1); return $data; } public function getAccount($cif, $arrAccount, $startDate) { //$uppercaseKodeCabang = Str::upper($kodecabang); // $dateString = $startDate->format('m/d/Y'); $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") ->selectRaw('AC.CUSTOMER_NO,AC.CATEGORY,AC.ACCOUNT_NUMBER,AC.CURRENCY, AC.SHORT_TITLE,AC.OPENING_DATE,AC.WORKING_BALANCE, AC.CATEGORY,CT.SHORT_NAME,CP.COMPANY_NAME,AC.BATCH_DATE') ->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID') ->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID') ->where('CUSTOMER_NO', $cif) ->where('LIMIT_REF', null) ->where('AC.BATCH_DATE', $startDate) ->whereIn('AC.ACCOUNT_NUMBER', $arrAccount) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','101','600']) // ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF') ->orderBy('CATEGORY', 'ASC') ->limit(100); return $data; } // public function getAccount($cif, $arrAccount, $startDate) // { // //$uppercaseKodeCabang = Str::upper($kodecabang); // $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") // ->selectRaw('AC.CUSTOMER_NO,AC.CATEGORY, MAX(INACTIV_MARKER) as INACTIV_MARKER,AC.ACCOUNT_NUMBER,MAX(AC.CURRENCY) AS CURRENCY, AC.SHORT_TITLE,MAX(AC.OPENING_DATE) AS OPENING_DATE, MAX(AC.WORKING_BALANCE) AS WORKING_BALANCE, MAX(AC.CATEGORY) AS CATEGORY,CT.SHORT_NAME,CP.COMPANY_NAME') // ->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID') // ->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID') // ->where('CUSTOMER_NO', $cif) // ->where('LIMIT_REF', null) // ->where('AC.BATCH_DATE', $startDate) // ->whereIn('AC.ACCOUNT_NUMBER', $arrAccount) // ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) // ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF') // // ->orderBy('BATCH_DATE', 'DESC') // ->limit(100); // 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('d/m/Y'); // // dd($dateString); // $timestamp = strtotime($dataCore); // // Format the timestamp into a date format // $date = date("Y", $timestamp); // $data = DB::connection("db2")->table("MIS.PRODEV_DEPO") // ->selectRaw('*') // ->where('NOMOR_CIF', $cust) // ->whereYear('BATCH_DATE', $date) // ->where('NOMOR_REKENING', $acc) // ->where('STATUS_REKENING', 'like', "%" .'CURRENT' ."%") // // ->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 getDepo($cust, $acc, $dataCore) // { // //DD($cust, $acc, $dataCore); // $timestamp = strtotime($dataCore); // // Format the timestamp into a date format // $date = date("m/d/Y", $timestamp); // // dd( $date); // $matYear = date("Y", $timestamp); // $data = DB::connection("db2")->table("MIS.FACT_DPK AS DPK") // ->selectRaw('DPK.NO_REK, // DPK.SUKU_BUNGA, // DPK.JUMLAH_NOMINAL, // DPK.KODE_SUB_PRODUK, // PER.DATE AS PERIOD, // MAT.DATE AS JATUH_TEMPO, // CUR.KODE_MATA_UANG, // DPK.SK_STATUS_DEPOSITO') // ->join('MIS.DIM_PERIOD AS PER', 'DPK.SK_PERIOD', '=', 'PER.SK_PERIOD') // ->join('MIS.DIM_PERIOD AS MAT', 'DPK.SK_JATUH_TEMPO', '=', 'MAT.SK_PERIOD') // ->join('MIS.DIM_MATA_UANG AS CUR', 'DPK.SK_MATA_UANG', '=', 'CUR.SK_MATA_UANG') // // ->where('CUSTOMER_NO', $cif) // // ->where('LIMIT_REF', null) // ->where('PER.DATE', $date) // //->whereYear('MAT.DATE', '>', $matYear) // ->whereIn('DPK.NO_REK', $acc) // //->whereIn('DPK.NO_REK', '<>',$arrExp) // // ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF') // // ->orderBy('CATEGORY', 'ASC') // ->limit(100); // return $data; // } public function getDepo($cust, $acc, $dataCore){ $timestamp = strtotime($dataCore); $date = date("m/d/Y", $timestamp); $data = []; $data = DB::connection("db2")->table("MIS.VW_AA_DEPO")->select('*') ->whereIn('NO_REK', $acc) ->where('PERIOD', $date) ->limit(100); return $data; } public function getCustomer($cus_no) { $data = []; $data = DB::connection("db2")->table("STG_DB.CUSTOMER")->select('CUSTOMER_NO', 'STREET', 'RESIDENCE', 'ADDRESS', 'SHORT_NAME')->where('CUSTOMER_NO', $cus_no); return $data; } public function getAAaccount($cust, $acc) { $data = []; $data = DB::connection("db2")->table("STG_DB.VW_AA_ACCOUNT")->select('ARRANGEMENT_ID', 'MATURITY_DATE', 'PRODUCT', 'TERM', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE') ->where('CUSTOMER', $cust) ->where('LINKED_APPL_ID', $acc) ->limit(1); 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) { $data = []; $data = DB::connection("db2")->table("STG_DB.VW_AA_ARR") ->select('LINKED_APPL_ID', 'ARRANGEMENT_ID', 'CUSTOMER', 'BATCH_DATE', 'START_DATE', 'PRODUCT_LINE', 'PRODUCT', 'ARR_STATUS', 'CURRENCY', 'TERM', 'MATURITY_DATE', 'RENEWAL_DATE', 'FIXED_RATE') ->where('CUSTOMER', $cus_no) ->where('ARR_STATUS', 'CURRENT') ->where('BATCH_DATE', $dateCore) ->where('ARR_STATUS', '<>', 'CLOSE') ->where('PRODUCT_LINE', 'like', "%" .'LENDING' ."%") ->limit(100); return $data; } public function getFixedRate($arrangementId, $startDate) { $timestamp = strtotime($startDate); $Year = date("Y", $timestamp); $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) ->where(DB::raw("RIGHT(ID, 10)"), 'like', "%" .$Year ."%") ->orderBy('ID', 'DESC') ->limit(1); return $data; } public function getMaturityDate($arrangementId, $startDate) { $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ACCOUNT_DETAILS") ->select('MATURITY_DATE', 'RENEWAL_DATE', 'START_DATE') ->where('ID', $arrangementId) ->where('BATCH_DATE', $startDate) ->limit(1) ->orderBy('MATURITY_DATE', 'DESC'); return $data; } public function getTermAmount($arrangementId) { $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARR_TERM_AMOUNT") ->select('*') ->where(DB::raw("LEFT(ID, 12)"), $arrangementId) ->orderBy('ID', 'DESC') ->limit(1); return $data; } public function getSingleAccount($acNo, $date) { $data = []; $data = DB::connection("db2")->table("STG_DB.ACCOUNT") ->select('WORKING_BALANCE', 'LIMIT_REF') ->where('ACCOUNT_NUMBER', $acNo) ->where('BATCH_DATE', $date) ->limit(1) ->orderBy('ACCOUNT_NUMBER', 'DESC'); return $data; } public function getLimitCheck($acNo, $date) { $data = []; $data = DB::connection("db2")->table("STG_DB.LIMIT") ->select('ACCOUNT', 'EXPIRY_DATE', 'AVAIL_AMT') ->where('ACCOUNT', 'like', "%" .$acNo."%") ->where('BATCH_DATE', $date) ->limit(1) ->orderBy('ACCOUNT', 'DESC'); return $data; } public function getRateRk($acNo, $date) { $data = []; $data = DB::connection("db2")->table("STG_DB.ACCOUNT_DEBIT_INT") ->select('DR_INT_RATE') ->where(DB::raw("LEFT(ID, 10)"), $acNo) ->where('BATCH_DATE', $date) ->limit(1) ->orderBy('INSERT_DATE', 'DESC'); return $data; } public function getCategory($category) { $data = []; $data = DB::connection("db2")->table("STG_DB.CATEGORY") ->select('SHORT_NAME') ->where('ID', $category); return $data; } public function getCompany($co_code) { $data = []; $data = DB::connection("db2")->table("STG_DB.COMPANY") ->select('COMPANY_NAME') ->where('ID', $co_code); 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, LEFT(NEXT_DATE, 8) AS NEXT_DATE")) ->where('ID', $arrId) ->limit(1); return $data; } // public function getAccountRK($cusNo, $date) // { // $data = []; // $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") // ->select('AC.ACCOUNT_NUMBER', 'AC.CUSTOMER_NO', 'CT.SHORT_NAME', 'AC.WORKING_BALANCE', 'AC.CURRENCY', 'AC.SHORT_TITLE', 'AC.OPENING_DATE', 'AC.BATCH_DATE', 'AC.CATEGORY', 'LT.EXPIRY_DATE', 'LT.AVAIL_AMT') // ->join('STG_DB.LIMIT AS LT', 'AC.ACCOUNT_NUMBER', '=', 'LT.ACCOUNT') // ->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID') // ->where('AC.CUSTOMER_NO', $cusNo) // ->where('AC.BATCH_DATE', $date) // ->where('AC.LIMIT_REF', '<>', 'NULL') // ->whereIn(DB::raw("LEFT(CATEGORY, 3)"), ['100','600','660','101']) // ->limit(100); // return $data; // } public function getAccountRK($arrCusNo, $date) { $timestamp = strtotime($date); // Format the timestamp into a date format $Year = date("Y", $timestamp); $data = []; $data = DB::connection("db2")->table("MIS.COLLECTION") ->selectRaw('ACCOUNT_NUMBER,MATURITY_DATE,MAX(BATCH_DATE) AS BATCH_DATE,MAX(OUTSTANDING) AS OUTSTANDING,LOAN_CCY,PRODUCT_LOAN,PRINCIPLE_AMOUNT,CURRENT_INTEREST_RATE,TENOR,FACILITY_TYPE,LIMIT_ID') ->whereYear('TANGGAL_DATA', $Year) ->whereIn(DB::raw("ACCOUNT_NUMBER"), $arrCusNo) //->where('LOAN_STATUS', 'CURRENT') ->groupBy('ACCOUNT_NUMBER', 'MATURITY_DATE', 'LOAN_CCY', 'PRODUCT_LOAN', 'PRINCIPLE_AMOUNT', 'CURRENT_INTEREST_RATE', 'TENOR','FACILITY_TYPE','LIMIT_ID') ->limit(100); return $data; } public function getAccountAnjak($AccNo, $date) { $timestamp = strtotime($date); // Format the timestamp into a date format $Year = date("Y", $timestamp); $data = []; $data = DB::connection("db2")->table("MIS.COLLECTION") ->selectRaw('LOAN_NUMBER,ACCOUNT_NUMBER,MATURITY_DATE,START_DATE,MAX(TANGGAL_DATA) AS TANGGAL_DATA,MAX(OUTSTANDING) AS OUTSTANDING,LOAN_CCY,PRODUCT_LOAN,PRINCIPLE_AMOUNT,CURRENT_INTEREST_RATE,TENOR,MAX(BRANCH) AS BRANCH,PAYIN_ACCOUNT,FACILITY_TYPE') ->whereYear('TANGGAL_DATA', $Year) ->whereIn(DB::raw("PAYIN_ACCOUNT"), $AccNo) ->where('LOAN_STATUS', 'CURRENT') ->groupBy('LOAN_NUMBER', 'ACCOUNT_NUMBER', 'MATURITY_DATE', 'START_DATE', 'LOAN_CCY', 'PRODUCT_LOAN', 'PRINCIPLE_AMOUNT', 'CURRENT_INTEREST_RATE', 'TENOR', 'PAYIN_ACCOUNT', 'FACILITY_TYPE') ->limit(100); return $data; } public function getLimit($cus_id, $periode) { $timestamp = strtotime($periode); // Format the timestamp into a date format $Year = date("Y", $timestamp); $data = []; $data = DB::connection("db2")->table("STG_DB.LIMIT AS LM") ->select('*') ->join('STG_DB.LIMIT_REFERENCE AS LR', 'LM.LIMIT_PRODUCT', '=', 'LR.ID') ->join('STG_DB.COMPANY AS CP', 'LM.CO_CODE', '=', 'CP.ID') ->join('STG_DB.CATEGORY AS CT', 'LM.LIMIT_PRODUCT', '=', 'CT.ID') ->select('LM.ACCOUNT', 'LM.LIMIT_CURRENCY', 'LM.APPROVAL_DATE', 'LM.EXPIRY_DATE', 'LM.AVAIL_AMT', 'LM.BATCH_DATE', 'LM.EXPIRY_DATE', 'LR.SHORT_NAME', 'LR.LIMIT_PERCENTAGE', 'CP.COMPANY_NAME', 'CT.SHORT_NAME AS ACCOUNT_TYPE') ->where(DB::raw("LEFT(LM.@ID, 10)"), $cus_id) ->whereYear('LM.BATCH_DATE', $Year) ->limit(100); return $data; } }