-->

Senayan Slims - Cara Menciptakan Pembatasan Dukungan Alasannya Ialah Terlambat Di Slims

 =========================================
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 :

Terdapat sebuah kasus: sebuah buku telat dikembalikan, sudah dikirimi notifikasi email untuk segera dikembalikan, buku pun kembali, eh minta dipinjam lagi Kaprikornus apa gunanya notifikasi email buat dikembaliin klo boleh dipinjam eksklusif lagi? Sama aja peminjaman permanent. Terus klo yang lain pingin baca/pinjam buku tersebut juga bagaimana?

Kalo sanggup sih suruh nunggu dulu selama 7 hari gres boleh pinjam lagi dengan buku yang sama. Kali aja ada yang ingin membaca buku tersebut/ meminjamnya, jadi sanggup gantian. Sebenarnya sanggup sih kontrolnya dari pustakawan sendiri. Tapi kalo petugas sirkulasinya lupa atau beda petugas, jadi sanggup aja lolos itu orang. Nah dari pada bikin beban pustakawannya mending system aja yg mikir.

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 :

Saat peminjaman, barcode dimasukan pada form peminjaman, kalau statment masalah diatas terpenuhi, maka transaksi akan dihentikan, dengan memunculkan popup notifikasi (alert) yang berisi goresan pena "Maaf, buku pernah terlambat dikembalikan. Buku gres boleh dipinjam kembali sehabis 7 hari, terhitung dari tanggal pengembalian."

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>

3. Dari arahan diatas kita sanggup melihat,bahwa form tersebut akan mengirimkan data barcode dari tag input dengan nama "tempLoanID" menuju file yang ada dalam atribut "action", yaitu circulation_action.php. Silahken buka file tersebut(/admin/modules/circulation/circulation_action.php)

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
loading...

Berlangganan artikel terbaru via email (GERATIS):

0 Response to "Senayan Slims - Cara Menciptakan Pembatasan Dukungan Alasannya Ialah Terlambat Di Slims"

Post a Comment

Tata Tertib Berkomentar di Blog Assalam Link :
1. Kalimat/Kata-kata Tidak Mengandung Unsur (SARA).
2. Berkomentar Sesuai dengan Artikel Postingan.
3. Dilarang Keras Promosi Apapun Bentuk dan Jenisnya.
4. Link Aktif/Mati, Tidak Dipublikasikan dan Dianggap SPAM.
5. Ingat Semua Komentar Dimoderasi

Terimakasih Atas Pengertiannya.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Lihat Juga Di Sini & Terima Kasih Sudah Melihatnya
Loading...

Iklan Tengah Artikel 2

Iklan Bawah Artikel

Loading...