belongsTo(Arrangement::class, 'LINKED_APPL_ID'); } public function getSearchAccount($cif ,$arrAccount, $kodecabang, $startDate){ $uppercaseKodeCabang = Str::upper($kodecabang); $data = []; if($arrAccount == null){ $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") ->selectRaw('AC.CUSTOMER_NO, MAX(INACTIV_MARKER) as INACTIV_MARKER,AC.ACCOUNT_NUMBER,MAX(AC.BATCH_DATE) AS BATCH_DATE,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('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('LIMIT_REF', NULL) ->where('AC.BATCH_DATE',$startDate) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME','LIMIT_REF') ->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 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.BATCH_DATE) AS BATCH_DATE,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('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->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('SHORT_NAME', 'ASC') ->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', $cif) ->where('CUSTOMER', $cust) ->where('LINKED_APPL_ID', $acc) ->limit(1); return $data; } public function getAA($cust, $acc, $dataCore){ $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', $cif) ->where('CUSTOMER', $cust) ->where('ARR_STATUS','<>', 'CLOSE') ->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%") // ->whereIn(DB::raw("LINKED_APPL_ID"),$acc) ->where('LINKED_APPL_ID', $acc) ->where('BATCH_DATE', $dataCore) ->groupBy('LINKED_APPL_ID','CUSTOMER','RENEWAL_DATE','START_DATE','FIXED_RATE','BATCH_DATE','PRODUCT_LINE','ARR_STATUS') ->limit(100); 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') // ->join('STG_DB.ACCOUNT AS AC', 'AA.LINKED_APPL_ID', '=', 'AC.ACCOUNT_NUMBER') ->where('CUSTOMER',$cus_no) // ->whereIn(DB::raw("LINKED_APPL_ID"),$arr) ->where('ARR_STATUS' , 'CURRENT') // ->orderBy('TERM','DESC'); ->where('BATCH_DATE', $dateCore) ->where('ARR_STATUS','<>', 'CLOSE') ->where('PRODUCT_LINE', 'like', "%" .'LENDING' ."%") // ->groupBy('ARRANGEMENT_ID','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME') ->limit(100); return $data; } public function getFixedRate($arrangementId, $startDate){ $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARR_INTEREST") ->select('FIXED_RATE') ->where('BATCH_DATE', $startDate) ->where(DB::raw("LEFT(ID, 12)"),$arrangementId) ->orderBy('ID','DESC'); 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('TERM','DESC') ->limit(100); 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('ID', 'like', "%" .$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); // ->orderBy('TERM','DESC'); return $data; } public function getCompany($co_code){ $data = []; $data = DB::connection("db2")->table("STG_DB.COMPANY") ->select('COMPANY_NAME') ->where('ID',$co_code); // ->orderBy('TERM','DESC'); 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 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('PAYIN_ACCOUNT',$AccNo) ->whereIn(DB::raw("PAYIN_ACCOUNT"),$AccNo) //->whereIn(DB::raw("ACCOUNT_NUMBER"),$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); // dd($periode); $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); //->where('BATCH_DATE', $periode); // ->orderBy('LM.@ID','DESC')->get(); return $data; } }