=========================================
filename : –
tested : SLiMS versi Meranti & Cendana
modified by : Ido Alit
add : Pembatasan Pinjaman Karena Terlambat
=========================================
Ini ia hasil oprekan Mas Ido Alit Cara Membuat Pembatasan Pinjaman Karena Terlambat di Slims berikut penuturannya :
Mari mengerutkan dahi sejenak, ahaha
Dari masalah diatas sanggup ditarik kesimpulan sebagai berikut.
Sekarang saatnya implementasinya di SLiMS
Yang diperlukan atau output dari implementasi ini adalalah :
Karena bukan aku yang mbuat SLiMS jadi aku tidak tau harus eksklusif menuju kemana peraturan ini dibuat, tapi tidak perlu putus asa, mari kita runtut alurnya :
1. Kasus ini terjadi dikala sirkulasi berjalan. lebih tepatnya dikala peminjaman koleksi.
- masuk sajian sirkulasi dan mulai transaksi baru.
- Arahkan kursor pada tab “peminjaman”, maka akan terlihat link dari tab tersebut.
2. Buka file diatas (/admin/modules/circulation/loan.php).
Setelah terbuka, kita cari deh form untuk menginput barcodenya.
Berikut ialah arahan form untu input barcode.
<form name="itemLoan" id="loanForm" action="circulation_action.php" method="post" style="display: inline;">
<?php echo __('Insert Item Code/Barcode'); ?> :
<input type="text" id="tempLoanID" name="tempLoanID" />
<input type="submit" value="<?php echo __('Loan'); ?>" class="btn btn-warning button" />
</form>
4. Setelah file circulation_action.php terbuka cari dimana tempLoanID dikirim. (gunakan kemudahan find (ctrl+f) dengan kata kunci tempLoanID) Yang jadi fokus ialah baris nomer 129 – 204. Kepanjangan kalau ditulis disini. 😉 Disitu terdapat beberapa settingan kalau sebuah statment tercapai, akan memunculkan alert menggunkan javascript.
5. Oke, mari kita tambahin alert kita. tambahkan arahan berikut sebelum statmen terakhir ” }else{ ” atau letakan pada baris 198.
} else if ($add == ITEM_LOAN_OVERDUE){
echo '<script type="text/javascript">';
echo 'alert(''.__('Maaf, buku pernah terlambat dikembalikan. Buku gres boleh dipinjam kembali sehabis 7 hari, terhitung dari tanggal pengembalian.').'');';
echo 'location.href = 'loan.php';';
echo '</script>';
Oke deh, klo sudah ditambahkan jangan lupa disimpan
6. Kode itu diatas belum sanggup berjalan alasannya ialah statmennya belum terpenuhi, kini kita buka file circulation_base_lib.inc.php (/admin/modules/circulation/circulation_base_lib.inc.php)
Tambahkan arahan berikut pada baris 39.
define('ITEM_LOAN_OVERDUE', 11);
Untuk mengecek keterlambatan, kita sanggup mengambil data dari tabel loan Tambahkan arahan berikut pada baris 166.
// if already overdue
$_overdue_q = $this->obj_db->query("SELECT (TO_DAYS(return_date)-TO_DAYS(due_date)), (TO_DAYS(DATE(NOW()))-TO_DAYS(return_date)) FROM loan AS L WHERE L.item_code='$str_item_code' AND L.is_lent=1 AND L.is_return=1 AND L.member_id='".$_SESSION['memberID']."' ORDER BY L.return_date DESC LIMIT 1");
if($_overdue_q->num_rows > 0){
$_overdue_d = $_overdue_q->fetch_row();
if($_overdue_d[0] > 0 && $_overdue_d[1] < 7){
return ITEM_LOAN_OVERDUE;
}
}
(TO_DAYS(return_date)-TO_DAYS(due_date)) => mengetahui terlambat atau tidak => tanggal dikembalikan dikurang tanggal harus kembali.
(TO_DAYS(DATE(NOW()))-TO_DAYS(return_date)) => data usang waktu dari tanggal dikembalikan => hari ini dikurangi tanggal dikembalikan.
$_overdue_d[0] > 0 => statment keterlambatan.
$_overdue_d[1] < 7 => statment menunggu 7 hari (jika ingin dipersingkat atau diperlama silahkan ganti angka 7 sesuai kebutuhan.
7. Simpan file dan silahken dicoba.
Semoga bermanfaat.
Sumber : http://slims.web.id/forum/viewtopic.php?f=23&t=597