Goods Received Report (MRR)
Modul: mrr, di menu tampil sebagai Goods Received Report. Kode dan tabelnya menyebutnya MRR, Material Receiving Report. Modul ini mencatat apa yang tiba terhadap sebuah Purchase Order: kirimannya, item-nya, jumlah yang diterima dan yang dikembalikan.
Cara halaman ini diverifikasi
Ditulis dari master pada 2026-09-06 dan dibandingkan dengan big five di hari yang sama. Tidak ada halaman sebelumnya. Peta, bukan penelusuran baris per baris: 14 file, sekitar 320 pemanggilan database.
Posisinya
Purchase Order (po_id) → MRR → persetujuan → Procurement Documents
↘ item yang dikembalikan (ts_mrr_item_return)PO dipilih di form header; item-nya dibaca dari ts_purchase_order_item dan disalin ke grid MRR, lalu jumlah diterima, heat number dan remarks diisi per item (updateQtyDelivered, addNewItemd).
Datanya
| Tabel | Berisi |
|---|---|
ts_mrr | header: mrr_no, mrr_date, po_id, vendor_id, arrival_date, reception_date, person_in_charge, person_prepare_by, origin_country, mode_transport_id, packing_type_id, lc_number, shipping_mark, desc_goods, revision, status_mrr, dan pasangan persetujuan submit_approval / status_approval |
ts_mrr_item | satu baris per item yang diterima: po_item_id, mrr_item_qty, recv_qty, unit_id, item_code_id, storage_area, heat_number_item, manufature_item, flag inspeksi is_visual_check, result_item, is_ncr, dan parent_item_id untuk item yang dipecah |
ts_mrr_item_return | item yang dikembalikan: return_date, return_qty, mrr_receive_qty |
ts_procurement_documents | dokumen MRR yang disetujui, disimpan oleh mrr.class.php |
Kolom mrr_no_temp dan po_id_temp menyimpan nilai selama baris belum disimpan; increment_mrr* dipakai pembangkit nomor.
Layarnya
mrr.php dengan mrr_browse.htm: grid, form header, grid item, lampiran, print preview (mrr_print_preview_3.php dan mrr_print_process.php, keduanya memakai $pdo) dan dialog kirim email. mrr_handler_post.php memuat aksinya: addOrder, editOrder, deleteOrder, editMRR, edit_Header, updateQtyDelivered, addNewItemd, del_item, moveRow, saveattach, submitApproval, plus sekumpulan helper client, project dan perusahaan pengiriman yang dipakai bersama form procurement lain.
Persetujuan
submitApproval mengirim routing dengan 'rout_group_mod' => 'procurement'. Saat disetujui, mrr.class.php menjalankan interface procurement: ProcessProcurement() mengatur status, GenerateDocument() merender PDF MRR, StoreDocumentsToProcumentDocs() menyimpannya di Procurement Documents dan NotificationProcurement() mengirim email ke orang-orang di routing. Interface empat langkah yang sama dengan Requisition.
Yang masih memakai helper legacy
Dihitung 2026-09-06: 162 pemanggilan iw_mysql_query() berbanding 154 pemakaian $pdo.
| Path | Keadaan saat helper legacy melempar exception |
|---|---|
mrr.php, mrr.class.php, mrr_print_preview_3.php, mrr_print_process.php | memakai $pdo, jalan |
mrr_handler_form.php (80 lama, 64 PDO) dan mrr_handler_post.php (69 lama, 69 PDO) | campuran |
mrr.inc.php (7 lama, 2 PDO) | helper campuran |
mrr_add_order_item.php, mrr_sendmail_form.php, mrr_sendmail_post.php | mati |
mrr_print_preview(2).php | salinan lama, tidak dirutekan |
Hal yang perlu diwaspadai
- Grid item adalah salinan item PO. Mengubah PO setelah MRR dibuat tidak menyegarkan baris MRR. Pilih ulang PO-nya.
recv_qtydanmrr_item_qtyadalah dua kolom. Yang pertama apa yang tiba, yang kedua apa yang tertulis di PO. Laporan kekurangan membandingkan keduanya.- Pengembalian ada di tabel terpisah, jadi jumlah diterima di
ts_mrr_itemtidak berkurang oleh pengembalian.
Perbedaan antar instance
Diperiksa 2026-09-06.
| Instance | Perbedaan |
|---|---|
| JOTRE | Terpasang. Enam file berbeda dari master dan ada helper tambahan Functions/Function_mrr.php. Path lama jalan di sana. |
| Jadestone, Medco, Timas | Tidak terpasang di database QA mereka. Satu file berbeda dari master. |
Terkait
- Purchase Order: yang diterima oleh MRR.
- Material Expediting: tanggal kirim yang ditutup oleh MRR.
- Procurement Documents: tempat MRR yang disetujui disimpan.