@extends('docs.layout') @section('title', 'Master Data') @section('breadcrumb')
Dokumentasi pengelolaan seluruh entitas data induk (Proyek, Vendor, Material, Satuan, Kategori RAB) serta mekanisme cerdas penambahan master on-the-fly dari form transaksi proyek.
@endsection @section('content')Modul Master Data bertindak sebagai fondasi utama integritas data sistem. Data induk yang terdefinisi di sini akan menjadi referensi dropdown di seluruh modul transaksi proyek (RAB, Purchasing, Usage, Stok, dan Upah).
| Sub-Modul | Controller & Model | Field / Struktur Data | Peran dalam Transaksi |
|---|---|---|---|
| 1. Master Proyek | ProjectController.phpProject.php |
kode_proyek, nama_proyek, client, lokasi, status (draft/ongoing/completed), tanggal_mulai, tanggal_selesai. |
Menjadi entitas induk (Parent) utama dari seluruh modul transaksi (RAB, Barang Masuk, Barang Keluar, Stok, Upah, dan File Lampiran). Menyediakan navigasi Tab Horizontal ERP. |
| 2. Master Vendor | VendorController.phpVendor.php |
nama_vendor, kontak_person, telepon, alamat. |
Sebagai penyedia/toko tempat material dibeli pada transaksi Barang Masuk (Purchasing). |
| 3. Master Kategori Barang | ItemCategoryController.phpItemCategory.php |
nama_kategori, kode_kategori, deskripsi. |
Mengelompokkan barang ke dalam kelompok fungsional (cth: Material Bangunan, Alat Kerja, Perlengkapan). |
| 4. Master Material (Item) | ItemController.phpItem.php |
kode_barang (auto-generate cth: BRG-001), nama_barang, item_category_id, unit_id, harga_estimasi, deskripsi. |
Katalog material yang dapat dibeli, dipakai, dan dilacak ketersediaan stok fisiknya di kartu gudang. |
| 5. Master Kategori RAB | RabCategoryController.phpRabCategory.php |
kode_kategori, nama_kategori, deskripsi. |
Header kelompok pekerjaan konstruksi (cth: Pekerjaan Persiapan, Tanah, Pondasi, Struktur Beton, Pasangan Dinding, Plafond, Sanitasi, Listrik). |
| 6. Master Satuan (Unit) | UnitController.phpUnit.php |
nama_satuan (cth: M3, KG, ZAK, BTG, LBR, BH, LS), keterangan. |
Satuan ukur seragam yang dikonsumsi oleh RAB, transaksi Pembelian, Pemakaian, dan Rekap Stok. |
Untuk memastikan kecepatan input data di lapangan, staf tidak perlu bolak-balik keluar-masuk menu Master Data hanya untuk mendaftarkan vendor, material, satuan, atau kategori baru. Sistem mendukung On-The-Fly Tagging via Select2 (tags: true) di kelima modul proyek:
Ketika pengguna mengetik nama baru yang belum ada di dropdown (misal: material baru "Genteng Keramik Kanmuri" atau satuan "BOX"):
PurchaseController@store, UsageController@store, atau RabController@storeDetail), sistem mengecek apakah input berupa ID integer atau teks string baru.firstOrCreate untuk mendaftarkan record baru di tabel master (lengkap dengan kode otomatis dan kategori default).Aplikasi dilengkapi dengan 2 file Seeder untuk instalasi awal:
UnitSeeder.php: Mengisi 16+ daftar satuan standar industri konstruksi (BH, KG, LBR, M3, BTG, ZAK, ROLL, IKAT, PCS, SET, LS, M2, M1, MTR, BOX, PAKET) dan otomatis mengimpor satuan unik dari histori item.DatabaseSeeder.php: Memuat 4 akun default staf, 5 proyek riil (GATR, GBR, GCR, GBTR, MATOA), 5 vendor rekanan, 23 master material, dan 11 kategori RAB standar.