Perbaikan data anjak

This commit is contained in:
KhatamNugraha
2024-05-08 16:03:52 +07:00
parent 86dc2d4199
commit a8a0ed1bd9
3 changed files with 802 additions and 846 deletions

View File

@ -20,9 +20,6 @@ class Account extends Model
protected $connection = 'db2'; protected $connection = 'db2';
protected $table = 'STG_DB.ACCOUNT'; protected $table = 'STG_DB.ACCOUNT';
protected $primaryKey = '@ID'; protected $primaryKey = '@ID';
//public $incrementing = false;
protected $fillable = [ protected $fillable = [
"'CUSTOMER_NO', "'CUSTOMER_NO',
'MNEMONIC' 'MNEMONIC'
@ -36,28 +33,29 @@ class Account extends Model
return $this->belongsTo(Arrangement::class, 'LINKED_APPL_ID'); return $this->belongsTo(Arrangement::class, 'LINKED_APPL_ID');
} }
public function getSearchAccount($cif ,$arrAccount, $kodecabang, $startDate){ public function getSearchAccount($cif, $arrAccount, $kodecabang, $startDate)
{
$uppercaseKodeCabang = Str::upper($kodecabang); $uppercaseKodeCabang = Str::upper($kodecabang);
$data = []; $data = [];
if($arrAccount == null){ if($arrAccount == null) {
$data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") $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') ->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.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID')
->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID') ->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID')
->where('CUSTOMER_NO',$cif) ->where('CUSTOMER_NO', $cif)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->where('LIMIT_REF', NULL) ->where('LIMIT_REF', null)
->where('AC.BATCH_DATE',$startDate) ->where('AC.BATCH_DATE', $startDate)
->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"), ['100','600','660','101'])
->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME','LIMIT_REF') ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'LIMIT_REF')
->limit(100); ->limit(100);
}else{ } else {
$data = DB::connection("db2")->table("STG_DB.ACCOUNT") $data = DB::connection("db2")->table("STG_DB.ACCOUNT")
->select('*') ->select('*')
->where('CUSTOMER_NO',$cif) ->where('CUSTOMER_NO', $cif)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->whereIn('ACCOUNT_NUMBER', $arrAccount) ->whereIn('ACCOUNT_NUMBER', $arrAccount)
->where('OPENING_DATE', $startDate); ->where('OPENING_DATE', $startDate);
@ -66,71 +64,72 @@ class Account extends Model
return $data; return $data;
} }
public function getAccount($cif, $arrAccount, $startDate){ public function getAccount($cif, $arrAccount, $startDate)
{
//$uppercaseKodeCabang = Str::upper($kodecabang); //$uppercaseKodeCabang = Str::upper($kodecabang);
$data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") $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') ->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.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID')
->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID') ->join('STG_DB.COMPANY AS CP', 'AC.CO_CODE', '=', 'CP.ID')
->where('CUSTOMER_NO',$cif) ->where('CUSTOMER_NO', $cif)
// ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('LIMIT_REF', null)
->where('LIMIT_REF', NULL) ->where('AC.BATCH_DATE', $startDate)
->where('AC.BATCH_DATE',$startDate)
->whereIn('AC.ACCOUNT_NUMBER', $arrAccount) ->whereIn('AC.ACCOUNT_NUMBER', $arrAccount)
//->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101'])
->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME','CATEGORY','LIMIT_REF') ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF')
->orderBy('SHORT_NAME', 'ASC') ->orderBy('SHORT_NAME', 'ASC')
->limit(100); ->limit(100);
return $data; return $data;
} }
public function getCustomer($cus_no){ public function getCustomer($cus_no)
{
$data = []; $data = [];
$data =DB::connection("db2")->table("STG_DB.CUSTOMER")->select('CUSTOMER_NO','STREET','RESIDENCE','ADDRESS','SHORT_NAME')->where('CUSTOMER_NO', $cus_no); $data = DB::connection("db2")->table("STG_DB.CUSTOMER")->select('CUSTOMER_NO', 'STREET', 'RESIDENCE', 'ADDRESS', 'SHORT_NAME')->where('CUSTOMER_NO', $cus_no);
return $data; return $data;
} }
public function getAAaccount($cust, $acc){ public function getAAaccount($cust, $acc)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.VW_AA_ACCOUNT")->select('ARRANGEMENT_ID','MATURITY_DATE','PRODUCT','TERM','RENEWAL_DATE','START_DATE','FIXED_RATE') $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('CUSTOMER', $cust)
->where('LINKED_APPL_ID', $acc) ->where('LINKED_APPL_ID', $acc)
->limit(1); ->limit(1);
return $data; return $data;
} }
public function getAA($cust, $acc, $dataCore){ public function getAA($cust, $acc, $dataCore)
{
$timestamp = strtotime($dataCore);
// Format the timestamp into a date format
$Year = date("Y", $timestamp);
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL") $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') ->select('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS')
// ->where('CUSTOMER', $cif)
->where('CUSTOMER', $cust) ->where('CUSTOMER', $cust)
->where('ARR_STATUS','<>', 'CLOSE') ->where('ARR_STATUS', '<>', 'CLOSE')
->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%") ->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%")
// ->whereIn(DB::raw("LINKED_APPL_ID"),$acc)
->where('LINKED_APPL_ID', $acc) ->where('LINKED_APPL_ID', $acc)
->where('BATCH_DATE', $dataCore) ->whereYear('BATCH_DATE', $Year)
->groupBy('LINKED_APPL_ID','CUSTOMER','RENEWAL_DATE','START_DATE','FIXED_RATE','BATCH_DATE','PRODUCT_LINE','ARR_STATUS') ->groupBy('LINKED_APPL_ID', 'CUSTOMER', 'RENEWAL_DATE', 'START_DATE', 'FIXED_RATE', 'BATCH_DATE', 'PRODUCT_LINE', 'ARR_STATUS')
->orderBy('BATCH_DATE', 'DESC')
->limit(100); ->limit(100);
return $data; return $data;
} }
public function getPinjaman($cus_no, $dateCore){ public function getPinjaman($cus_no, $dateCore)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.VW_AA_ARR") $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') ->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)
->where('CUSTOMER',$cus_no) ->where('ARR_STATUS', 'CURRENT')
// ->whereIn(DB::raw("LINKED_APPL_ID"),$arr)
->where('ARR_STATUS' , 'CURRENT')
// ->orderBy('TERM','DESC');
->where('BATCH_DATE', $dateCore) ->where('BATCH_DATE', $dateCore)
->where('ARR_STATUS','<>', 'CLOSE') ->where('ARR_STATUS', '<>', 'CLOSE')
->where('PRODUCT_LINE', 'like', "%" .'LENDING' ."%") ->where('PRODUCT_LINE', 'like', "%" .'LENDING' ."%")
// ->groupBy('ARRANGEMENT_ID','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME')
->limit(100); ->limit(100);
return $data; return $data;
@ -138,147 +137,148 @@ class Account extends Model
} }
public function getFixedRate($arrangementId, $startDate){ public function getFixedRate($arrangementId, $startDate)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.AA_ARR_INTEREST") $data = DB::connection("db2")->table("STG_DB.AA_ARR_INTEREST")
->select('FIXED_RATE') ->select('FIXED_RATE')
->where('BATCH_DATE', $startDate) ->where('BATCH_DATE', $startDate)
->where(DB::raw("LEFT(ID, 12)"),$arrangementId) ->where(DB::raw("LEFT(ID, 12)"), $arrangementId)
->orderBy('ID','DESC'); ->orderBy('ID', 'DESC');
return $data; return $data;
} }
public function getMaturityDate($arrangementId,$startDate){ public function getMaturityDate($arrangementId, $startDate)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.AA_ACCOUNT_DETAILS") $data = DB::connection("db2")->table("STG_DB.AA_ACCOUNT_DETAILS")
->select('MATURITY_DATE','RENEWAL_DATE','START_DATE') ->select('MATURITY_DATE', 'RENEWAL_DATE', 'START_DATE')
->where('ID' ,$arrangementId) ->where('ID', $arrangementId)
->where('BATCH_DATE' ,$startDate) ->where('BATCH_DATE', $startDate)
->limit(1) ->limit(1)
->orderBy('MATURITY_DATE','DESC'); ->orderBy('MATURITY_DATE', 'DESC');
return $data; return $data;
} }
public function getTermAmount($arrangementId){ public function getTermAmount($arrangementId)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.AA_ARR_TERM_AMOUNT") $data = DB::connection("db2")->table("STG_DB.AA_ARR_TERM_AMOUNT")
->select('*') ->select('*')
->where(DB::raw("LEFT(ID, 12)"),$arrangementId) ->where(DB::raw("LEFT(ID, 12)"), $arrangementId)
//->orderBy('TERM','DESC')
->limit(100); ->limit(100);
return $data; return $data;
} }
public function getSingleAccount($acNo, $date){ public function getSingleAccount($acNo, $date)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.ACCOUNT") $data = DB::connection("db2")->table("STG_DB.ACCOUNT")
->select('WORKING_BALANCE','LIMIT_REF') ->select('WORKING_BALANCE', 'LIMIT_REF')
->where('ACCOUNT_NUMBER',$acNo) ->where('ACCOUNT_NUMBER', $acNo)
->where('BATCH_DATE',$date) ->where('BATCH_DATE', $date)
->limit(1) ->limit(1)
->orderBy('ACCOUNT_NUMBER','DESC'); ->orderBy('ACCOUNT_NUMBER', 'DESC');
return $data; return $data;
} }
public function getLimitCheck($acNo, $date){ public function getLimitCheck($acNo, $date)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.LIMIT") $data = DB::connection("db2")->table("STG_DB.LIMIT")
->select('ACCOUNT','EXPIRY_DATE','AVAIL_AMT') ->select('ACCOUNT', 'EXPIRY_DATE', 'AVAIL_AMT')
->where('ACCOUNT', 'like', "%" .$acNo."%") ->where('ACCOUNT', 'like', "%" .$acNo."%")
->where('BATCH_DATE',$date) ->where('BATCH_DATE', $date)
->limit(1) ->limit(1)
->orderBy('ACCOUNT','DESC'); ->orderBy('ACCOUNT', 'DESC');
return $data; return $data;
} }
public function getRateRk($acNo, $date){ public function getRateRk($acNo, $date)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.ACCOUNT_DEBIT_INT") $data = DB::connection("db2")->table("STG_DB.ACCOUNT_DEBIT_INT")
->select('DR_INT_RATE') ->select('DR_INT_RATE')
->where(DB::raw("LEFT(ID, 10)"),$acNo ) ->where(DB::raw("LEFT(ID, 10)"), $acNo)
// ->where('ID', 'like', "%" .$acNo."%") ->where('BATCH_DATE', $date)
->where('BATCH_DATE',$date)
->limit(1) ->limit(1)
->orderBy('INSERT_DATE','DESC'); ->orderBy('INSERT_DATE', 'DESC');
return $data; return $data;
} }
public function getCategory($category){ public function getCategory($category)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.CATEGORY") $data = DB::connection("db2")->table("STG_DB.CATEGORY")
->select('SHORT_NAME') ->select('SHORT_NAME')
->where('ID',$category); ->where('ID', $category);
// ->orderBy('TERM','DESC');
return $data; return $data;
} }
public function getCompany($co_code){ public function getCompany($co_code)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.COMPANY") $data = DB::connection("db2")->table("STG_DB.COMPANY")
->select('COMPANY_NAME') ->select('COMPANY_NAME')
->where('ID',$co_code); ->where('ID', $co_code);
// ->orderBy('TERM','DESC');
return $data; return $data;
} }
public function getAccountRK($cusNo,$date){ public function getAccountRK($cusNo, $date)
{
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") $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') ->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.LIMIT AS LT', 'AC.ACCOUNT_NUMBER', '=', 'LT.ACCOUNT')
->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID') ->join('STG_DB.CATEGORY AS CT', 'AC.CATEGORY', '=', 'CT.ID')
->where('AC.CUSTOMER_NO',$cusNo) ->where('AC.CUSTOMER_NO', $cusNo)
->where('AC.BATCH_DATE',$date) ->where('AC.BATCH_DATE', $date)
->where('AC.LIMIT_REF', '<>' , 'NULL' ) ->where('AC.LIMIT_REF', '<>', 'NULL')
->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) ->whereIn(DB::raw("LEFT(CATEGORY, 3)"), ['100','600','660','101'])
->limit(100); ->limit(100);
return $data; return $data;
} }
public function getAccountAnjak($AccNo,$date){ public function getAccountAnjak($AccNo, $date)
{
$timestamp = strtotime($date); $timestamp = strtotime($date);
// Format the timestamp into a date format // Format the timestamp into a date format
$Year = date("Y", $timestamp); $Year = date("Y", $timestamp);
$data = []; $data = [];
$data = DB::connection("db2")->table("MIS.COLLECTION") $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') ->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) ->whereYear('TANGGAL_DATA', $Year)
// ->whereIn('PAYIN_ACCOUNT',$AccNo) ->whereIn(DB::raw("PAYIN_ACCOUNT"), $AccNo)
->whereIn(DB::raw("PAYIN_ACCOUNT"),$AccNo) ->where('LOAN_STATUS', 'CURRENT')
//->whereIn(DB::raw("ACCOUNT_NUMBER"),$AccNo) ->groupBy('LOAN_NUMBER', 'ACCOUNT_NUMBER', 'MATURITY_DATE', 'START_DATE', 'LOAN_CCY', 'PRODUCT_LOAN', 'PRINCIPLE_AMOUNT', 'CURRENT_INTEREST_RATE', 'TENOR', 'PAYIN_ACCOUNT', 'FACILITY_TYPE')
->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); ->limit(100);
return $data; return $data;
} }
public function getLimit($cus_id,$periode){ public function getLimit($cus_id, $periode)
{
$timestamp = strtotime($periode); $timestamp = strtotime($periode);
// Format the timestamp into a date format // Format the timestamp into a date format
$Year = date("Y", $timestamp); $Year = date("Y", $timestamp);
// dd($periode);
$data = []; $data = [];
$data =DB::connection("db2")->table("STG_DB.LIMIT AS LM") $data = DB::connection("db2")->table("STG_DB.LIMIT AS LM")
->select('*') ->select('*')
->join('STG_DB.LIMIT_REFERENCE AS LR', 'LM.LIMIT_PRODUCT', '=', 'LR.ID') ->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.COMPANY AS CP', 'LM.CO_CODE', '=', 'CP.ID')
->join('STG_DB.CATEGORY AS CT', 'LM.LIMIT_PRODUCT', '=', 'CT.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') ->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) ->where(DB::raw("LEFT(LM.@ID, 10)"), $cus_id)
->whereYear('LM.BATCH_DATE', $Year) ->whereYear('LM.BATCH_DATE', $Year)
->limit(100); ->limit(100);
//->where('BATCH_DATE', $periode);
// ->orderBy('LM.@ID','DESC')->get();
return $data; return $data;
} }

View File

@ -1,43 +1,42 @@
<?php <?php
namespace Modules\Konfirmasibank\Http\Controllers; namespace Modules\Konfirmasibank\Http\Controllers;
use Illuminate\Contracts\Support\Renderable; use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Routing\Controller; use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Modules\Konfirmasibank\DataTables\ViewAccountDataTable; use Modules\Konfirmasibank\DataTables\ViewAccountDataTable;
use Modules\Konfirmasibank\Entities\ViewAccount; use Modules\Konfirmasibank\Entities\ViewAccount;
use Modules\Konfirmasibank\Entities\LimitReference; use Modules\Konfirmasibank\Entities\LimitReference;
use Modules\Konfirmasibank\Entities\Fasilitas; use Modules\Konfirmasibank\Entities\Fasilitas;
use Modules\Konfirmasibank\Entities\Signer; use Modules\Konfirmasibank\Entities\Signer;
use Modules\Konfirmasibank\Entities\Letters; use Modules\Konfirmasibank\Entities\Letters;
use Modules\Konfirmasibank\Entities\Category; use Modules\Konfirmasibank\Entities\Category;
use Modules\Konfirmasibank\Entities\Company; use Modules\Konfirmasibank\Entities\Company;
use Modules\Konfirmasibank\Entities\Account; use Modules\Konfirmasibank\Entities\Account;
use Modules\Konfirmasibank\Entities\Arrangement; use Modules\Konfirmasibank\Entities\Arrangement;
use Modules\Konfirmasibank\Entities\TermAmount; use Modules\Konfirmasibank\Entities\TermAmount;
//use Dompdf\Dompdf; use PDF;
use PDF; use Dompdf\Options;
use Dompdf\Options; use Carbon\Carbon;
use Carbon\Carbon; use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\PhpWord; use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\Element\Table;
use PhpOffice\PhpWord\Element\Table; use PhpOffice\PhpWord\SimpleType\TblWidth;
use PhpOffice\PhpWord\SimpleType\TblWidth; use PhpOffice\PhpWord\Element\Section;
use PhpOffice\PhpWord\Element\Section; use Response;
use Response; use Exception;
use Exception; use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Storage; use Modules\Konfirmasibank\Http\Requests\Fasilitas\StoreFasilitasRequest;
use Modules\Konfirmasibank\Http\Requests\Fasilitas\StoreFasilitasRequest; use Akaunting\Money\Currency;
use Akaunting\Money\Currency; use Akaunting\Money\Money;
use Akaunting\Money\Money; use Illuminate\Validation\Rule;
use Illuminate\Validation\Rule;
class KonfirmasiBankController extends Controller class KonfirmasiBankController extends Controller
{ {
public $user; public $user;
public function __construct() public function __construct()
@ -69,13 +68,13 @@
$pastYear = $today->subYear(3)->format('d-m-Y'); $pastYear = $today->subYear(3)->format('d-m-Y');
$dateRoman = $this->numberToRoman($today->format('n')); $dateRoman = $this->numberToRoman($today->format('n'));
$signer = Signer::where('status',1)->get(); $signer = Signer::where('status', 1)->get();
$company = Company::all(); $company = Company::all();
$infoSurat = Letters::orderBy('created_at','desc')->first(); $infoSurat = Letters::orderBy('created_at', 'desc')->first();
if($infoSurat){ if($infoSurat) {
$no_req_surat = $infoSurat['no_req_surat']; $no_req_surat = $infoSurat['no_req_surat'];
}else{ } else {
$no_req_surat = '001/SUBDIT.OPS/'. $dateRoman.'/'.$currentYear; $no_req_surat = '001/SUBDIT.OPS/'. $dateRoman.'/'.$currentYear;
} }
@ -85,12 +84,13 @@
$data['company'] = $company; $data['company'] = $company;
$data['no_req_surat'] = $no_req_surat; $data['no_req_surat'] = $no_req_surat;
return view('konfirmasibank::pages.index',compact('data','request')); return view('konfirmasibank::pages.index', compact('data', 'request'));
} }
public function create(){ public function create()
return view('konfirmasibank::pages.index',compact('data')); {
return view('konfirmasibank::pages.index', compact('data'));
} }
@ -99,12 +99,12 @@
{ {
$data = []; $data = [];
$Account = new Account; $Account = new Account();
$arrAccount = []; $arrAccount = [];
$startDate = Carbon::parse($request->startDate); $startDate = Carbon::parse($request->startDate);
$dateCore = $startDate->subDays(2)->format('m/d/Y'); $dateCore = $startDate->subDays(2)->format('m/d/Y');
$Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang, $dateCore)->get(); $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $dateCore)->get();
foreach ($Accounts as $key => $value) { foreach ($Accounts as $key => $value) {
$data[$key]['ACCOUNT_NUMBER'] = $value->ACCOUNT_NUMBER; $data[$key]['ACCOUNT_NUMBER'] = $value->ACCOUNT_NUMBER;
@ -114,25 +114,14 @@
$data[$key]['WORKING_BALANCE'] = number_format($value->WORKING_BALANCE, 2, ',', '.') ; $data[$key]['WORKING_BALANCE'] = number_format($value->WORKING_BALANCE, 2, ',', '.') ;
} }
return json_encode($data ); return json_encode($data);
} }
public function postInfoSurat(Request $request){ public function postInfoSurat(Request $request)
// $noSurat = $this->generateNomorSurat(); {
// $request->validate([
// 'signer' => ['required'],
// 'no_req_surat' => ['required', 'max:100'],
// 'tgl_req_surat' => ['required'],
// 'email' => ['email'],
// 'tlp' => ['numeric', 'max:10'],
// 'nama_tujuan' => ['required'],
// 'alamat' => ['required']
// ]);
//Validate the request
//Validate the request //Validate the request
$currentDate = Carbon::now(); $currentDate = Carbon::now();
$tglSurat = $currentDate->format('Y-m-d'); $tglSurat = $currentDate->format('Y-m-d');
@ -155,28 +144,8 @@
} }
// private function generateNomorSurat(){
// $latesNoSurat = '';
// $latestRecord = letters::latest('no_surat')->select('no_surat')->first();
// $tanggal = now();
// $tahun = $tanggal->format('Y');
// // Fungsi untuk mengonversi angka bulan menjadi romawi
// $bulanRomawi = $this->numberToRoman($tanggal->format('n'));
// if($latestRecord){ public function numberToRoman($num)
// $squence = substr($latestRecord['no_surat'], 0, 3);
// $latesNoSurat = str_pad(intval($squence), 3, '0', STR_PAD_LEFT);
// $NoUrut = str_pad(intval($latesNoSurat + 1), 3, '0', STR_PAD_LEFT);
// $noSurat = " $NoUrut/SUBDIT.OPS/$bulanRomawi/$tahun";
// return $noSurat;
// }else {
// $noSurat = "001/SUBDIT.OPS/$bulanRomawi/$tahun";
// return $noSurat;
// }
// }
function numberToRoman($num)
{ {
// Be sure to convert the given parameter into an integer // Be sure to convert the given parameter into an integer
$n = intval($num); $n = intval($num);
@ -189,8 +158,7 @@
'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1
); );
foreach ($lookup as $roman => $value) foreach ($lookup as $roman => $value) {
{
// Look for number of matches // Look for number of matches
$matches = intval($n / $value); $matches = intval($n / $value);
@ -206,18 +174,17 @@
public function signer(Request $request){ public function signer(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
} }
$data = []; $data = [];
// $signer = Signer::paginate(10); $signer = Signer::where('status', 1)->paginate(10);
$signer = Signer::where('status',1)->paginate(10);
$data['signer'] = $signer; $data['signer'] = $signer;
// dd( $data['signer']);
return view('konfirmasibank::pages.index_signer',compact('data')); return view('konfirmasibank::pages.index_signer', compact('data'));
} }
@ -253,7 +220,7 @@
'string', 'string',
'unique:signers,deputy_director_name', 'unique:signers,deputy_director_name',
'regex:/^[a-zA-Z\s]*$/', 'regex:/^[a-zA-Z\s]*$/',
function($attribute, $value, $fail) use ($request) { function ($attribute, $value, $fail) use ($request) {
if ($value === $request->executive_officer) { if ($value === $request->executive_officer) {
$fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.'); $fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.');
} }
@ -303,7 +270,7 @@
$signer = Signer::find($request->id); $signer = Signer::find($request->id);
return json_encode( $signer); return json_encode($signer);
} }
@ -333,9 +300,8 @@
'deputy_director' => [ 'deputy_director' => [
'required', 'required',
'string', 'string',
// Rule::unique('signers', 'deputy_director_name')->ignore($signer->id),
'regex:/^[a-zA-Z\s]*$/', 'regex:/^[a-zA-Z\s]*$/',
function($attribute, $value, $fail) use ($request) { function ($attribute, $value, $fail) use ($request) {
if ($value === $request->executive_officer) { if ($value === $request->executive_officer) {
$fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.'); $fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.');
} }
@ -344,7 +310,6 @@
'executive_officer' => [ 'executive_officer' => [
'required', 'required',
'string', 'string',
// Rule::unique('signers', 'executive_officer_name')->ignore($signer->id),
'regex:/^[a-zA-Z\s]*$/' 'regex:/^[a-zA-Z\s]*$/'
], ],
'signer_type' => 'required|string' 'signer_type' => 'required|string'
@ -366,11 +331,12 @@
} }
} }
public function export(Request $request){ public function export(Request $request)
$arrAccount = explode("," , $request['accNo']); {
$arrAccount = explode(",", $request['accNo']);
$startDate = Carbon::parse($request['startDate2']); $startDate = Carbon::parse($request['startDate2']);
$dateCore = $startDate->subDays(2); $dateCore = $startDate->subDays(2);
$Account = new Account; $Account = new Account();
$data = []; $data = [];
$DataAccounts = []; $DataAccounts = [];
$DataPinjaman = []; $DataPinjaman = [];
@ -378,24 +344,20 @@
$DataRK = []; $DataRK = [];
$rekEscrow = []; $rekEscrow = [];
$DataAnjak = []; $DataAnjak = [];
// dd($listAccount);
$GetCustomer = $Account->getCustomer($request['cusNo'])->first(); $GetCustomer = $Account->getCustomer($request['cusNo'])->first();
//dd($GetCustomer ); $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCore)->get();
$listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCore )->get();
//dd( $listAccount);
foreach ($listAccount as $key1 => $account) { foreach ($listAccount as $key1 => $account) {
$dataAADepo = $Account->getAA($request['cusNo'],$account->ACCOUNT_NUMBER, $dateCore)->first();
// $AccountAnjak = $Account->getAccountAnjak($request['cusNo'], $dateCore )->first();
if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') { if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') {
$dataAADepo = $Account->getAA($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first();
if ($dataAADepo != null) { if ($dataAADepo != null) {
$tenor = ''; $tenor = '';
$tanggal_1 = date_create($dataAADepo->RENEWAL_DATE); $tanggal_1 = date_create($dataAADepo->RENEWAL_DATE);
$tanggal_2 = date_create($dataAADepo->START_DATE); $tanggal_2 = date_create($dataAADepo->START_DATE);
$tenor = date_diff( $tanggal_1, $tanggal_2 ); $tenor = date_diff($tanggal_1, $tanggal_2);
$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;
@ -408,7 +370,7 @@
$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'] = intval($tenor->days / 30) . ' BLN';
} }
}else{ }else{
@ -426,7 +388,6 @@
$DataAccounts[$key1]['FIXED_RATE'] = ''; $DataAccounts[$key1]['FIXED_RATE'] = '';
$DataAccounts[$key1]['TERM'] = ''; $DataAccounts[$key1]['TERM'] = '';
} }
//get data anjak //get data anjak
if ($account->CATEGORY == '1019') { if ($account->CATEGORY == '1019') {
@ -437,12 +398,10 @@
} }
$Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get();
foreach ($Arrangement as $key2 => $pinjaman) { foreach ($Arrangement as $key2 => $pinjaman) {
$limtiCheck = $Account->getLimitCheck($pinjaman->LINKED_APPL_ID,$startDate)->first(); $limtiCheck = $Account->getLimitCheck($pinjaman->LINKED_APPL_ID, $startDate)->first();
$DataPinjaman[$key2]['ARRANGEMENT_ID'] = $pinjaman->ARRANGEMENT_ID; $DataPinjaman[$key2]['ARRANGEMENT_ID'] = $pinjaman->ARRANGEMENT_ID;
$DataPinjaman[$key2]['START_DATE'] = $pinjaman->START_DATE; $DataPinjaman[$key2]['START_DATE'] = $pinjaman->START_DATE;
$DataPinjaman[$key2]['CURRENCY'] = $pinjaman->CURRENCY; $DataPinjaman[$key2]['CURRENCY'] = $pinjaman->CURRENCY;
@ -456,18 +415,22 @@
} }
$listAccountRK = $Account->getAccountRK($request['cusNo'], $dateCore )->get(); $listAccountRK = $Account->getAccountRK($request['cusNo'], $dateCore)->get();
foreach ($listAccountRK as $rk => $valRk) { foreach ($listAccountRK as $rk => $valRk) {
if ( $valRk->CATEGORY == '1003') { if ($valRk->CATEGORY == '1003') {
$rateRK = ""; $rateRK = "";
$rateDebitRk = $Account->getRateRk($valRk->ACCOUNT_NUMBER, $dateCore )->first(); $rateDebitRk = $Account->getRateRk($valRk->ACCOUNT_NUMBER, $dateCore)->first();
if( $rateDebitRk->DR_INT_RATE == "0"){ if ($rateDebitRk) {
if( $rateDebitRk->DR_INT_RATE == "0") {
$rateRK = $rateDebitRk->DR_INT_RATE; $rateRK = $rateDebitRk->DR_INT_RATE;
}else{ } else {
$rateRK = substr($rateDebitRk->DR_INT_RATE, 0, -2); ; $rateRK = substr($rateDebitRk->DR_INT_RATE, 0, -2);
} }
} else {
$rateRK = '';
}
$DataRK[$rk]['ACCOUNT_NUMBER'] = $valRk->ACCOUNT_NUMBER; $DataRK[$rk]['ACCOUNT_NUMBER'] = $valRk->ACCOUNT_NUMBER;
$DataRK[$rk]['OPENING_DATE'] = $valRk->OPENING_DATE; $DataRK[$rk]['OPENING_DATE'] = $valRk->OPENING_DATE;
@ -477,7 +440,7 @@
$DataRK[$rk]['CURRENCY'] = $valRk->CURRENCY; $DataRK[$rk]['CURRENCY'] = $valRk->CURRENCY;
$DataRK[$rk]['PRODUCT'] = $valRk->SHORT_TITLE; $DataRK[$rk]['PRODUCT'] = $valRk->SHORT_TITLE;
$DataRK[$rk]['WORKING_BALANCE'] = $valRk->AVAIL_AMT != null ? number_format($valRk->AVAIL_AMT, 2, ',', '.') : 'NIHIL'; $DataRK[$rk]['WORKING_BALANCE'] = $valRk->AVAIL_AMT != null ? number_format($valRk->AVAIL_AMT, 2, ',', '.') : 'NIHIL';
$DataRK[$rk]['MATURITY_DATE'] = date('d-m-Y', strtotime($valRk->EXPIRY_DATE)) ?? ''; ; $DataRK[$rk]['MATURITY_DATE'] = date('d-m-Y', strtotime($valRk->EXPIRY_DATE)) ?? '';
$DataRK[$rk]['ARRANGEMENT_ID'] = ''; $DataRK[$rk]['ARRANGEMENT_ID'] = '';
$DataRK[$rk]['FIXED_RATE'] = $rateRK; $DataRK[$rk]['FIXED_RATE'] = $rateRK;
$DataRK[$rk]['TERM'] = '12'; $DataRK[$rk]['TERM'] = '12';
@ -487,14 +450,13 @@
} }
$fasilitas = Fasilitas::where('nomor_cif', $request['cusNo'])->where('status', 1)->get();
$fasilitas = Fasilitas::where('nomor_cif',$request['cusNo'] )->where('status',1)->get();
foreach ($fasilitas as $key3 => $val3) { foreach ($fasilitas as $key3 => $val3) {
$DataFasilitas[$key3]['jenis_fasilitas'] = $val3->jenis_fasilitas; $DataFasilitas[$key3]['jenis_fasilitas'] = $val3->jenis_fasilitas;
$DataFasilitas[$key3]['start_date'] = $val3->start_date; $DataFasilitas[$key3]['start_date'] = $val3->start_date;
$DataFasilitas[$key3]['mata_uang'] = $val3->mata_uang; $DataFasilitas[$key3]['mata_uang'] = $val3->mata_uang;
$DataFasilitas[$key3]['saldo'] = number_format(floatval($val3->saldo), 2, ',', '.'); $DataFasilitas[$key3]['saldo'] = number_format(floatval($val3->saldo), 2, ',', '.');
$DataFasilitas[$key3]['jangka_waktu'] = $this->convertDateToMonth( $val3->jangka_waktu) . ' BLN' ?? ''; $DataFasilitas[$key3]['jangka_waktu'] = $this->convertDateToMonth($val3->jangka_waktu) . ' BLN' ?? '';
$DataFasilitas[$key3]['fixed_rate'] = $val3->fixed_rate ?? ''; $DataFasilitas[$key3]['fixed_rate'] = $val3->fixed_rate ?? '';
$DataFasilitas[$key3]['due_date'] = $val3->due_date ?? ''; $DataFasilitas[$key3]['due_date'] = $val3->due_date ?? '';
$DataFasilitas[$key3]['nomor_rekening'] = $val3->nomor_rekening; $DataFasilitas[$key3]['nomor_rekening'] = $val3->nomor_rekening;
@ -502,49 +464,46 @@
//Get DatA Anjak //Get DatA Anjak
$ListAnjak = $Account->getAccountAnjak($rekEscrow, $dateCore)->get(); $ListAnjak = $Account->getAccountAnjak($rekEscrow, $dateCore)->get();
$totalOutstanding = $ListAnjak->sum('OUTSTANDING') != null ? number_format(abs($ListAnjak->sum('OUTSTANDING')), 2, ',', '.') : 'NIHIL';
// dd($totalOutstanding);
foreach ($ListAnjak as $key4 => $val4) { // foreach ($ListAnjak as $key4 => $val4) {
$DataAnjak[$key4]['PRODUCT_LOAN'] = $val4->PRODUCT_LOAN; // $DataAnjak[$key4]['PRODUCT_LOAN'] = $val4->PRODUCT_LOAN;
$DataAnjak[$key4]['LOAN_CCY'] = $val4->LOAN_CCY; // $DataAnjak[$key4]['LOAN_CCY'] = $val4->LOAN_CCY;
$DataAnjak[$key4]['CUSTOMER_NO'] = $val4->PAYIN_ACCOUNT; // $DataAnjak[$key4]['CUSTOMER_NO'] = $val4->PAYIN_ACCOUNT;
$DataAnjak[$key4]['TENOR'] = $val4->TENOR; // $DataAnjak[$key4]['TENOR'] = $val4->TENOR;
// $DataAnjak[$key4]['OUTSTANDING'] = $val4->OUTSTANDING != null ? number_format($val4->OUTSTANDING, 2, ',', '.') : 'NIHIL'; // $DataAnjak[$key4]['OUTSTANDING'] = $val4->OUTSTANDING != null ? number_format(abs($val4->OUTSTANDING), 2, ',', '.') : 'NIHIL';
$DataAnjak[$key4]['OUTSTANDING'] = $val4->OUTSTANDING != null ? number_format(abs($val4->OUTSTANDING), 2, ',', '.') : 'NIHIL'; // $DataAnjak[$key4]['MATURITY_DATE'] = date('d-m-Y', strtotime($val4->MATURITY_DATE)) ?? '';
$DataAnjak[$key4]['MATURITY_DATE'] = date('d-m-Y', strtotime($val4->MATURITY_DATE)) ?? ''; ; // ;
$DataAnjak[$key4]['ACCOUNT_NUMBER'] = $val4->ACCOUNT_NUMBER; // $DataAnjak[$key4]['ACCOUNT_NUMBER'] = $val4->ACCOUNT_NUMBER;
$DataAnjak[$key4]['CURRENT_INTEREST_RATE'] = $val4->CURRENT_INTEREST_RATE; // $DataAnjak[$key4]['CURRENT_INTEREST_RATE'] = $val4->CURRENT_INTEREST_RATE;
$DataAnjak[$key4]['TERM'] = $val4->CURRENT_INTEREST_RATE; // $DataAnjak[$key4]['TERM'] = $val4->CURRENT_INTEREST_RATE;
} // }
$ListLimits = $Account->getLimit($request['cusNo'],$request['startDate2'])->get(); $ListLimits = $Account->getLimit($request['cusNo'], $request['startDate2'])->get();
$signer = Signer::where('id', $request['signerId'])->where('status', 1)->get();
// dd($fasilitas);
$signer = Signer::where('id', $request['signerId'])->where('status',1)->get();
$batchDate = Carbon::parse($request['startDate2']); $batchDate = Carbon::parse($request['startDate2']);
$currentDate = Carbon::now(); $currentDate = Carbon::now();
$tanggalIndonesia = strtoupper($batchDate->locale('id')->isoFormat('D MMMM YYYY')); // Mengubah seluruh string menjadi huruf besar $tanggalIndonesia = strtoupper($batchDate->locale('id')->isoFormat('D MMMM YYYY')); // Mengubah seluruh string menjadi huruf besar
$today = strtoupper($currentDate->locale('id')->isoFormat('D MMMM YYYY')); $today = strtoupper($currentDate->locale('id')->isoFormat('D MMMM YYYY'));
$letter = new Letters; $letter = new Letters();
$infoSuratNew = $letter->where('no_cif',$request['cusNo'])->orderBy('id','DESC')->first(); $infoSuratNew = $letter->where('no_cif', $request['cusNo'])->orderBy('id', 'DESC')->first();
$data['DataAccounts'] = $DataAccounts; $data['DataAccounts'] = $DataAccounts;
$data['DataPinjaman'] = $DataPinjaman; $data['DataPinjaman'] = $DataPinjaman;
$data['DataRK'] = $DataRK ; $data['DataRK'] = $DataRK ;
$data['DataLimit'] = $ListLimits; $data['DataLimit'] = $ListLimits;
$data['DataFasilitas']= $DataFasilitas; $data['DataFasilitas'] = $DataFasilitas;
$data['DataSigner'] = $signer; $data['DataSigner'] = $signer;
$data['DataCustomer'] = $GetCustomer ?? ''; $data['DataCustomer'] = $GetCustomer ?? '';
$data['localDate'] = $tanggalIndonesia; $data['localDate'] = $tanggalIndonesia;
$data['today'] = $today; $data['today'] = $today;
// $data['batchDate'] = $request['startDate2'];
$data['dataAADepo'] = $dataAADepo; $data['dataAADepo'] = $dataAADepo;
$data['infoSuratNew'] = $infoSuratNew; $data['infoSuratNew'] = $infoSuratNew;
$data['DataAnjak'] = $DataAnjak; $data['totalOutstanding'] = $totalOutstanding;
// dd($data); $pdf = PDF::loadview('konfirmasibank::exportPdf', ['data' => $data]);
$pdf = PDF::loadview('konfirmasibank::exportPdf',['data'=>$data]);
// Set page script to disable header on the first page // Set page script to disable header on the first page
// Set options for DOMPDF as needed // Set options for DOMPDF as needed
@ -557,7 +516,7 @@
$firstPageId = $cpdf->getFirstPageId(); $firstPageId = $cpdf->getFirstPageId();
$objects = $cpdf->objects; $objects = $cpdf->objects;
$pages = array_filter($objects, function($v) { $pages = array_filter($objects, function ($v) {
return $v['t'] == 'page'; return $v['t'] == 'page';
}); });
@ -568,7 +527,7 @@
foreach($pages as $pageId => $page) { foreach($pages as $pageId => $page) {
$nos = $page['info']['pageNum']; $nos = $page['info']['pageNum'];
$canvas->reopen_object($pageId + 1); $canvas->reopen_object($pageId + 1);
$canvas->text(300, 797, $nos . "/" . $countPage , $font, 10, array(0,0,0)); $canvas->text(300, 797, $nos . "/" . $countPage, $font, 10, array(0,0,0));
$canvas->close_object(); $canvas->close_object();
$number++; $number++;
@ -585,19 +544,19 @@
return $pdf->stream($filename); return $pdf->stream($filename);
// return $pdf->stream();
} }
public function convertDateToMonth($termVal){ public function convertDateToMonth($termVal)
{
$months = ''; $months = '';
$getPeriode = substr($termVal, -1); // Mengambil satu karakter dari kanan $getPeriode = substr($termVal, -1); // Mengambil satu karakter dari kanan
$trimmedStr = substr($termVal, 0, -1 * 1); $trimmedStr = substr($termVal, 0, -1 * 1);
if ($getPeriode == 'Y') { if ($getPeriode == 'Y') {
$months = intval($trimmedStr) * 12; $months = intval($trimmedStr) * 12;
} else if ($getPeriode == 'D') { } elseif ($getPeriode == 'D') {
$days = $trimmedStr; // Number of days to convert $days = $trimmedStr; // Number of days to convert
$months = intval($trimmedStr / 30) ; // Get the whole number of months (assuming 30 days per month) $months = intval($trimmedStr / 30) ; // Get the whole number of months (assuming 30 days per month)
} else { } else {
@ -609,7 +568,8 @@
} }
public function fasilitas(Request $request){ public function fasilitas(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
@ -618,7 +578,7 @@
$data = []; $data = [];
$DataFasilitas = []; $DataFasilitas = [];
$fasilitas = Fasilitas::where('status',1)->where('nomor_cif',$request->query()['cus_no_fasilitas'])->paginate(10)->appends($request->query()['cus_no_fasilitas'],$request->query()['company_name'],$request->query()['startDateFasilitas'],$request->query()['endDateFasilitas']); $fasilitas = Fasilitas::where('status', 1)->where('nomor_cif', $request->query()['cus_no_fasilitas'])->paginate(10)->appends($request->query()['cus_no_fasilitas'], $request->query()['company_name'], $request->query()['startDateFasilitas'], $request->query()['endDateFasilitas']);
$Category = Category::all(); $Category = Category::all();
$Company = Company::all(); $Company = Company::all();
@ -630,12 +590,13 @@
$data['Category'] = $Category; $data['Category'] = $Category;
$data['Company'] = $Company; $data['Company'] = $Company;
return view('konfirmasibank::pages.index_fasilitas',compact('data')); return view('konfirmasibank::pages.index_fasilitas', compact('data'));
} }
public function postFasilitas(Request $request){ public function postFasilitas(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !'); abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !');
@ -682,11 +643,6 @@
} catch (Exception $e) { } catch (Exception $e) {
echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
// return json_encode([
// 'status' => 'error',
// 'message' => $e->getMessage()
// ]);
} }
} }
@ -710,7 +666,7 @@
$fasilitas = Fasilitas::find($request->id); $fasilitas = Fasilitas::find($request->id);
return json_encode( $fasilitas); return json_encode($fasilitas);
} }
/** /**
@ -729,8 +685,6 @@
} }
$today = Carbon::now(); $today = Carbon::now();
// Menambahkan 1 tahun ke tanggal saat ini
// $currentYear = $today->format("YYYY-MM-DD");
// Validation Data\ // Validation Data\
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
@ -829,5 +783,4 @@
} }
}
}

View File

@ -50,6 +50,7 @@
border: 1px solid black; border: 1px solid black;
border-collapse: collapse; border-collapse: collapse;
font-size: 12px; font-size: 12px;
padding: 1px;
} }
@ -60,10 +61,16 @@
bottom: 0; bottom: 0;
text-align: center; text-align: center;
} }
#footer .page:after { #footer .page:after {
content: counter(page); content: counter(page);
} }
/* .header { /* .header {
position: fixed; position: fixed;
@ -119,7 +126,7 @@
<li>POSISI : {{ $data['localDate'] }} </li> <li>POSISI : {{ $data['localDate'] }} </li>
</ul> </ul>
<table style="width:100%;" class="space1" > <table style="width:100%;" class="space1 " >
<thead style="background-color: dimgrey" > <thead style="background-color: dimgrey" >
<tr> <tr>
<th class="text-center space1" style="width:5%">No</th> <th class="text-center space1" style="width:5%">No</th>
@ -178,12 +185,11 @@
<!-- Add more rows here if needed --> <!-- Add more rows here if needed -->
</tbody> </tbody>
</table><br> </table><br>
<ul class="no-bullets"> <ul class="no-bullets">
<li>PINJAMAN YANG DIBERIKAN OLEH BANK KEPADA NASABAH</li> <li>PINJAMAN YANG DIBERIKAN OLEH BANK KEPADA NASABAH</li>
<li>POSISI : {{ $data['localDate'] }} </li> <li>POSISI : {{ $data['localDate'] }} </li>
</ul> </ul>
<table class="space1" style="width:100%;page-break-inside: avoid;"> <table class="space1" style="width:100%; page-break-inside: avoid;">
<thead style="background-color: dimgrey"> <thead style="background-color: dimgrey">
<tr class="space1"> <tr class="space1">
<th class="text-center space1" style="width:5%">No</th> <th class="text-center space1" style="width:5%">No</th>
@ -191,14 +197,14 @@
<th class="text-center space1" style="width:12%">Tgl Realisasi</th> <th class="text-center space1" style="width:12%">Tgl Realisasi</th>
<th class="text-center space1" style="width:7%">Mata Uang</th> <th class="text-center space1" style="width:7%">Mata Uang</th>
<th class="text-center space1" style="width:16%">Saldo</th> <th class="text-center space1" style="width:16%">Saldo</th>
<th class="text-center" style="width:10%">Tenor</th> <th class="text-center space1" style="width:10%">Tenor</th>
<th class="text-center space1" style="width:8%">Suku Bunga</th> <th class="text-center space1" style="width:8%">Suku Bunga</th>
<th class="text-center space1" style="width:11%">Tgl Jatuh Tempo</th> <th class="text-center space1" style="width:11%">Tgl Jatuh Tempo</th>
<th class="text-center space1" style="width:10%">Keterangan</th> <th class="text-center space1" style="width:10%">Keterangan</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody style="page-break-inside: avoid;">
@if (count($data['DataPinjaman'])>0 OR count($data['DataRK'])>0 OR count($data['DataAnjak']) > 0 ) @if (count($data['DataPinjaman'])>0 OR count($data['DataRK'])>0 OR $data['totalOutstanding'] != '' )
@if (count($data['DataPinjaman'])>0) @if (count($data['DataPinjaman'])>0)
@php $i=1; @php $i=1;
$saldo = ''; $saldo = '';
@ -243,7 +249,7 @@
@endforeach @endforeach
@endif @endif
@if (count($data['DataAnjak']) > 0) @if ($data['totalOutstanding'] != '')
@php @php
$no = 0; $no = 0;
if (count( $data['DataPinjaman']) > 0) { if (count( $data['DataPinjaman']) > 0) {
@ -254,20 +260,17 @@
$no = 1; $no = 1;
} }
@endphp @endphp
@foreach ($data['DataAnjak'] as $ajk => $anjak)
<tr class="space1"> <tr class="space1">
<td class="text-center space1">{{ $no++ }}</td> <td class="text-center space1">{{ $no++ }}</td>
<td class="space1">{{ $anjak['PRODUCT_LOAN'] }}</td> <td class="space1">ANJAK PIUTANG</td>
<td class="text-center space1 "></td> <td class="text-center space1 "></td>
<td class="text-center space1">{{ $anjak['LOAN_CCY'] }}</td> <td class="text-center space1"></td>
<td class="text-right space1">{{$anjak['OUTSTANDING']}}</td> <td class="text-right space1">{{$data['totalOutstanding']}}</td>
<td class="text-center space1">{{$anjak['TENOR']}} BLN</td> <td class="text-center space1"></td>
<td class="text-center space1">{{$anjak['CURRENT_INTEREST_RATE']}} %</td> <td class="text-center space1"></td>
<td class="text-center space1">{{$anjak['MATURITY_DATE']}}</td> <td class="text-center space1"></td>
<td class="text-center space1">{{ $anjak['ACCOUNT_NUMBER'] }}</td> <td class="text-center space1"></td>
</tr> </tr>
@endforeach
@endif @endif
@else @else
@ -281,7 +284,7 @@
<li>FASILITAS LAIN YANG DITERIMA OLEH NASABAH</li> <li>FASILITAS LAIN YANG DITERIMA OLEH NASABAH</li>
<li>POSISI : {{ $data['localDate'] }} </li> <li>POSISI : {{ $data['localDate'] }} </li>
</ul> </ul>
<table class="space1" style="width:100%;"> <table class="space1"style="width:100%; page-break-inside: avoid;">
<thead style="background-color: dimgrey"> <thead style="background-color: dimgrey">
<tr class="space1"> <tr class="space1">
<th class="text-center space1" style="width:5%">No</th> <th class="text-center space1" style="width:5%">No</th>
@ -295,7 +298,7 @@
<th class="text-center space1" style="width:10%">Keterangan</th> <th class="text-center space1" style="width:10%">Keterangan</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody style="page-break-inside: avoid;">
@if (count($data['DataFasilitas']) > 0 ) @if (count($data['DataFasilitas']) > 0 )
@php @php
$no = 0; $no = 0;