@extends('docs.layout') @section('title', 'Master Data') @section('breadcrumb') @endsection @section('page_header') Data Induk

Master Data & On-the-Fly Entry

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')

1. Pengantar & Tujuan Modul

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

2. Rincian 6 Sub-Modul Master Data

Sub-Modul Controller & Model Field / Struktur Data Peran dalam Transaksi
1. Master Proyek ProjectController.php
Project.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.php
Vendor.php
nama_vendor, kontak_person, telepon, alamat. Sebagai penyedia/toko tempat material dibeli pada transaksi Barang Masuk (Purchasing).
3. Master Kategori Barang ItemCategoryController.php
ItemCategory.php
nama_kategori, kode_kategori, deskripsi. Mengelompokkan barang ke dalam kelompok fungsional (cth: Material Bangunan, Alat Kerja, Perlengkapan).
4. Master Material (Item) ItemController.php
Item.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.php
RabCategory.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.php
Unit.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.

3. Mekanisme Unggulan: On-The-Fly Master Entry

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:

Cara Kerja Sinkronisasi On-The-Fly di Backend

Ketika pengguna mengetik nama baru yang belum ada di dropdown (misal: material baru "Genteng Keramik Kanmuri" atau satuan "BOX"):

  1. Komponen Select2 menangkap teks tersebut dan mengirimkannya dalam form POST request.
  2. Di Controller (PurchaseController@store, UsageController@store, atau RabController@storeDetail), sistem mengecek apakah input berupa ID integer atau teks string baru.
  3. Jika berupa string baru, sistem otomatis mengeksekusi firstOrCreate untuk mendaftarkan record baru di tabel master (lengkap dengan kode otomatis dan kategori default).
  4. ID baru yang baru saja terbentuk langsung dihubungkan ke transaksi saat itu juga secara transparan.

4. Inisialisasi Data Master (Seeders)

Aplikasi dilengkapi dengan 2 file Seeder untuk instalasi awal:

@endsection