Block SAG refer to t_lelong table gadai instead of table lelong

This commit is contained in:
aiman
2025-11-13 11:27:25 +08:00
parent da06e1ff74
commit c50dbe6013
2 changed files with 208 additions and 70 deletions
+95 -32
View File
@@ -10,7 +10,7 @@
@include('modal.historytebus')
@include('modal.wakil')
@include('errors.alert', ['errorapproval' => $getApprovalError ?? null])
<div class="container">
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-12 col-lg-12">
<div class="card">
@@ -176,7 +176,7 @@
@endphp
<a class="nav-item nav-link {{ $activate_tab_SAG_baru }}" id="nav-tawarruq-tab" data-toggle="tab" href="#nav-tawarruq" role="tab" aria-controls="nav-tawarruq" aria-selected="{{ $aria_selected_SAG_baru }}">SAG Baru</a>
<a class="nav-item nav-link {{ $activate_tab_SAG_lama }}" " id="nav-xtawarruq-tab" data-toggle="tab" href="#nav-xtawarruq" role="tab" aria-controls="nav-xtawarruq" aria-selected="{{ $aria_selected_SAG_lama }}"><span id="textnavsag">SAG Lama</span></a>
<a class="nav-item nav-link {{ $activate_tab_SAG_lama }}" id="nav-xtawarruq-tab" data-toggle="tab" href="#nav-xtawarruq" role="tab" aria-controls="nav-xtawarruq" aria-selected="{{ $aria_selected_SAG_lama }}"><span id="textnavsag">SAG Lama</span></a>
</div>
</nav>
<div class="tab-content" id="navtawarruqdannottawarruq">
@@ -194,6 +194,7 @@
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
@@ -201,16 +202,6 @@
<div class="tab-pane fade {{ $activate_pane_SAG_lama }}" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
<table id="xtawarruq" class="table table-striped table-hover">
<thead class="thead-dark">
{{-- <tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Gadai</th>
<th>Tarikh Matang</th>
<th>Pembiayaan</th>
<th>Margin</th>
<th>Tempoh</th>
<th>Lelong</th>
</tr> --}}
<tr>
<th>Bil</th>
<th>No Rujukan</th>
@@ -222,6 +213,7 @@
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
@@ -243,6 +235,8 @@
</thead>
</table>
{{-- Lelong --}}
<table id="lelongTable" class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
@@ -634,6 +628,16 @@
var pinjaman = $(data).data("pinjaman");
var hargajualan = $(data).data("hargajualan");
var isBlocked = $(data).data("blocked");
if(isBlocked === true || isBlocked === "true"){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Sedang Dilelong'
});
return false;
}
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
@@ -860,6 +864,41 @@
}
function getPembayaranTerakhir(tarikhLelong)
{
if (!tarikhLelong || tarikhLelong === '') {
return { tarikh: '', blocked: false };
}
let lelongDate;
if (tarikhLelong.includes('-')) {
const parts = tarikhLelong.split('-');
if (parts[0].length === 4) {
lelongDate = new Date(tarikhLelong);
} else {
lelongDate = new Date(parts[2], parts[1] - 1, parts[0]);
}
}
let pembayaranTerakhir = new Date(lelongDate);
pembayaranTerakhir.setDate(pembayaranTerakhir.getDate() - 3);
let today = new Date();
today.setHours(0, 0, 0, 0);
pembayaranTerakhir.setHours(0, 0, 0, 0);
let isBlocked = today > pembayaranTerakhir;
let day = String(pembayaranTerakhir.getDate()).padStart(2, '0');
let month = String(pembayaranTerakhir.getMonth() + 1).padStart(2, '0');
let year = pembayaranTerakhir.getFullYear();
return {
tarikh: `${year}-${month}-${day}`,
blocked: isBlocked
};
}
function gadaiTable(data,jenistebus){
var counter = 1;
@@ -890,15 +929,7 @@
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
$.ajax({
method:"GET",
async:false,
url:api_arrahnbid + 'portalApi?norujukan=' + gadai_detail['norujukan'],
success: function(data){
taglel = data.lelong.t_lelong;
}
});
taglel = gadai_detail['t_lelong'];
} else {
$.ajax({
method:"GET",
@@ -919,7 +950,17 @@
if(gadai_detail["percentpinj"] != 0)
xtawarruq.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] +' name="belum"/>',
'<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
@@ -928,20 +969,23 @@
gadai_detail['tempoh'],
'RM '+ formatter.format(upahsemasa),
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}else{
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
$.ajax({
method:"GET",
async:false,
url:api_arrahnbid + 'portalApi?norujukan=' + gadai_detail['norujukan'],
success: function(data){
taglel = data.lelong.t_lelong;
}
});
if(gadai_detail['t_lelong'] != null){
taglel = gadai_detail['t_lelong'];
}
} else {
$.ajax({
method:"GET",
@@ -961,7 +1005,17 @@
let table_norujukan = gadai_detail["norujukan"];
tablegadai.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] +' name="belum"/>',
'<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
@@ -970,6 +1024,15 @@
gadai_detail['tempoh'],
'RM '+ formatter.format(upahsemasa['pendapatan']),
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}
}else if(jenistebus == "sudah_tebus"){
+113 -38
View File
@@ -13,7 +13,7 @@
@include('modal.agh')
<div class="container">
<div class="container col-12">
<div class="row justify-content-center">
<div class="col-md-12 col-lg-12">
<div class="card">
@@ -184,6 +184,7 @@
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
@@ -191,16 +192,6 @@
<div class="tab-pane fade {{ $activate_pane_SAG_lama }}" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
<table id="xtawarruq" class="table table-striped table-hover">
<thead class="thead-dark">
{{-- <tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Gadai</th>
<th>Tarikh Matang</th>
<th>Pembiayaan</th>
<th>Margin</th>
<th>Tempoh</th>
<th>Lelong</th>
</tr> --}}
<tr>
<th>Bil</th>
<th>No Rujukan</th>
@@ -212,6 +203,7 @@
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
@@ -233,6 +225,8 @@
</thead>
</table>
{{-- Lelong --}}
<table id="lelongTable" class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
@@ -514,7 +508,7 @@
});
var xtawarruq = $('#xtawarruq').DataTable({
"scrollX": false
"scrollX": true,
});
var tabledahtebus = $('#dahtebusTable').DataTable({
@@ -563,6 +557,26 @@
function checkserah(data){
var urlpenebusan = $(data).data("url");
var norujukan = $(data).data("norujukan");
var isBlocked = $(data).data("blocked");
if(isBlocked === true || isBlocked === "true"){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Sedang Dilelong'
});
return false;
}
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
allowOutsideClick: false,
didOpen: function () {
Swal.showLoading()
}
});
$.ajax({
method:'get',
url: api_url + '/api/check/serah/gadai',
@@ -585,14 +599,49 @@
});
}
function getPembayaranTerakhir(tarikhLelong)
{
if (!tarikhLelong || tarikhLelong === '') {
return { tarikh: '', blocked: false };
}
let lelongDate;
if (tarikhLelong.includes('-')) {
const parts = tarikhLelong.split('-');
if (parts[0].length === 4) {
lelongDate = new Date(tarikhLelong);
} else {
lelongDate = new Date(parts[2], parts[1] - 1, parts[0]);
}
}
let pembayaranTerakhir = new Date(lelongDate);
pembayaranTerakhir.setDate(pembayaranTerakhir.getDate() - 3);
let today = new Date();
today.setHours(0, 0, 0, 0);
pembayaranTerakhir.setHours(0, 0, 0, 0);
let isBlocked = today > pembayaranTerakhir;
let day = String(pembayaranTerakhir.getDate()).padStart(2, '0');
let month = String(pembayaranTerakhir.getMonth() + 1).padStart(2, '0');
let year = pembayaranTerakhir.getFullYear();
return {
tarikh: `${year}-${month}-${day}`,
blocked: isBlocked
};
}
function gadaiTable(data,jenistebus){
var counter = 1;
tablegadai.clear().draw();
tabledahtebus.clear().draw();
tablelelong.clear().draw();
xtawarruq.clear().draw();
$.each(data,function(index,gadai_detail){
var counter = 1;
tablegadai.clear().draw();
tabledahtebus.clear().draw();
tablelelong.clear().draw();
xtawarruq.clear().draw();
$.each(data,function(index,gadai_detail){
let jeniskeuntungan = (gadai_detail['tagbaru'] == 1) ? 'onepercent' : 'asal';
$.ajax({
method:'get',
@@ -616,15 +665,7 @@ $.each(data,function(index,gadai_detail){
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
$.ajax({
method:"GET",
async:false,
url:api_arrahnbid + 'portalApi?norujukan=' + gadai_detail['norujukan'],
success: function(data){
taglel = data.lelong.t_lelong;
}
});
taglel = gadai_detail['t_lelong'];
} else {
$.ajax({
method:"GET",
@@ -647,7 +688,18 @@ $.each(data,function(index,gadai_detail){
if(gadai_detail["percentpinj"] != 0)
xtawarruq.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] + ' name="belum"/>',
'<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
// '<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
@@ -656,20 +708,23 @@ $.each(data,function(index,gadai_detail){
gadai_detail['tempoh'],
'RM '+ upahsemasa,
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}else{
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
$.ajax({
method:"GET",
async:false,
url:api_arrahnbid + 'portalApi?norujukan=' + gadai_detail['norujukan'],
success: function(data){
taglel = data.lelong.t_lelong;
}
});
if(gadai_detail['t_lelong'] != null) {
taglel = gadai_detail['t_lelong'];
}
} else {
$.ajax({
method:"GET",
@@ -690,7 +745,18 @@ $.each(data,function(index,gadai_detail){
// let radio_action = "onclick=checkCanChangeGadaianDetail(" + "'" + table_norujukan + "'" + ")";
tablegadai.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] + ' name="belum"/>',
'<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
// '<a href="#" onclick="checkserah(this)" data-pinjaman='+ gadai_detail['pinjaman'] +' data-hargajualan='+ gadai_detail['hargajualan'] +' data-norujukan='+ gadai_detail['norujukan'] +' data-url=' + urlroute +'>' + gadai_detail['norujukan'] + '</a>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
@@ -699,6 +765,15 @@ $.each(data,function(index,gadai_detail){
gadai_detail['tempoh'],
'RM '+ upahsemasa['pendapatan'],
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}
}else if(jenistebus == "sudah_tebus"){