pick certain commits

This commit is contained in:
Hafifie PKB
2024-03-06 22:04:19 +08:00
parent e6cc3613bf
commit de32f6b13d
8 changed files with 2452 additions and 1424 deletions
+263 -28
View File
@@ -246,6 +246,7 @@
<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="histfunc()">Rekod Gadaian</button>
<button class="btn btn-primary" onclick="removeansuran(this)" id="button-remove-ansuran">Hapus Ansuran</button>
</div>
</div>
@@ -540,25 +541,13 @@
minimumFractionDigits: 2
});
function checkCanChangeGadaianDetail(norujukan){
function getGadaiByNorujukan(norujukan){
console.log(norujukan);
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan );
gadai_tawarruq
return gadai_tawarruq
.then(response => response.json())
.then(response => response[0][0])
.then(gadaian => {
return gadaian.historygadaian;
})
.then(historygadaian => {
let button_edit_gadaian = document.querySelector('#button-edit-gadaian');
if(historygadaian === '0' || historygadaian === null || historygadaian.length === 0) {
button_edit_gadaian.disabled = false;
return;
}
button_edit_gadaian.disabled = true;
})
.then(response => response[0][0]);
}
async function checkPS(norujukan){
@@ -569,12 +558,17 @@
.then(response => response.json())
.then(response => response[0][0])
.then(gadaian => {
return gadaian.historygadaian;
return { historygadaian: gadaian.historygadaian, tag_tebus: gadaian.tag_tebus };
})
.then(historygadaian => {
if(historygadaian == '0' || historygadaian === null || historygadaian.length === 0) {
.then(data => {
if(data.historygadaian == '0' || data.historygadaian === null || data.historygadaian.length === 0) {
return false;
}else{
if(data.tag_tebus == 'AT'){
return true;
}else{
return false;
}
}
return true;
@@ -1459,13 +1453,15 @@
break;
case 'A':
if(tebusaz['tagbaru'] == 1){
var urlroute = '{{ route("resit.ansuran", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
}else{
var urlroute = '{{ route("resit.belumansurans", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
}
// if(tebusaz['tagbaru'] == 1){
// var urlroute = '{{ route("resit.ansuran", ":id") }}';
// urlroute = urlroute.replace(':id', tebusaz['norujukan']);
// }else{
// var urlroute = '{{ route("resit.belumansurans", ":id") }}';
// urlroute = urlroute.replace(':id', tebusaz['norujukan']);
// }
var urlroute = '{{ route("resit.autotawarruq", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
break;
case 'S':
var urlroute = '{{ route("resit.tebusseparuh", ":id") }}';
@@ -1476,7 +1472,7 @@
historytebusbayaran.row.add([
counter,
tebusaz['norujukan'],
(checkps) ? 'PS' : tebusaz['jenistebus'],
(checkps && tebusaz['jenistebus'] == 'A') ? 'PS' : (tebusaz['jenistebus'] == 'A') ? 'PS' : tebusaz['jenistebus'],
tebusaz['pinjaman'],
tebusaz['jbg'],
tebusaz['t_tebus'],
@@ -2653,5 +2649,244 @@
});
});
async function removeansuran(event){
let ansid = $('input[name="belum"]:checked').val();
let harini = new Date();harini.setHours(0, 0, 0, 0);
if($("input[name='options']:checked").val() != 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Ansuran untuk Belum Tebus Sahaja!'
});
return false;
}
if(ansid == null && $("input[name='options']:checked").val() == 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return false;
}
const jsonData = {
norujukan: ansid,
kodcaw: 'KB2',
};
const queryString = new URLSearchParams(jsonData).toString();
let ansuranlatest = await fetch(api_url + '/admin/ansuran/getLatest?' + queryString)
.then(response => response.json())
.then(response => {return response});
if(Object.keys(ansuranlatest).length == 0){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Tiada Ansuran Hari Ini'
});
return false;
}
try{
let response = await getKelulusanKhazanahOperasi('Hapus Ansuran',ansid);
let pusherresponse = await PusherResponse(ansid,response,ansuranlatest['created_at'],ansuranlatest['id']);
}catch(error){
console.error("Error:", error);
}
}
function getGadaiByNorujukan(norujukan){
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan );
return gadai_tawarruq
.then(response => response.json())
.then(response => response[0][0]);
}
async function getKelulusanKhazanahOperasi(textstatus = 'none',norujukan){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
try{
let gadai = await getGadaiByNorujukan(norujukan);
let response = await swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Operasi',
text: textstatus,
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then(async (result) => {
if (result.isConfirmed) {
let norujukan = gadai.norujukan;
let nm = gadai.nilaimarhun;
let ber = gadai.berat;
let marg = gadai.percentpinj;
let status = textstatus;
let jumpinjam = gadai.pinjaman;
let teller = "{{ Auth::user()->name }}";
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
});
let siricreated = 0;
let requestdata = {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"komen" : '',
"margin" : marg,
"berat" : ber,
"nilaimarhun" : nm,
"status" : status,
"jumpinjam" : jumpinjam,
"teller" : teller
};
siricreated = await fetch("{{ route('operasi.createkelulusan') }}",{
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(requestdata)
})
.then(response => response.json())
.then(response => {return response});
return siricreated;
}else if (result.dismiss === Swal.DismissReason.cancel){
console.log('gagal');
swalWithBootstrapButtons.fire(
'Batal',
'Maklumat Ansuran Tidak Berjaya',
'error'
)
}
// return false;
});
return response;
}catch(error){
console.error(error);
}
}
function PusherResponse(norujukan,siricreated,tarikh,tg_id){
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
let teller = "{{ Auth::user()->name }}";
let kodcaw = "{{ Auth::user()->cawangan }}";
var channel = pusher.subscribe('notice-kelulusan');
channel.bind('my-kelulusan', function(data) {
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan',
text: `Komen : ${data.komen}`
}).then(function(){
deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id);
return true;
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Kelulusan Dibatalkan'
});
return false;
});
}
}
});
}
function deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id){
let jsondata = {
tarikh: tarikh,
kodcaw: kodcaw,
norujukan: norujukan,
tg_id: tg_id,
teller: "{{ Auth::user()->name }}"
};
try{
let updated = fetch(api_url + '/admin/ansuran/delete',{
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(jsondata)
})
.then(response => response.json())
.then(response => {
return response
});
Swal.fire({
icon: 'success',
title: 'Berjaya!',
text: `Hapus Ansuran Berjaya`
}).then(()=>{
location.reload();
});
}catch(error){
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: `Hapus Ansuran `
});
}
}
</script>
@endsection