-- =====================================================
-- SKEMA FASE 2 (jalankan setelah schema.sql dan seed_menu.sql)
-- =====================================================

-- Nilai rupiah setiap pergerakan stok (dipakai untuk HPP dan laporan)
ALTER TABLE stock_movements ADD COLUMN nilai DECIMAL(14,2) NOT NULL DEFAULT 0;

-- Jumlah uang yang diterima kasir (untuk menghitung kembalian)
ALTER TABLE payments ADD COLUMN diterima DECIMAL(14,2) NULL;

-- Penguncian PIN supervisor setelah 5 kali salah
ALTER TABLE users
  ADD COLUMN pin_gagal INT NOT NULL DEFAULT 0,
  ADD COLUMN pin_kunci_sampai DATETIME NULL;

-- Riwayat pembelian bahan
CREATE TABLE purchases (
  id INT AUTO_INCREMENT PRIMARY KEY,
  ingredient_id INT NOT NULL,
  qty DECIMAL(12,3) NOT NULL,
  harga_total DECIMAL(14,2) NOT NULL,
  supplier VARCHAR(120) NULL,
  tanggal DATE NOT NULL,
  user_id INT NOT NULL,
  dibuat_waktu DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (ingredient_id) REFERENCES ingredients(id),
  FOREIGN KEY (user_id) REFERENCES users(id)
) ENGINE=InnoDB;

-- Pengeluaran operasional (listrik, gaji, sewa, dan lainnya)
CREATE TABLE expenses (
  id INT AUTO_INCREMENT PRIMARY KEY,
  tanggal DATE NOT NULL,
  kategori VARCHAR(60) NOT NULL,
  jumlah DECIMAL(14,2) NOT NULL,
  keterangan VARCHAR(255) NULL,
  user_id INT NOT NULL,
  dibuat_waktu DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id)
) ENGINE=InnoDB;

INSERT INTO permissions (kode, keterangan) VALUES
  ('keuangan.kelola', 'Kelola pengeluaran');

INSERT INTO role_permissions (role_kode, permission_kode) VALUES
  ('owner', 'keuangan.kelola'),
  ('admin', 'keuangan.kelola');
