Merged in feature/hapus-ansuran-v2 (pull request #308)
Feature/hapus ansuran v2
This commit is contained in:
@@ -11,15 +11,16 @@ class NotifikasiKelulusan implements ShouldBroadcast
|
|||||||
{
|
{
|
||||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||||
|
|
||||||
public $norujukan,$kelulusan,$siri,$komen,$teller;
|
public $norujukan,$kelulusan,$siri,$komen,$teller,$tagoperasi;
|
||||||
|
|
||||||
public function __construct($norujukan,$kelulusan,$siri,$komen,$teller)
|
public function __construct($norujukan,$kelulusan,$siri,$komen,$teller,$tagoperasi = null)
|
||||||
{
|
{
|
||||||
$this->norujukan = $norujukan;
|
$this->norujukan = $norujukan;
|
||||||
$this->kelulusan = $kelulusan;
|
$this->kelulusan = $kelulusan;
|
||||||
$this->siri = $siri;
|
$this->siri = $siri;
|
||||||
$this->komen = $komen;
|
$this->komen = $komen;
|
||||||
$this->teller = $teller;
|
$this->teller = $teller;
|
||||||
|
$this->tagoperasi = $tagoperasi;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function broadcastOn()
|
public function broadcastOn()
|
||||||
|
|||||||
@@ -65,12 +65,16 @@ class CustomersController extends Controller
|
|||||||
|
|
||||||
$customer_page = ($cawangan_info['version'] == 'v1') ? 'customers.v1.info' : 'customers.v2.info';
|
$customer_page = ($cawangan_info['version'] == 'v1') ? 'customers.v1.info' : 'customers.v2.info';
|
||||||
|
|
||||||
|
$getApprovalError = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/getApproval',[
|
||||||
|
'kodcaw' => $auth_user['cawangan'],
|
||||||
|
'teller' => $auth_user['name'],
|
||||||
|
])->json();
|
||||||
|
|
||||||
if($request->tebus_auto_tawarruq_berjaya === 'true'){
|
if($request->tebus_auto_tawarruq_berjaya === 'true'){
|
||||||
$request->session()->flash('activate_tab', 'SAG_baru');
|
$request->session()->flash('activate_tab', 'SAG_baru');
|
||||||
}
|
}
|
||||||
|
|
||||||
return view($customer_page,compact('cawangan_info','api_url','customer_info','bakilelong','rugilelong','min_komoditi','pekerjaan'));
|
return view($customer_page,compact('cawangan_info','api_url','customer_info','bakilelong','rugilelong','min_komoditi','pekerjaan','getApprovalError'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function search(Request $request){
|
public function search(Request $request){
|
||||||
|
|||||||
@@ -857,7 +857,11 @@ class GadaianController extends Controller
|
|||||||
'nilaimarhun' => $nilaimarhun,
|
'nilaimarhun' => $nilaimarhun,
|
||||||
'berat' => $berat,
|
'berat' => $berat,
|
||||||
'margin' => $percentpinj,
|
'margin' => $percentpinj,
|
||||||
'teller' => $auth_user['name']
|
'teller' => $auth_user['name'],
|
||||||
|
'komen' => $request->komen,
|
||||||
|
'status' => $request->status,
|
||||||
|
'ansuran' => $request->ansuran,
|
||||||
|
'tagoperasi' => ($request->tagoperasi) ? $request->tagoperasi : 0,
|
||||||
])->json();
|
])->json();
|
||||||
|
|
||||||
event(new StatusLiked($auth_user['cawangan'],$auth_user['name']));
|
event(new StatusLiked($auth_user['cawangan'],$auth_user['name']));
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Services\CustomerService;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use PDO;
|
||||||
|
|
||||||
|
class HapusAnsuranController extends Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createApproval(Request $request)
|
||||||
|
{
|
||||||
|
$auth_user = Auth::user();
|
||||||
|
$api_url = config('api.url');
|
||||||
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
||||||
|
|
||||||
|
$norujukan = $request->norujukan;
|
||||||
|
$komen = $request->komen;
|
||||||
|
$marg = $request->margin;
|
||||||
|
$ber = $request->berat;
|
||||||
|
$nm = $request->nilaimarhun;
|
||||||
|
$status = $request->status;
|
||||||
|
$jumpinjam = $request->jumpinjam;
|
||||||
|
$teller = $request->teller;
|
||||||
|
$ansuran = $request->ansuran;
|
||||||
|
|
||||||
|
// Get the approval data
|
||||||
|
$approvalData = Http::withOptions(['verify' => config('app.api_verify')])
|
||||||
|
->get($api_url . '/api/hapusansuran/create', [
|
||||||
|
'cawangan' => $auth_user['cawangan'],
|
||||||
|
"norujukan" => $norujukan,
|
||||||
|
"komen" => $komen,
|
||||||
|
"margin" => $marg,
|
||||||
|
"berat" => $ber,
|
||||||
|
"nilaimarhun" => $nm,
|
||||||
|
"status" => $status,
|
||||||
|
"jumpinjam" => $jumpinjam,
|
||||||
|
"teller" => $teller,
|
||||||
|
"ansuran" => $ansuran,
|
||||||
|
])
|
||||||
|
->json();
|
||||||
|
|
||||||
|
if (isset($approvalData['status']) && $approvalData['status'] === 'success') {
|
||||||
|
Session::flash('success', 'Kelulusan berjaya dibuat.');
|
||||||
|
return redirect()->route('operasi.kelulusan');
|
||||||
|
} else {
|
||||||
|
Session::flash('error', 'Gagal membuat kelulusan. Sila cuba lagi.');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -575,15 +575,9 @@ class KhazanahController extends Controller
|
|||||||
{
|
{
|
||||||
$auth_user = Auth::user();
|
$auth_user = Auth::user();
|
||||||
|
|
||||||
$api_url = config('api.url');
|
|
||||||
|
|
||||||
$norujukan = $request->norujukan;
|
$norujukan = $request->norujukan;
|
||||||
$pelulus = $request->pelulus;
|
$pelulus = $request->pelulus;
|
||||||
|
|
||||||
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
||||||
|
|
||||||
$getlulus = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/GetLulus/'. $auth_user['cawangan'],['norujukan' => $norujukan])->json();
|
|
||||||
|
|
||||||
if($request->khazanah != null)
|
if($request->khazanah != null)
|
||||||
{
|
{
|
||||||
if($request->batal != null)
|
if($request->batal != null)
|
||||||
@@ -592,22 +586,32 @@ class KhazanahController extends Controller
|
|||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/kepohonan/' . $auth_user['cawangan'] . '/' . $norujukan,[
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/kepohonan/' . $auth_user['cawangan'] . '/' . $norujukan,[
|
||||||
"pembatalan" => $request->batal,
|
"pembatalan" => $request->batal,
|
||||||
"komen" => $request->komenubahhapus,
|
"komen" => $request->komenubahhapus,
|
||||||
"khazanah" => $request->khazanah
|
"khazanah" => $request->khazanah,
|
||||||
|
"recno" => isset($request->recno) ? $request->recno : null,
|
||||||
])->json();
|
])->json();
|
||||||
|
|
||||||
if($updatelulus)
|
if($updatelulus)
|
||||||
{
|
{
|
||||||
event(new NotifikasiUbahHapus($norujukan,"batal",$request->komenubahhapus,$request->teller));
|
if(isset($request->tagoperasi) && $request->tagoperasi == 1){
|
||||||
|
event(new NotifikasiKelulusan($norujukan,"batal",$request->recno,$request->komenubahhapus,$request->teller));
|
||||||
|
}else{
|
||||||
|
event(new NotifikasiUbahHapus($norujukan,"batal",$request->komenubahhapus,$request->teller));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/kepohonan/' . $auth_user['cawangan'] . '/' . $norujukan,[
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/kepohonan/' . $auth_user['cawangan'] . '/' . $norujukan,[
|
||||||
"khazanah" => $request->khazanah
|
"khazanah" => $request->khazanah,
|
||||||
|
"recno" => isset($request->recno) ? $request->recno : null,
|
||||||
])->json();
|
])->json();
|
||||||
|
|
||||||
if($updatelulus)
|
if($updatelulus)
|
||||||
{
|
{
|
||||||
event(new NotifikasiUbahHapus($norujukan,"lulus","tiada",$request->teller));
|
if(isset($request->tagoperasi) && $request->tagoperasi == 1){
|
||||||
|
event(new NotifikasiKelulusan($norujukan,"lulus",$request->recno,$request->komenubahhapus,$request->teller,1));
|
||||||
|
}else{
|
||||||
|
event(new NotifikasiUbahHapus($norujukan,"lulus","tiada",$request->teller));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ use Illuminate\Support\Facades\Hash;
|
|||||||
|
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class OperasiController extends Controller
|
class OperasiController extends Controller
|
||||||
{
|
{
|
||||||
@@ -40,6 +41,11 @@ class OperasiController extends Controller
|
|||||||
{
|
{
|
||||||
array_push($arraykelulusan,["cawangan" => $lulus['cawangan'], "cawangankod" => $lulus['cawangankod'],"namateller" => $kel['teller'], 'siri' => $kel['siri'] , "norujukan" => $kel['norujukan'], 'pinjaman' => $kel['jumpinj'],'komen' => $kel['komen'], 'nilaimarhun' => ($kel['nilaimarhun'] ?? '-'), 'berat' => ($kel['berat'] ?? '-'),'margin' => ($kel['margin'] ?? '-'), 'status' => ($kel['status'] ?? '-'), 'pelulus' => $kel['pelulus']]);
|
array_push($arraykelulusan,["cawangan" => $lulus['cawangan'], "cawangankod" => $lulus['cawangankod'],"namateller" => $kel['teller'], 'siri' => $kel['siri'] , "norujukan" => $kel['norujukan'], 'pinjaman' => $kel['jumpinj'],'komen' => $kel['komen'], 'nilaimarhun' => ($kel['nilaimarhun'] ?? '-'), 'berat' => ($kel['berat'] ?? '-'),'margin' => ($kel['margin'] ?? '-'), 'status' => ($kel['status'] ?? '-'), 'pelulus' => $kel['pelulus']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach($lulus['kelulusanMohonid'] as $index=>$mohon)
|
||||||
|
{
|
||||||
|
array_push($arraykelulusan,["mohonid" => true,"ansuran" => $mohon['ansuran'],"cawangan" => $lulus['cawangan'], "cawangankod" => $lulus['cawangankod'],"namateller" => $mohon['teller'], 'recno' => $mohon['recno'] , "norujukan" => $mohon['norujukan'], 'pinjaman' => $mohon['pinjaman'],'komen' => $mohon['katalaluan'], 'nilaimarhun' => ($mohon['nilaimarhun'] ?? '-'), 'berat' => ($mohon['berat'] ?? '-'),'margin' => ($mohon['margin'] ?? '-'), 'status' => ($mohon['mohon'] ?? '-')]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -80,16 +86,27 @@ class OperasiController extends Controller
|
|||||||
|
|
||||||
if($request->pembatalan == null)
|
if($request->pembatalan == null)
|
||||||
{
|
{
|
||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
if(!$request->taglulus){
|
||||||
"komen" => $request->komenkelulusan,
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
||||||
'siri' => $request->siri
|
"komen" => $request->komenkelulusan,
|
||||||
])->json();
|
'siri' => $request->siri
|
||||||
|
])->json();
|
||||||
|
|
||||||
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
||||||
|
'sahkan' => 1,
|
||||||
|
'namaoperasi' => $request->namaoperasi,
|
||||||
|
'siri' => $request->siri
|
||||||
|
])->json();
|
||||||
|
}else{
|
||||||
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateHapusAnsuran',[
|
||||||
|
'siri' => $request->siri,
|
||||||
|
"kodcaw" => $request->kodcaw,
|
||||||
|
"norujukan" => $request->norujukan,
|
||||||
|
'namaoperasi' => $request->namaoperasi,
|
||||||
|
'sahkan' => 1,
|
||||||
|
])->json();
|
||||||
|
}
|
||||||
|
|
||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
|
||||||
'sahkan' => 1,
|
|
||||||
'namaoperasi' => $request->namaoperasi,
|
|
||||||
'siri' => $request->siri
|
|
||||||
])->json();
|
|
||||||
|
|
||||||
if($updatelulus)
|
if($updatelulus)
|
||||||
{
|
{
|
||||||
@@ -98,16 +115,26 @@ class OperasiController extends Controller
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
if(!$request->taglulus){
|
||||||
"komen" => $request->komenkelulusan,
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
||||||
'siri' => $request->siri
|
"komen" => $request->komenkelulusan,
|
||||||
])->json();
|
'siri' => $request->siri
|
||||||
|
])->json();
|
||||||
|
|
||||||
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
||||||
'sahkan' => 2,
|
'sahkan' => 2,
|
||||||
'namaoperasi' => $request->namaoperasi,
|
'namaoperasi' => $request->namaoperasi,
|
||||||
'siri' => $request->siri
|
'siri' => $request->siri
|
||||||
])->json();
|
])->json();
|
||||||
|
}else{
|
||||||
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateHapusAnsuran',[
|
||||||
|
'siri' => $request->siri,
|
||||||
|
"kodcaw" => $request->kodcaw,
|
||||||
|
"norujukan" => $request->norujukan,
|
||||||
|
'namaoperasi' => $request->namaoperasi,
|
||||||
|
'sahkan' => 2,
|
||||||
|
])->json();
|
||||||
|
}
|
||||||
|
|
||||||
if($updatelulus)
|
if($updatelulus)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
@include('modal.historytebus')
|
@include('modal.historytebus')
|
||||||
@include('modal.wakil')
|
@include('modal.wakil')
|
||||||
|
@include('errors.alert', ['errorapproval' => $getApprovalError ?? null])
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-12 col-lg-12">
|
<div class="col-md-12 col-lg-12">
|
||||||
@@ -264,7 +265,7 @@
|
|||||||
<button class="btn btn-primary" onclick="ubahfunc(this)" id="button-edit-gadaian">Ubah</button>
|
<button class="btn btn-primary" onclick="ubahfunc(this)" id="button-edit-gadaian">Ubah</button>
|
||||||
<button class="btn btn-primary" onclick="hapusfunc()">Hapus</button>
|
<button class="btn btn-primary" onclick="hapusfunc()">Hapus</button>
|
||||||
<button class="btn btn-primary" onclick="histfunc()">Rekod Pembiayaan</button>
|
<button class="btn btn-primary" onclick="histfunc()">Rekod Pembiayaan</button>
|
||||||
{{-- <button class="btn btn-primary" onclick="removeansuran(this)" id="button-remove-ansuran">Hapus Ansuran</button> --}}
|
<button class="btn btn-primary" onclick="removeansuran(this)" id="button-remove-ansuran">Hapus Ansuran</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -2777,7 +2778,7 @@
|
|||||||
|
|
||||||
|
|
||||||
try{
|
try{
|
||||||
let response = await getKelulusanKhazanahOperasi('Hapus Ansuran',ansid);
|
let response = await getKelulusanKhazanahOperasi('Hapus Ansuran',ansid,ansuranlatest);
|
||||||
let pusherresponse = await PusherResponse(ansid,response,ansuranlatest['created_at'],ansuranlatest['id']);
|
let pusherresponse = await PusherResponse(ansid,response,ansuranlatest['created_at'],ansuranlatest['id']);
|
||||||
|
|
||||||
}catch(error){
|
}catch(error){
|
||||||
@@ -2797,7 +2798,7 @@
|
|||||||
.then(response => response[0][0]);
|
.then(response => response[0][0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getKelulusanKhazanahOperasi(textstatus = 'none',norujukan){
|
async function getKelulusanKhazanahOperasi(textstatus = 'none',norujukan,ansuranlatest = null){
|
||||||
|
|
||||||
const swalWithBootstrapButtons = Swal.mixin({
|
const swalWithBootstrapButtons = Swal.mixin({
|
||||||
customClass: {
|
customClass: {
|
||||||
@@ -2826,8 +2827,31 @@
|
|||||||
let marg = gadai.percentpinj;
|
let marg = gadai.percentpinj;
|
||||||
let status = textstatus;
|
let status = textstatus;
|
||||||
let jumpinjam = gadai.pinjaman;
|
let jumpinjam = gadai.pinjaman;
|
||||||
|
let ansuran = ansuranlatest ? ansuranlatest['bakihargajualan'] - gadai.bakihargajualan : 0;
|
||||||
let teller = "{{ Auth::user()->name }}";
|
let teller = "{{ Auth::user()->name }}";
|
||||||
|
|
||||||
|
|
||||||
|
let comment = Swal.fire({
|
||||||
|
title: 'Sila Masukkan Komen',
|
||||||
|
input: 'text',
|
||||||
|
inputPlaceholder: 'Komen',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: 'Hantar',
|
||||||
|
cancelButtonText: 'Batal',
|
||||||
|
allowOutsideClick: false,
|
||||||
|
allowEscapeKey: false,
|
||||||
|
inputValidator: (value) => {
|
||||||
|
if (!value) {
|
||||||
|
return 'Sila masukkan komen!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let komen = await comment.then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
return result.value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
||||||
icon: 'info',
|
icon: 'info',
|
||||||
@@ -2845,18 +2869,21 @@
|
|||||||
|
|
||||||
let requestdata = {
|
let requestdata = {
|
||||||
"_token": "{{ csrf_token() }}",
|
"_token": "{{ csrf_token() }}",
|
||||||
|
"mohon" : "Hapus Ansuran",
|
||||||
"norujukan" : norujukan,
|
"norujukan" : norujukan,
|
||||||
"komen" : '',
|
"komen" : komen,
|
||||||
"margin" : marg,
|
"margin" : marg,
|
||||||
"berat" : ber,
|
"berat" : ber,
|
||||||
"nilaimarhun" : nm,
|
"nilaimarhun" : nm,
|
||||||
"status" : status,
|
"status" : status,
|
||||||
"jumpinjam" : jumpinjam,
|
"jumpinjam" : jumpinjam,
|
||||||
"teller" : teller
|
"teller" : teller,
|
||||||
|
"ansuran" : ansuran,
|
||||||
|
"tagoperasi" : 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
siricreated = await fetch("{{ route('operasi.createkelulusan') }}",{
|
siricreated = await fetch("{{ route('teller.createkelulusan') }}",{
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
@@ -2866,7 +2893,7 @@
|
|||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(response => {return response});
|
.then(response => {return response});
|
||||||
|
|
||||||
return siricreated;
|
return siricreated;
|
||||||
|
|
||||||
}else if (result.dismiss === Swal.DismissReason.cancel){
|
}else if (result.dismiss === Swal.DismissReason.cancel){
|
||||||
console.log('gagal');
|
console.log('gagal');
|
||||||
@@ -2891,12 +2918,14 @@
|
|||||||
encrypted: true
|
encrypted: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
let recno = (siricreated && typeof siricreated === 'object' && 'id' in siricreated) ? siricreated['id'] : siricreated;
|
||||||
let teller = "{{ Auth::user()->name }}";
|
let teller = "{{ Auth::user()->name }}";
|
||||||
let kodcaw = "{{ Auth::user()->cawangan }}";
|
let kodcaw = "{{ Auth::user()->cawangan }}";
|
||||||
var channel = pusher.subscribe('notice-kelulusan');
|
var channel = pusher.subscribe('notice-kelulusan');
|
||||||
channel.bind('my-kelulusan', function(data) {
|
channel.bind('my-kelulusan', function(data) {
|
||||||
|
console.log(data,siricreated,teller,norujukan);
|
||||||
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
if(data.norujukan == norujukan && data.siri == recno && data.teller == teller && data.tagoperasi == null)
|
||||||
{
|
{
|
||||||
if(data.kelulusan == 'lulus')
|
if(data.kelulusan == 'lulus')
|
||||||
{
|
{
|
||||||
@@ -2905,6 +2934,7 @@
|
|||||||
title: 'Telah Disahkan',
|
title: 'Telah Disahkan',
|
||||||
text: `Komen : ${data.komen}`
|
text: `Komen : ${data.komen}`
|
||||||
}).then(function(){
|
}).then(function(){
|
||||||
|
console.log("delete ansuran",tarikh,kodcaw,norujukan,tg_id);
|
||||||
deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id);
|
deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
@if($errorapproval)
|
||||||
|
<script>
|
||||||
|
|
||||||
|
let jenis = "{{ $errorapproval['mohon'] }}";
|
||||||
|
|
||||||
|
if(jenis == 'Hapus Ansuran'){
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
||||||
|
icon: 'info',
|
||||||
|
width: 600,
|
||||||
|
padding: '3em',
|
||||||
|
background: '#fffff',
|
||||||
|
showCancelButton: false,
|
||||||
|
showConfirmButton: false,
|
||||||
|
allowOutsideClick: false,
|
||||||
|
allowEscapeKey: false,
|
||||||
|
allowEnterKey: false
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Tunggu Pengesahan Daripada Khazanah.',
|
||||||
|
icon: 'info',
|
||||||
|
width: 600,
|
||||||
|
padding: '3em',
|
||||||
|
background: '#fffff',
|
||||||
|
showCancelButton: false,
|
||||||
|
showConfirmButton: false,
|
||||||
|
allowOutsideClick: false,
|
||||||
|
allowEscapeKey: false,
|
||||||
|
allowEnterKey: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
getPusherResponse();
|
||||||
|
|
||||||
|
async function getPusherResponse(){
|
||||||
|
let api_url = "<?php echo $api_url ?>";
|
||||||
|
const jsonData = {
|
||||||
|
norujukan: "{{ $errorapproval['norujukan'] }}",
|
||||||
|
kodcaw: "{{ Auth::user()->cawangan }}",
|
||||||
|
};
|
||||||
|
|
||||||
|
const queryString = new URLSearchParams(jsonData).toString();
|
||||||
|
|
||||||
|
let ansuranlatest = await fetch(api_url + '/admin/ansuran/getLatest?' + queryString)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(response => {return response});
|
||||||
|
|
||||||
|
try{
|
||||||
|
let pusherresponse = await PusherResponse("{{ $errorapproval['norujukan'] }}","{{ $errorapproval['recno'] }}",ansuranlatest['created_at'],ansuranlatest['id']);
|
||||||
|
|
||||||
|
}catch(error){
|
||||||
|
console.error("Error:", error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
@@ -112,11 +112,12 @@
|
|||||||
<th>No Rujukan</th>
|
<th>No Rujukan</th>
|
||||||
<th>Teller</th>
|
<th>Teller</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Nilai Pembiayaan (RM)</th>
|
<th width="10%">Nilai Pembiayaan (RM)</th>
|
||||||
<th>Nilai Marhun (RM)</th>
|
<th width="10%">Ansuran (RM)</th>
|
||||||
<th>Berat</th>
|
<th width="10%">Nilai Marhun (RM)</th>
|
||||||
<th>Margin</th>
|
<th width="10%">Berat</th>
|
||||||
<th>Tindakan</th>
|
<th width="10%">Margin</th>
|
||||||
|
<th width="10%">Tindakan</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -133,6 +134,7 @@
|
|||||||
<td>{{ $k['teller'] }}</td>
|
<td>{{ $k['teller'] }}</td>
|
||||||
<td>{{ $k['status'] }}</td>
|
<td>{{ $k['status'] }}</td>
|
||||||
<td>{{ Helper::formatNumber($k['jumpinj']) }}</td>
|
<td>{{ Helper::formatNumber($k['jumpinj']) }}</td>
|
||||||
|
<td></td>
|
||||||
<td>{{ Helper::formatNumber($k['nilaimarhun']) }}</td>
|
<td>{{ Helper::formatNumber($k['nilaimarhun']) }}</td>
|
||||||
<td>{{ $k['berat'] }}</td>
|
<td>{{ $k['berat'] }}</td>
|
||||||
<td>{{ $k['margin'] }}</td>
|
<td>{{ $k['margin'] }}</td>
|
||||||
@@ -141,11 +143,12 @@
|
|||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
@foreach($kelulusanmohonid as $index=>$km)
|
@foreach($kelulusanmohonid as $index=>$km)
|
||||||
<tr>
|
<tr data-recno="{{ $km['recno'] }}" data-tagoperasi = "{{ $km['tagoperasi'] }}">
|
||||||
<td><a href="#" data-toggle="modal" data-target="#kelulusanmodal" data-norujukan="{{ $km['norujukan'] }}">{{ $km['norujukan'] }} </a></td>
|
<td><a href="#" data-toggle="modal" data-target="#kelulusanmodal" data-norujukan="{{ $km['norujukan'] }}">{{ $km['norujukan'] }} </a></td>
|
||||||
<td>{{ $km['teller'] }}</td>
|
<td>{{ $km['teller'] }}</td>
|
||||||
<td>{{ $km['mohon'] }}</td>
|
<td>{{ $km['mohon'] }}</td>
|
||||||
<td>{{ Helper::formatNumber($km['pinjaman']) }}</td>
|
<td>{{ Helper::formatNumber($km['pinjaman']) }}</td>
|
||||||
|
<td>{{ Helper::formatNumber($km['ansuran']) }}</td>
|
||||||
<td>{{ Helper::formatNumber($km['nilaimarhun']) }}</td>
|
<td>{{ Helper::formatNumber($km['nilaimarhun']) }}</td>
|
||||||
<td>{{ $km['berat'] }}</td>
|
<td>{{ $km['berat'] }}</td>
|
||||||
<td>{{ $km['margin'] }}</td>
|
<td>{{ $km['margin'] }}</td>
|
||||||
@@ -514,6 +517,8 @@
|
|||||||
let norujukan = $(e).data('norujukan');
|
let norujukan = $(e).data('norujukan');
|
||||||
let teller = $(e).closest('tr').children('td:eq(1)').text();
|
let teller = $(e).closest('tr').children('td:eq(1)').text();
|
||||||
let namakhazanah = "{{ $auth_user = Auth::user()->name }}";
|
let namakhazanah = "{{ $auth_user = Auth::user()->name }}";
|
||||||
|
let recno = $(e).closest('tr').data('recno');
|
||||||
|
let tagoperasi = $(e).closest('tr').data('tagoperasi');
|
||||||
|
|
||||||
teller = String(teller);
|
teller = String(teller);
|
||||||
|
|
||||||
@@ -524,7 +529,9 @@
|
|||||||
"_token": "{{ csrf_token() }}",
|
"_token": "{{ csrf_token() }}",
|
||||||
"norujukan" : norujukan,
|
"norujukan" : norujukan,
|
||||||
"khazanah" : namakhazanah,
|
"khazanah" : namakhazanah,
|
||||||
'teller' : teller
|
'teller' : teller,
|
||||||
|
"recno" : recno,
|
||||||
|
"tagoperasi" : tagoperasi,
|
||||||
},
|
},
|
||||||
success:function(data){
|
success:function(data){
|
||||||
|
|
||||||
@@ -593,6 +600,8 @@
|
|||||||
let norujukan = $(e).data('norujukan');
|
let norujukan = $(e).data('norujukan');
|
||||||
let namakhazanah = "{{ $auth_user = Auth::user()->name }}";
|
let namakhazanah = "{{ $auth_user = Auth::user()->name }}";
|
||||||
let teller = $(e).closest('tr').children('td:eq(1)').text();
|
let teller = $(e).closest('tr').children('td:eq(1)').text();
|
||||||
|
let recno = $(e).closest('tr').data('recno');
|
||||||
|
let tagoperasi = $(e).closest('tr').data('tagoperasi');
|
||||||
|
|
||||||
teller = String(teller);
|
teller = String(teller);
|
||||||
|
|
||||||
@@ -605,7 +614,9 @@
|
|||||||
"khazanah" : namakhazanah,
|
"khazanah" : namakhazanah,
|
||||||
"komenubahhapus" : komenkelulusan,
|
"komenubahhapus" : komenkelulusan,
|
||||||
"batal" : 'batal',
|
"batal" : 'batal',
|
||||||
'teller' : teller
|
'teller' : teller,
|
||||||
|
"recno" : recno,
|
||||||
|
"tagoperasi" : tagoperasi
|
||||||
|
|
||||||
},
|
},
|
||||||
success:function(data){
|
success:function(data){
|
||||||
|
|||||||
@@ -126,37 +126,7 @@
|
|||||||
var audio = new Audio("{{ asset('sound/3.wav') }}");
|
var audio = new Audio("{{ asset('sound/3.wav') }}");
|
||||||
audio.muted = true;
|
audio.muted = true;
|
||||||
|
|
||||||
// Enable pusher logging - don't include this in production
|
const Toast = Swal.mixin({
|
||||||
Pusher.logToConsole = false;
|
|
||||||
|
|
||||||
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
||||||
cluster: 'ap1',
|
|
||||||
encrypted: true
|
|
||||||
});
|
|
||||||
|
|
||||||
var channel = pusher.subscribe('operasi-notify');
|
|
||||||
channel.bind('operasi-event', function(data) {
|
|
||||||
let message = JSON.stringify(data);
|
|
||||||
|
|
||||||
$('#bell').css("color", "red");
|
|
||||||
$('#linkz').text(data.namateller + " Pohon Kelulusan");
|
|
||||||
$("#linkz").attr("href", "{{ url('kelulusan') }}");
|
|
||||||
|
|
||||||
if(window.location.pathname === '/operasi/kelulusan')
|
|
||||||
{
|
|
||||||
location.reload();
|
|
||||||
}else{
|
|
||||||
audio.play();
|
|
||||||
audio.muted = false;
|
|
||||||
var countlagu = 1;
|
|
||||||
audio.onended = function() {
|
|
||||||
if(countlagu <= 3){
|
|
||||||
countlagu++;
|
|
||||||
this.play();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const Toast = Swal.mixin({
|
|
||||||
toast: true,
|
toast: true,
|
||||||
position: 'top-end',
|
position: 'top-end',
|
||||||
showConfirmButton: false,
|
showConfirmButton: false,
|
||||||
@@ -166,7 +136,67 @@
|
|||||||
toast.addEventListener('mouseenter', Swal.stopTimer)
|
toast.addEventListener('mouseenter', Swal.stopTimer)
|
||||||
toast.addEventListener('mouseleave', Swal.resumeTimer)
|
toast.addEventListener('mouseleave', Swal.resumeTimer)
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
|
// Enable pusher logging - don't include this in production
|
||||||
|
Pusher.logToConsole = false;
|
||||||
|
|
||||||
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
||||||
|
cluster: 'ap1',
|
||||||
|
encrypted: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var kelulusanhapus = pusher.subscribe('notice-kelulusan');
|
||||||
|
kelulusanhapus.bind('my-kelulusan', function(data) {
|
||||||
|
if(data.tagoperasi == 1){
|
||||||
|
let message = JSON.stringify(data);
|
||||||
|
|
||||||
|
$('#bell').css("color", "red");
|
||||||
|
$('#linkz').text(data.namateller + " Pohon Kelulusan Dihapuskan");
|
||||||
|
$("#linkz").attr("href", "{{ url('kelulusan') }}");
|
||||||
|
if(window.location.pathname === '/operasi/kelulusan')
|
||||||
|
location.reload();
|
||||||
|
else{
|
||||||
|
audio.play();
|
||||||
|
audio.muted = false;
|
||||||
|
var countlagu = 1;
|
||||||
|
audio.onended = function() {
|
||||||
|
if(countlagu <= 3){
|
||||||
|
countlagu++;
|
||||||
|
this.play();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Toast.fire({
|
||||||
|
icon: 'info',
|
||||||
|
title: 'Kelulusan Dipohon Sekarang!'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var channel = pusher.subscribe('operasi-notify');
|
||||||
|
channel.bind('operasi-event', function(data) {
|
||||||
|
let message = JSON.stringify(data);
|
||||||
|
|
||||||
|
$('#bell').css("color", "red");
|
||||||
|
$('#linkz').text(data.namateller + " Pohon Kelulusan");
|
||||||
|
$("#linkz").attr("href", "{{ url('kelulusan') }}");
|
||||||
|
|
||||||
|
if(window.location.pathname === '/operasi/kelulusan')
|
||||||
|
{
|
||||||
|
location.reload();
|
||||||
|
}else{
|
||||||
|
audio.play();
|
||||||
|
audio.muted = false;
|
||||||
|
var countlagu = 1;
|
||||||
|
audio.onended = function() {
|
||||||
|
if(countlagu <= 3){
|
||||||
|
countlagu++;
|
||||||
|
this.play();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Toast.fire({
|
Toast.fire({
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="container">
|
<div class="container col-12">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
@@ -113,6 +113,7 @@
|
|||||||
<th>Komen</th>
|
<th>Komen</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Nilai Pembiayaan</th>
|
<th>Nilai Pembiayaan</th>
|
||||||
|
<th>Ansuran</th>
|
||||||
<th>Nilai Marhun</th>
|
<th>Nilai Marhun</th>
|
||||||
<th>Berat</th>
|
<th>Berat</th>
|
||||||
<th>Margin</th>
|
<th>Margin</th>
|
||||||
@@ -128,11 +129,16 @@
|
|||||||
<th>{{ $k['komen'] }}</th>
|
<th>{{ $k['komen'] }}</th>
|
||||||
<td>{{ $k['status'] }}</td>
|
<td>{{ $k['status'] }}</td>
|
||||||
<td>{{ number_format($k['pinjaman'],2) }}</td>
|
<td>{{ number_format($k['pinjaman'],2) }}</td>
|
||||||
|
@if(isset($k['ansuran']) && $k['ansuran'] != 0)
|
||||||
|
<td>{{ number_format($k['ansuran'],2) }}</td>
|
||||||
|
@else
|
||||||
|
<td></td>
|
||||||
|
@endif
|
||||||
<td>{{ $k['nilaimarhun'] }}</td>
|
<td>{{ $k['nilaimarhun'] }}</td>
|
||||||
<td>{{ $k['berat'] }}</td>
|
<td>{{ $k['berat'] }}</td>
|
||||||
<td>{{ $k['margin'] }}</td>
|
<td>{{ $k['margin'] }}</td>
|
||||||
<td><button class="btn btn-primary mr-2" onclick="updatelulus(this)" data-kodcaw="{{ $k['cawangankod'] }}" data-pelulus="{{ $k['pelulus'] }}" data-norujukan="{{ $k['norujukan'] }}" data-siri="{{ $k['siri'] }}"><i class="fas fa-thumbs-up"></i></button>
|
<td><button class="btn btn-primary mr-2" onclick="updatelulus(this)" data-taglulus="{{ isset($k['mohonid']) ? true : false }}" data-kodcaw="{{ $k['cawangankod'] }}" data-norujukan="{{ $k['norujukan'] }}" data-siri="{{ isset($k['siri']) ? $k['siri'] : $k['recno'] }}"><i class="fas fa-thumbs-up"></i></button>
|
||||||
<button class="btn btn-danger" onclick="updatebatal(this)" data-kodcaw="{{ $k['cawangankod'] }}" data-norujukan="{{ $k['norujukan'] }}" data-pelulus="{{ $k['pelulus'] }}" data-siri="{{ $k['siri'] }}" ><i class="fas fa-thumbs-down"></i></button></td>
|
<button class="btn btn-danger" onclick="updatebatal(this)" data-taglulus="{{ isset($k['mohonid']) ? true : false }}" data-kodcaw="{{ $k['cawangankod'] }}" data-norujukan="{{ $k['norujukan'] }}" data-siri="{{ isset($k['siri']) ? $k['siri'] : $k['recno'] }}" ><i class="fas fa-thumbs-down"></i></button></td>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -346,6 +352,7 @@
|
|||||||
let siri = $(e).data('siri');
|
let siri = $(e).data('siri');
|
||||||
let namaoperasi = "{{ Auth::user()->name }}";
|
let namaoperasi = "{{ Auth::user()->name }}";
|
||||||
let teller = $(e).closest('tr').children('td:eq(2)').text();
|
let teller = $(e).closest('tr').children('td:eq(2)').text();
|
||||||
|
let taglulus = $(e).data('taglulus');
|
||||||
|
|
||||||
teller = String(teller);
|
teller = String(teller);
|
||||||
|
|
||||||
@@ -354,6 +361,7 @@
|
|||||||
url: "{{ route('operasi.updatekelulusan') }}",
|
url: "{{ route('operasi.updatekelulusan') }}",
|
||||||
data: {
|
data: {
|
||||||
"_token": "{{ csrf_token() }}",
|
"_token": "{{ csrf_token() }}",
|
||||||
|
"taglulus" : taglulus,
|
||||||
"norujukan" : norujukan,
|
"norujukan" : norujukan,
|
||||||
"kodcaw" : cawangankod,
|
"kodcaw" : cawangankod,
|
||||||
"komenkelulusan" : komenkelulusan,
|
"komenkelulusan" : komenkelulusan,
|
||||||
|
|||||||
Reference in New Issue
Block a user