-- phpMyAdmin SQL Dump
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Waktu pembuatan: 17 Bulan Mei 2026 pada 20.22
-- Versi server: 10.4.22-MariaDB
-- Versi PHP: 8.1.1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `fundodemaneio`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `atividade`
--

CREATE TABLE `atividade` (
  `id` int(11) NOT NULL,
  `kode` varchar(20) NOT NULL,
  `nome` text NOT NULL,
  `status` enum('aktif','nonaktif') DEFAULT 'aktif',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Struktur dari tabel `divisi`
--

CREATE TABLE `divisi` (
  `id` int(11) NOT NULL,
  `kode` varchar(30) NOT NULL,
  `status` enum('aktif','nonaktif') DEFAULT 'aktif'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `divisi`
--

INSERT INTO `divisi` (`id`, `kode`, `status`) VALUES
(1, '0210101-GMSSI', 'aktif'),
(2, '0210102-GVMSSI', 'aktif'),
(3, '0210104-GIA', 'aktif'),
(4, '0210401-DGPS', 'aktif'),
(5, '0210402-DNAS', 'aktif'),
(6, '0210403-DNRC', 'aktif'),
(7, '0210404-DNPPD', 'aktif'),
(8, '0210405-DNCP', 'aktif'),
(9, '0210501-DGSC', 'aktif'),
(10, '0210502-DNPFO', 'aktif'),
(11, '0210503-DNARHP', 'aktif'),
(12, '0210504-DNA', 'aktif'),
(13, '0210505-DNPCRP', 'aktif');

-- --------------------------------------------------------

--
-- Struktur dari tabel `jv_arsip`
--

CREATE TABLE `jv_arsip` (
  `id_arsip` int(11) NOT NULL,
  `id_jv` int(11) DEFAULT NULL,
  `line_item` varchar(50) DEFAULT NULL,
  `tipe_dokumen` varchar(100) DEFAULT NULL,
  `tipo_dokumen2` varchar(100) DEFAULT NULL,
  `division` varchar(50) DEFAULT NULL,
  `kode_fundo` varchar(50) DEFAULT NULL,
  `kode_divisi` varchar(50) DEFAULT NULL,
  `kode_activitas` varchar(50) DEFAULT NULL,
  `kode_item` varchar(50) DEFAULT NULL,
  `jumlah_permintaan` decimal(15,2) DEFAULT NULL,
  `jumlah_anggaran2` decimal(15,2) DEFAULT NULL,
  `vendor_name` varchar(100) DEFAULT NULL,
  `nomor_tpo` varchar(50) DEFAULT NULL,
  `outstanding` decimal(15,2) DEFAULT NULL,
  `verified` tinyint(1) DEFAULT 0,
  `tanggal_saldo2` date DEFAULT NULL,
  `tanggal_konfirmasi2` date NOT NULL,
  `konfirmasi2` varchar(50) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `no_bukti` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Struktur dari tabel `jv_documents`
--

CREATE TABLE `jv_documents` (
  `id_jv` int(11) NOT NULL,
  `file_nota` varchar(255) NOT NULL,
  `tgl_terima` date DEFAULT NULL,
  `nomor_prt` varchar(50) DEFAULT NULL,
  `direksi` varchar(100) DEFAULT NULL,
  `descripsi` text DEFAULT NULL,
  `tipe_dokumen` varchar(100) DEFAULT NULL,
  `tipo_dokumen2` varchar(100) DEFAULT NULL,
  `status` enum('dikembalikan','didaftarkan','arsip') DEFAULT 'didaftarkan',
  `nomor_jv` varchar(50) DEFAULT NULL,
  `jv_date` date DEFAULT NULL,
  `tgl_arsip` date DEFAULT NULL,
  `nomor_arsip` varchar(100) DEFAULT NULL,
  `tanggal_peminjam` date DEFAULT NULL,
  `nomor_pinjaman` varchar(50) DEFAULT NULL,
  `pinjam_dari` varchar(100) DEFAULT NULL,
  `kebutuhan` text DEFAULT NULL,
  `nomor_box` varchar(100) DEFAULT NULL,
  `cabinet` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `tgl_registrasi` date DEFAULT NULL,
  `line_item` varchar(50) DEFAULT NULL,
  `division` varchar(50) DEFAULT NULL,
  `kode_fundo` varchar(50) DEFAULT NULL,
  `kode_divisi` varchar(50) DEFAULT NULL,
  `kode_activitas` varchar(50) DEFAULT NULL,
  `kode_item` varchar(50) DEFAULT NULL,
  `jumlah_permintaan` decimal(15,2) DEFAULT NULL,
  `jumlah_anggaran2` decimal(15,2) DEFAULT NULL,
  `vendor_name` varchar(100) DEFAULT NULL,
  `nomor_tpo` varchar(50) DEFAULT NULL,
  `nomor_apt` varchar(50) DEFAULT NULL,
  `nomor_ev` varchar(50) DEFAULT NULL,
  `overdue` varchar(100) DEFAULT NULL,
  `total_adiantamento` varchar(50) DEFAULT NULL,
  `total_relatorio` varchar(50) DEFAULT NULL,
  `outstanding` varchar(20) DEFAULT NULL,
  `uploaded_by_id` int(11) DEFAULT NULL,
  `alasan_dikembalikan` text DEFAULT NULL,
  `dipinjam_oleh` varchar(100) DEFAULT NULL,
  `status_pinjaman` enum('tersedia','dipinjam') DEFAULT 'tersedia',
  `tanggal_pengembalian` date DEFAULT NULL,
  `nomor_pengembalian` varchar(100) DEFAULT NULL,
  `pengembalian_dari` varchar(150) DEFAULT NULL,
  `lampiran1` varchar(255) DEFAULT NULL,
  `lampiran2` varchar(255) DEFAULT NULL,
  `lampiran3` varchar(255) DEFAULT NULL,
  `lampiran4` varchar(255) DEFAULT NULL,
  `lampiran5` varchar(255) DEFAULT NULL,
  `kategori` enum('RH','FINANSAS') DEFAULT NULL,
  `nomor_its` varchar(50) DEFAULT NULL,
  `tanggal_kria_its` date DEFAULT NULL,
  `nomor_prt2` varchar(50) DEFAULT NULL,
  `tanggal_kria_prt` date DEFAULT NULL,
  `jenis_pembayaran` varchar(100) DEFAULT NULL,
  `deskripsi2` text DEFAULT NULL,
  `total_relatorio2` varchar(50) DEFAULT NULL,
  `nomor_ev2` varchar(50) DEFAULT NULL,
  `tanggal_kria_ev` date DEFAULT NULL,
  `nama_verifikador` varchar(100) DEFAULT NULL,
  `tanggal_verifikasi` date DEFAULT NULL,
  `tanggal_konfirmasi2` date DEFAULT NULL,
  `nomor_konfirmasi2` varchar(100) DEFAULT NULL,
  `tanggal_saldo2` date DEFAULT NULL,
  `alasan_verifikasi` text DEFAULT NULL,
  `nomor_pep` varchar(50) DEFAULT NULL,
  `tanggal_kria_pep` date DEFAULT NULL,
  `nomor_tpo2` varchar(50) DEFAULT NULL,
  `tanggal_proses_tpo` date DEFAULT NULL,
  `status2` varchar(50) DEFAULT NULL,
  `alasan2` text DEFAULT NULL,
  `deskripsi` varchar(50) NOT NULL,
  `no_bukti` varchar(100) DEFAULT NULL,
  `prehusi` varchar(255) DEFAULT NULL,
  `vishusi` varchar(255) DEFAULT NULL,
  `verhusi` varchar(255) DEFAULT NULL,
  `numeru_arkivu` varchar(100) DEFAULT NULL,
  `data_arkivu` date DEFAULT NULL,
  `numeru_bantex` varchar(100) DEFAULT NULL,
  `numeru_cabinet` varchar(100) DEFAULT NULL,
  `atividade_id` int(11) DEFAULT NULL,
  `divisi_id` int(11) DEFAULT NULL,
  `sub_rubrika_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Struktur dari tabel `jv_history`
--

CREATE TABLE `jv_history` (
  `id_history` int(11) NOT NULL,
  `id_jv` int(11) DEFAULT NULL,
  `action_by` int(11) DEFAULT NULL,
  `action_role` enum('admin','dct','tesoureira','hr','director') DEFAULT NULL,
  `action_type` enum('upload','edit','verifikasi','konfirmasi','daftarkan','kembalikan') DEFAULT NULL,
  `action_time` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Struktur dari tabel `setup_pic`
--

CREATE TABLE `setup_pic` (
  `id` int(11) NOT NULL,
  `prehusi` varchar(255) NOT NULL,
  `vishusi` varchar(255) NOT NULL,
  `verhusi` varchar(255) NOT NULL,
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `setup_pic`
--

INSERT INTO `setup_pic` (`id`, `prehusi`, `vishusi`, `verhusi`, `updated_at`) VALUES
(1, '', '', '', '2026-05-11 21:34:16');

-- --------------------------------------------------------

--
-- Struktur dari tabel `sub_rubrika`
--

CREATE TABLE `sub_rubrika` (
  `id` int(11) NOT NULL,
  `kode` varchar(20) NOT NULL,
  `nome` text NOT NULL,
  `status` enum('aktif','nonaktif') DEFAULT 'aktif'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Struktur dari tabel `users`
--

CREATE TABLE `users` (
  `id_user` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(255) NOT NULL,
  `role` enum('super_user','admin','dct','tesoureira','hr','director') DEFAULT NULL,
  `full_name` varchar(100) DEFAULT NULL,
  `no_wa` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `users`
--

INSERT INTO `users` (`id_user`, `username`, `password`, `role`, `full_name`, `no_wa`) VALUES
(1, 'admin1', '1', 'admin', 'Admin Back Office', NULL),
(2, 'arsip1', '1', 'dct', 'Arsip', NULL),
(4, 'director1', '1', 'director', 'Director DG Ministra', NULL),
(5, 'superuser', 'super123', 'super_user', 'Super User System', NULL),
(54, 'teso1', '1', 'tesoureira', 'tesoureira', NULL);

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `atividade`
--
ALTER TABLE `atividade`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_atividade_kode` (`kode`),
  ADD KEY `idx_atividade_nome` (`nome`(100));

--
-- Indeks untuk tabel `divisi`
--
ALTER TABLE `divisi`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `jv_arsip`
--
ALTER TABLE `jv_arsip`
  ADD PRIMARY KEY (`id_arsip`),
  ADD KEY `id_jv` (`id_jv`);

--
-- Indeks untuk tabel `jv_documents`
--
ALTER TABLE `jv_documents`
  ADD PRIMARY KEY (`id_jv`),
  ADD KEY `fk_uploaded_by` (`uploaded_by_id`),
  ADD KEY `fk_atividade` (`atividade_id`),
  ADD KEY `fk_divisi` (`divisi_id`),
  ADD KEY `fk_subrubrika` (`sub_rubrika_id`);

--
-- Indeks untuk tabel `jv_history`
--
ALTER TABLE `jv_history`
  ADD PRIMARY KEY (`id_history`),
  ADD KEY `id_jv` (`id_jv`),
  ADD KEY `action_by` (`action_by`);

--
-- Indeks untuk tabel `setup_pic`
--
ALTER TABLE `setup_pic`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `sub_rubrika`
--
ALTER TABLE `sub_rubrika`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id_user`),
  ADD UNIQUE KEY `username` (`username`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `atividade`
--
ALTER TABLE `atividade`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `divisi`
--
ALTER TABLE `divisi`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT untuk tabel `jv_arsip`
--
ALTER TABLE `jv_arsip`
  MODIFY `id_arsip` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `jv_documents`
--
ALTER TABLE `jv_documents`
  MODIFY `id_jv` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=183;

--
-- AUTO_INCREMENT untuk tabel `jv_history`
--
ALTER TABLE `jv_history`
  MODIFY `id_history` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=87;

--
-- AUTO_INCREMENT untuk tabel `setup_pic`
--
ALTER TABLE `setup_pic`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `sub_rubrika`
--
ALTER TABLE `sub_rubrika`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `users`
--
ALTER TABLE `users`
  MODIFY `id_user` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=55;

--
-- Ketidakleluasaan untuk tabel pelimpahan (Dumped Tables)
--

--
-- Ketidakleluasaan untuk tabel `jv_arsip`
--
ALTER TABLE `jv_arsip`
  ADD CONSTRAINT `jv_arsip_ibfk_1` FOREIGN KEY (`id_jv`) REFERENCES `jv_documents` (`id_jv`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `jv_documents`
--
ALTER TABLE `jv_documents`
  ADD CONSTRAINT `fk_atividade` FOREIGN KEY (`atividade_id`) REFERENCES `atividade` (`id`),
  ADD CONSTRAINT `fk_divisi` FOREIGN KEY (`divisi_id`) REFERENCES `divisi` (`id`),
  ADD CONSTRAINT `fk_subrubrika` FOREIGN KEY (`sub_rubrika_id`) REFERENCES `sub_rubrika` (`id`),
  ADD CONSTRAINT `fk_uploaded_by` FOREIGN KEY (`uploaded_by_id`) REFERENCES `users` (`id_user`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `jv_history`
--
ALTER TABLE `jv_history`
  ADD CONSTRAINT `jv_history_ibfk_1` FOREIGN KEY (`id_jv`) REFERENCES `jv_documents` (`id_jv`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `jv_history_ibfk_2` FOREIGN KEY (`action_by`) REFERENCES `users` (`id_user`) ON DELETE SET NULL ON UPDATE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
