diff --git a/absensi_karyawan.sql b/absensi_karyawan.sql
new file mode 100644
index 0000000..2fef96a
--- /dev/null
+++ b/absensi_karyawan.sql
@@ -0,0 +1,603 @@
+-- phpMyAdmin SQL Dump
+-- version 5.2.0
+-- https://www.phpmyadmin.net/
+--
+-- Host: 127.0.0.1
+-- Generation Time: Nov 27, 2022 at 07:08 PM
+-- Server version: 10.4.25-MariaDB
+-- PHP Version: 7.4.30
+
+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: `absensi_karyawan`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_absensi_karyawan`
+--
+
+CREATE TABLE `tb_absensi_karyawan` (
+ `no` int(5) NOT NULL,
+ `nik` varchar(18) DEFAULT NULL,
+ `id_dinas` int(3) DEFAULT NULL,
+ `tanggal` date NOT NULL,
+ `jam_masuk` time DEFAULT NULL,
+ `jam_istirehat` time DEFAULT NULL,
+ `jam_masuk_kembali` time DEFAULT NULL,
+ `jam_pulang` time DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_absensi_karyawan`
+--
+
+INSERT INTO `tb_absensi_karyawan` (`no`, `nik`, `id_dinas`, `tanggal`, `jam_masuk`, `jam_istirehat`, `jam_masuk_kembali`, `jam_pulang`) VALUES
+(8, '1234567890123456', 1, '2022-09-21', '06:57:50', NULL, NULL, NULL),
+(9, '1234567890123455', 1, '2022-09-21', '09:34:03', '09:46:52', NULL, NULL),
+(10, '1234567890123456', 1, '2022-09-28', '09:15:04', '09:58:07', '09:58:45', '09:58:52');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_admin`
+--
+
+CREATE TABLE `tb_admin` (
+ `no` int(4) NOT NULL,
+ `nik_kd` varchar(18) DEFAULT NULL,
+ `nik` varchar(18) DEFAULT NULL,
+ `nama` varchar(100) NOT NULL,
+ `level` varchar(20) NOT NULL,
+ `id_dinas` int(3) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_admin`
+--
+
+INSERT INTO `tb_admin` (`no`, `nik_kd`, `nik`, `nama`, `level`, `id_dinas`) VALUES
+(1, NULL, '1234567890123456', 'Admin', 'Admin', 1),
+(2, '1234567890123456', NULL, 'Kepala Dinas', 'Kepala Dinas', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_dinas`
+--
+
+CREATE TABLE `tb_dinas` (
+ `id_dinas` int(3) NOT NULL,
+ `dinas` varchar(100) NOT NULL,
+ `lat` varchar(100) NOT NULL,
+ `lng` varchar(100) NOT NULL,
+ `radius` int(2) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_dinas`
+--
+
+INSERT INTO `tb_dinas` (`id_dinas`, `dinas`, `lat`, `lng`, `radius`) VALUES
+(1, 'Dinas Pariwisata Kepemudaan dan Olahraga Kabupaten Mamuju Tengah', '-3.9887240011073284', '119.65215215', 100);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_informasi_libur`
+--
+
+CREATE TABLE `tb_informasi_libur` (
+ `id_informasi_libur` int(5) NOT NULL,
+ `id_libur` int(5) NOT NULL,
+ `nik` varchar(18) DEFAULT NULL,
+ `tanggal` date NOT NULL,
+ `ket` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_informasi_perjalanan_dinas`
+--
+
+CREATE TABLE `tb_informasi_perjalanan_dinas` (
+ `id_informasi_perjalanan_dinas` int(5) NOT NULL,
+ `id_perjalanan_dinas` int(5) NOT NULL,
+ `nik` varchar(18) DEFAULT NULL,
+ `tanggal` date NOT NULL,
+ `ket` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_karyawan`
+--
+
+CREATE TABLE `tb_karyawan` (
+ `nik` varchar(18) NOT NULL,
+ `nama` varchar(100) NOT NULL,
+ `no_telpon` varchar(14) DEFAULT NULL,
+ `jabatan` varchar(100) NOT NULL,
+ `pangkat` varchar(15) DEFAULT NULL,
+ `status` text DEFAULT NULL,
+ `alamat` text DEFAULT NULL,
+ `tanggal_lahir` date DEFAULT NULL,
+ `id_dinas` int(3) NOT NULL,
+ `device_id` varchar(100) DEFAULT NULL,
+ `image` varchar(150) NOT NULL,
+ `keanggotaan` varchar(50) NOT NULL,
+ `jenis_kelamin` varchar(10) NOT NULL,
+ `tempat_lahir` varchar(100) NOT NULL,
+ `created_at` datetime NOT NULL DEFAULT current_timestamp(),
+ `updated_at` datetime NOT NULL DEFAULT current_timestamp()
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_karyawan`
+--
+
+INSERT INTO `tb_karyawan` (`nik`, `nama`, `no_telpon`, `jabatan`, `pangkat`, `status`, `alamat`, `tanggal_lahir`, `id_dinas`, `device_id`, `image`, `keanggotaan`, `jenis_kelamin`, `tempat_lahir`, `created_at`, `updated_at`) VALUES
+('123143534543534534', 'daasd', '08151651165161', 'Kasubag Kepegawaian', 'II C', 'Kontrak', 'asdasd', '1954-08-12', 1, NULL, 'assets/images/foto_karyawan/123143534543534534/1.jpg', 'Ekonomi Kreatif', 'Perempuan', 'asdsa', '2022-11-25 01:30:12', '2022-11-25 01:30:12'),
+('1234567890123444', 'bobo', '0865465465466', 'Sekretaris', 'IV D', 'PNS', 'sadsad', '1992-08-30', 1, NULL, 'assets/images/foto_karyawan/1234567890123444/1-brjYnVlXwM3j_SWXImT0Rg.png', 'Sekretariat', 'Laki-laki', 'Tawau', '2022-09-19 00:09:54', '2022-11-19 23:22:46'),
+('1234567890123454', 'Ilham', '082293246583', 'Kepala Bidang', 'Tiada', 'Kontrak', 'asdasd', '1889-09-13', 1, NULL, 'assets/images/foto_karyawan/1234567890123454/1111..jpg', 'Sekretariat', 'Laki-laki', 'Tawau', '2022-09-15 04:09:10', '2022-09-15 04:09:10'),
+('1234567890123455', 'Karan', '0895806674850', 'Kepala Dinas', 'Tiada', 'PNS', 'Jln Apas, Tawau, Sabah', '1889-09-13', 1, NULL, 'assets/images/foto_karyawan/1234567890123455/11073968_844405842264361_5190470711960847490_n.jpg', 'Sekretariat', 'Laki-laki', 'Tawau', '2022-09-09 02:42:26', '2022-09-09 02:54:41'),
+('1234567890123456', 'Aran', '082293246583', 'Analisis Kebijakan', 'Tiada', 'Kontrak', 'Jln Industri Kecil, Soreang, Parepare', '1889-09-13', 1, '156afc024de8a022', 'assets/images/foto_karyawan/1234567890123456/6564e6d48892e6ba325bda1ec27189c9b4b3b473_hq.jpg', 'Sekretariat', 'Laki-laki', 'Tawau', '2022-09-07 02:47:55', '2022-11-24 22:26:00'),
+('456456543645645645', '5dsfsdfdsf', '08151651165161', 'Staf', 'IV A', 'PNS', 'sdfsdf', '1987-02-15', 1, NULL, 'assets/images/foto_karyawan/456456543645645645/1.jpg', 'Olahraga', 'Perempuan', 'sdfsdf', '2022-11-25 01:30:36', '2022-11-25 01:30:36'),
+('567675756756756756', 'daasd', '08151651165161', 'Staf', 'IV A', 'Kontrak', 'sdfsdf', '1987-01-05', 1, NULL, 'assets/images/foto_karyawan/567675756756756756/1.jpg', 'Olahraga', 'Laki-laki', 'sdfsdf', '2022-11-25 01:31:02', '2022-11-25 01:31:02');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_kordinat_karyawan`
+--
+
+CREATE TABLE `tb_kordinat_karyawan` (
+ `nik` varchar(18) NOT NULL,
+ `lat` varchar(20) NOT NULL,
+ `lng` varchar(20) NOT NULL,
+ `updated_at` datetime DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_kordinat_karyawan`
+--
+
+INSERT INTO `tb_kordinat_karyawan` (`nik`, `lat`, `lng`, `updated_at`) VALUES
+('1234567890123455', '-3.9889786', '119.6518278', '2022-09-21 09:34:43'),
+('1234567890123456', '-3.9889742', '119.6518331', '2022-09-27 09:53:48');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_laporan_karyawan`
+--
+
+CREATE TABLE `tb_laporan_karyawan` (
+ `no_laporan` int(4) NOT NULL,
+ `nik` varchar(18) NOT NULL,
+ `image` varchar(150) DEFAULT NULL,
+ `nama_laporan` varchar(100) NOT NULL,
+ `ket_laporan` text NOT NULL,
+ `created_at` datetime NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_laporan_karyawan`
+--
+
+INSERT INTO `tb_laporan_karyawan` (`no_laporan`, `nik`, `image`, `nama_laporan`, `ket_laporan`, `created_at`) VALUES
+(247, '1234567890123456', 'assets/images/karyawan/247/d2dbec5b-f1f3-4413-b0a9-c08f41f704cb8738234311332518571.jpg', 'wedas', 'sghgf', '2022-11-24 22:11:23'),
+(248, '1234567890123456', NULL, 'sadasd', 'asdasd', '2022-11-25 00:03:51');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_libur`
+--
+
+CREATE TABLE `tb_libur` (
+ `id_libur` int(5) NOT NULL,
+ `id_dinas` int(3) NOT NULL,
+ `list_karyawan` mediumtext NOT NULL,
+ `range_tanggal` mediumtext NOT NULL,
+ `file` varchar(200) NOT NULL,
+ `ket` text NOT NULL,
+ `created_at` date NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_login_admin`
+--
+
+CREATE TABLE `tb_login_admin` (
+ `no` int(4) NOT NULL,
+ `username` varchar(200) NOT NULL,
+ `password` varchar(200) NOT NULL,
+ `nik` varchar(18) DEFAULT NULL,
+ `nik_kd` varchar(18) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_login_admin`
+--
+
+INSERT INTO `tb_login_admin` (`no`, `username`, `password`, `nik`, `nik_kd`) VALUES
+(1, 'admin', '25d55ad283aa400af464c76d713c07ad', '1234567890123456', NULL),
+(2, 'kepaladinaspariwisata', '25d55ad283aa400af464c76d713c07ad', NULL, '1234567890123456');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_login_user`
+--
+
+CREATE TABLE `tb_login_user` (
+ `no` int(3) NOT NULL,
+ `username` varchar(100) NOT NULL,
+ `password` varchar(100) NOT NULL,
+ `nik` varchar(18) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_login_user`
+--
+
+INSERT INTO `tb_login_user` (`no`, `username`, `password`, `nik`) VALUES
+(3, '1234567890123456', 'd1b2cc725d846f0460ff290c60925070', '1234567890123456'),
+(4, '1234567890123455', '25d55ad283aa400af464c76d713c07ad', '1234567890123455'),
+(5, '1234567890123454', '25d55ad283aa400af464c76d713c07ad', '1234567890123454'),
+(9, '1234567890123444', '25d55ad283aa400af464c76d713c07ad', '1234567890123444'),
+(12, '123143534543534534', '25d55ad283aa400af464c76d713c07ad', '123143534543534534'),
+(13, '456456543645645645', '25d55ad283aa400af464c76d713c07ad', '456456543645645645'),
+(14, '567675756756756756', '25d55ad283aa400af464c76d713c07ad', '567675756756756756');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_pengaturan_jam_kerja_harian`
+--
+
+CREATE TABLE `tb_pengaturan_jam_kerja_harian` (
+ `no` int(2) NOT NULL,
+ `id_dinas` int(11) DEFAULT NULL,
+ `hari` varchar(10) NOT NULL,
+ `jam_masuk` time DEFAULT NULL,
+ `jam_istirehat` time DEFAULT NULL,
+ `jam_masuk_kembali` time DEFAULT NULL,
+ `jam_pulang` time DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_pengaturan_jam_kerja_harian`
+--
+
+INSERT INTO `tb_pengaturan_jam_kerja_harian` (`no`, `id_dinas`, `hari`, `jam_masuk`, `jam_istirehat`, `jam_masuk_kembali`, `jam_pulang`) VALUES
+(1, 1, 'senin', '07:10:00', '12:00:00', '13:00:00', '16:00:00'),
+(2, 1, 'selasa', '08:00:00', '12:00:00', '13:00:00', '16:00:00'),
+(3, 1, 'rabu', '08:00:00', '12:00:00', '13:00:00', '16:00:00'),
+(4, 1, 'jumat', '08:00:00', '11:00:00', '12:00:00', '19:00:00'),
+(5, 1, 'kamis', '08:00:00', '12:00:00', '13:00:00', '16:00:00');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_perjalanan_dinas`
+--
+
+CREATE TABLE `tb_perjalanan_dinas` (
+ `id_perjalanan_dinas` int(5) NOT NULL,
+ `id_dinas` int(3) NOT NULL,
+ `list_karyawan` mediumtext NOT NULL,
+ `range_tanggal` mediumtext NOT NULL,
+ `ket` text NOT NULL,
+ `sppd` varchar(200) NOT NULL,
+ `created_at` date NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tb_surat_masuk`
+--
+
+CREATE TABLE `tb_surat_masuk` (
+ `id_surat_masuk` int(11) NOT NULL,
+ `id_dinas` int(2) DEFAULT NULL,
+ `no_surat` varchar(20) NOT NULL,
+ `asal_surat` varchar(100) NOT NULL,
+ `tanggal_pengiriman` date NOT NULL,
+ `tanggal_diterima` date NOT NULL,
+ `no_agenda` varchar(5) NOT NULL,
+ `sifat` varchar(15) DEFAULT NULL,
+ `perihal` text NOT NULL,
+ `diteruskan_kepada` varchar(30) DEFAULT NULL,
+ `respon` varchar(30) DEFAULT NULL,
+ `fail` varchar(200) NOT NULL,
+ `catatan` text DEFAULT NULL,
+ `created_at` datetime NOT NULL DEFAULT current_timestamp(),
+ `updated_at` datetime NOT NULL DEFAULT current_timestamp()
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- Dumping data for table `tb_surat_masuk`
+--
+
+INSERT INTO `tb_surat_masuk` (`id_surat_masuk`, `id_dinas`, `no_surat`, `asal_surat`, `tanggal_pengiriman`, `tanggal_diterima`, `no_agenda`, `sifat`, `perihal`, `diteruskan_kepada`, `respon`, `fail`, `catatan`, `created_at`, `updated_at`) VALUES
+(3, 1, '001/4545/2152/645/as', 'Aran', '2022-10-12', '2022-11-20', '001', 'Tiada', 'asdasd', 'Tiada', 'Tiada', 'assets/surat_masuk/1/3/CV-id.pdf', 'sadsa asdas', '2022-11-21 00:26:52', '2022-11-28 01:57:20');
+
+--
+-- Indexes for dumped tables
+--
+
+--
+-- Indexes for table `tb_absensi_karyawan`
+--
+ALTER TABLE `tb_absensi_karyawan`
+ ADD PRIMARY KEY (`no`),
+ ADD KEY `id_dinas` (`id_dinas`),
+ ADD KEY `nik` (`nik`);
+
+--
+-- Indexes for table `tb_admin`
+--
+ALTER TABLE `tb_admin`
+ ADD PRIMARY KEY (`no`),
+ ADD KEY `id_dinas` (`id_dinas`),
+ ADD KEY `nik_kd` (`nik_kd`),
+ ADD KEY `nik` (`nik`);
+
+--
+-- Indexes for table `tb_dinas`
+--
+ALTER TABLE `tb_dinas`
+ ADD PRIMARY KEY (`id_dinas`);
+
+--
+-- Indexes for table `tb_informasi_libur`
+--
+ALTER TABLE `tb_informasi_libur`
+ ADD PRIMARY KEY (`id_informasi_libur`),
+ ADD KEY `id_libur` (`id_libur`),
+ ADD KEY `karyawan` (`nik`);
+
+--
+-- Indexes for table `tb_informasi_perjalanan_dinas`
+--
+ALTER TABLE `tb_informasi_perjalanan_dinas`
+ ADD PRIMARY KEY (`id_informasi_perjalanan_dinas`),
+ ADD KEY `id_libur` (`id_perjalanan_dinas`),
+ ADD KEY `karyawan` (`nik`);
+
+--
+-- Indexes for table `tb_karyawan`
+--
+ALTER TABLE `tb_karyawan`
+ ADD PRIMARY KEY (`nik`),
+ ADD KEY `id_dinas` (`id_dinas`);
+
+--
+-- Indexes for table `tb_kordinat_karyawan`
+--
+ALTER TABLE `tb_kordinat_karyawan`
+ ADD PRIMARY KEY (`nik`),
+ ADD KEY `nik` (`nik`);
+
+--
+-- Indexes for table `tb_laporan_karyawan`
+--
+ALTER TABLE `tb_laporan_karyawan`
+ ADD PRIMARY KEY (`no_laporan`),
+ ADD KEY `nik` (`nik`);
+
+--
+-- Indexes for table `tb_libur`
+--
+ALTER TABLE `tb_libur`
+ ADD PRIMARY KEY (`id_libur`),
+ ADD KEY `id_dinas` (`id_dinas`);
+
+--
+-- Indexes for table `tb_login_admin`
+--
+ALTER TABLE `tb_login_admin`
+ ADD PRIMARY KEY (`no`),
+ ADD KEY `nik` (`nik`),
+ ADD KEY `nik_kd` (`nik_kd`);
+
+--
+-- Indexes for table `tb_login_user`
+--
+ALTER TABLE `tb_login_user`
+ ADD PRIMARY KEY (`no`),
+ ADD KEY `nik_karyawan` (`nik`);
+
+--
+-- Indexes for table `tb_pengaturan_jam_kerja_harian`
+--
+ALTER TABLE `tb_pengaturan_jam_kerja_harian`
+ ADD PRIMARY KEY (`no`),
+ ADD KEY `id_dinas` (`id_dinas`);
+
+--
+-- Indexes for table `tb_perjalanan_dinas`
+--
+ALTER TABLE `tb_perjalanan_dinas`
+ ADD PRIMARY KEY (`id_perjalanan_dinas`),
+ ADD KEY `id_dinas` (`id_dinas`);
+
+--
+-- Indexes for table `tb_surat_masuk`
+--
+ALTER TABLE `tb_surat_masuk`
+ ADD PRIMARY KEY (`id_surat_masuk`),
+ ADD KEY `id_dinas` (`id_dinas`);
+
+--
+-- AUTO_INCREMENT for dumped tables
+--
+
+--
+-- AUTO_INCREMENT for table `tb_absensi_karyawan`
+--
+ALTER TABLE `tb_absensi_karyawan`
+ MODIFY `no` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
+
+--
+-- AUTO_INCREMENT for table `tb_admin`
+--
+ALTER TABLE `tb_admin`
+ MODIFY `no` int(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT for table `tb_dinas`
+--
+ALTER TABLE `tb_dinas`
+ MODIFY `id_dinas` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT for table `tb_informasi_libur`
+--
+ALTER TABLE `tb_informasi_libur`
+ MODIFY `id_informasi_libur` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=101;
+
+--
+-- AUTO_INCREMENT for table `tb_informasi_perjalanan_dinas`
+--
+ALTER TABLE `tb_informasi_perjalanan_dinas`
+ MODIFY `id_informasi_perjalanan_dinas` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22;
+
+--
+-- AUTO_INCREMENT for table `tb_laporan_karyawan`
+--
+ALTER TABLE `tb_laporan_karyawan`
+ MODIFY `no_laporan` int(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=249;
+
+--
+-- AUTO_INCREMENT for table `tb_libur`
+--
+ALTER TABLE `tb_libur`
+ MODIFY `id_libur` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;
+
+--
+-- AUTO_INCREMENT for table `tb_login_admin`
+--
+ALTER TABLE `tb_login_admin`
+ MODIFY `no` int(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT for table `tb_login_user`
+--
+ALTER TABLE `tb_login_user`
+ MODIFY `no` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;
+
+--
+-- AUTO_INCREMENT for table `tb_pengaturan_jam_kerja_harian`
+--
+ALTER TABLE `tb_pengaturan_jam_kerja_harian`
+ MODIFY `no` int(2) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
+
+--
+-- AUTO_INCREMENT for table `tb_perjalanan_dinas`
+--
+ALTER TABLE `tb_perjalanan_dinas`
+ MODIFY `id_perjalanan_dinas` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
+
+--
+-- AUTO_INCREMENT for table `tb_surat_masuk`
+--
+ALTER TABLE `tb_surat_masuk`
+ MODIFY `id_surat_masuk` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
+
+--
+-- Constraints for dumped tables
+--
+
+--
+-- Constraints for table `tb_absensi_karyawan`
+--
+ALTER TABLE `tb_absensi_karyawan`
+ ADD CONSTRAINT `tb_absensi_karyawan_ibfk_1` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE NO ACTION ON UPDATE CASCADE,
+ ADD CONSTRAINT `tb_absensi_karyawan_ibfk_2` FOREIGN KEY (`id_dinas`) REFERENCES `tb_dinas` (`id_dinas`) ON DELETE NO ACTION ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_admin`
+--
+ALTER TABLE `tb_admin`
+ ADD CONSTRAINT `tb_admin_ibfk_1` FOREIGN KEY (`id_dinas`) REFERENCES `tb_dinas` (`id_dinas`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `tb_admin_ibfk_2` FOREIGN KEY (`nik_kd`) REFERENCES `tb_karyawan` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_informasi_libur`
+--
+ALTER TABLE `tb_informasi_libur`
+ ADD CONSTRAINT `tb_informasi_libur_ibfk_1` FOREIGN KEY (`id_libur`) REFERENCES `tb_libur` (`id_libur`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `tb_informasi_libur_ibfk_2` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_informasi_perjalanan_dinas`
+--
+ALTER TABLE `tb_informasi_perjalanan_dinas`
+ ADD CONSTRAINT `tb_informasi_perjalanan_dinas_ibfk_1` FOREIGN KEY (`id_perjalanan_dinas`) REFERENCES `tb_perjalanan_dinas` (`id_perjalanan_dinas`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `tb_informasi_perjalanan_dinas_ibfk_2` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_karyawan`
+--
+ALTER TABLE `tb_karyawan`
+ ADD CONSTRAINT `tb_karyawan_ibfk_1` FOREIGN KEY (`id_dinas`) REFERENCES `tb_dinas` (`id_dinas`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_kordinat_karyawan`
+--
+ALTER TABLE `tb_kordinat_karyawan`
+ ADD CONSTRAINT `tb_kordinat_karyawan_ibfk_1` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_laporan_karyawan`
+--
+ALTER TABLE `tb_laporan_karyawan`
+ ADD CONSTRAINT `tb_laporan_karyawan_ibfk_1` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE NO ACTION ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_login_admin`
+--
+ALTER TABLE `tb_login_admin`
+ ADD CONSTRAINT `tb_login_admin_ibfk_1` FOREIGN KEY (`nik`) REFERENCES `tb_admin` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `tb_login_admin_ibfk_2` FOREIGN KEY (`nik_kd`) REFERENCES `tb_admin` (`nik_kd`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_login_user`
+--
+ALTER TABLE `tb_login_user`
+ ADD CONSTRAINT `tb_login_user_ibfk_1` FOREIGN KEY (`nik`) REFERENCES `tb_karyawan` (`nik`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `tb_pengaturan_jam_kerja_harian`
+--
+ALTER TABLE `tb_pengaturan_jam_kerja_harian`
+ ADD CONSTRAINT `tb_pengaturan_jam_kerja_harian_ibfk_1` FOREIGN KEY (`id_dinas`) REFERENCES `tb_dinas` (`id_dinas`) ON DELETE CASCADE ON UPDATE NO ACTION;
+
+--
+-- Constraints for table `tb_surat_masuk`
+--
+ALTER TABLE `tb_surat_masuk`
+ ADD CONSTRAINT `tb_surat_masuk_ibfk_1` FOREIGN KEY (`id_dinas`) REFERENCES `tb_dinas` (`id_dinas`) 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 */;
diff --git a/absensi_server.zip b/absensi_server.zip
deleted file mode 100644
index cf9351a..0000000
Binary files a/absensi_server.zip and /dev/null differ
diff --git a/application/controllers/Api.php b/application/controllers/Api.php
index 03f2c22..6c2b93a 100644
--- a/application/controllers/Api.php
+++ b/application/controllers/Api.php
@@ -21,7 +21,7 @@ class Api extends RestController
public function index_get()
{
- if ($this->session->userdata('level') == 'Admin') {
+ if ($this->session->userdata('level') == 'Admin' && $this->session->userdata('level') == 'Kepala Dinas') {
$this->response(['message' => 'Halo Bosku'], 200);
} else {
$this->response(['message' => 'Halo gagal'], 400);
@@ -48,7 +48,8 @@ class Api extends RestController
$cek_data_admin = $this->model->tampil_data_where('tb_admin', ['nik' => $cek_data[0]->nik])->result()[0];
$cek_data_dinas = $this->model->tampil_data_where('tb_dinas', ['id_dinas' => $cek_data_admin->id_dinas])->result()[0];
$this->session->set_userdata(['nik' => $cek_data_admin->nik, "level" => $cek_data_admin->level, 'id_dinas' => $cek_data_dinas->id_dinas]);
- $this->response(['message' => "Sukses Login", "status" => true], 200);
+ $level = $cek_data_admin->level == 'Admin' ? 1 : 2;
+ $this->response(['message' => "Sukses Login", "status" => true, "level" => $level], 200);
} else {
$this->session->unset_userdata(array('nik', "level"));
$this->response(['message' => "Gagal Login, Username dan Password salah", "status" => false], 400);
@@ -205,14 +206,14 @@ class Api extends RestController
public function karyawanAll_get()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$check_data = $this->model->tampil_data_keseluruhan('tb_karyawan')->result();
$this->response(['data' => $check_data], 200);
}
public function karyawan_get() // ambil data karyawan
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
$nik = $this->get('nik');
@@ -335,7 +336,7 @@ class Api extends RestController
public function jam_kerja_get() // edit data karyawan
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
@@ -414,7 +415,7 @@ class Api extends RestController
public function libur_get()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
$id_libur = $this->get('id_libur');
@@ -531,7 +532,7 @@ class Api extends RestController
foreach ($period as $key => $value) {
$this->model->insert('tb_informasi_perjalanan_dinas', ['id_perjalanan_dinas' => $cek_last_ai, 'nik' => $value1, "tanggal" => $value->format('Y-m-d'), 'ket' => $ket . " (" . $start_tanggal . " - " . $end_tanggal . ")"]);
}
- }else {
+ } else {
$this->model->insert('tb_informasi_perjalanan_dinas', ['id_perjalanan_dinas' => $cek_last_ai, 'nik' => $value1, "tanggal" => $start_tanggal, 'ket' => $ket . " (" . $start_tanggal . " - " . $end_tanggal . ")"]);
}
@@ -542,7 +543,7 @@ class Api extends RestController
public function perjalanan_dinas_get()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
$id_perjalanan_dinas = $this->get('id_perjalanan_dinas');
@@ -587,7 +588,7 @@ class Api extends RestController
if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->delete('id_dinas');
$id_perjalanan_dinas = $this->delete('id_perjalanan_dinas');
-
+
if ($id_dinas == null || $id_dinas == '' || $id_perjalanan_dinas == null || $id_perjalanan_dinas == '') {
$this->response(['message' => 'Isi Semua Form', 'stat' => false], 401);
}
@@ -609,8 +610,6 @@ class Api extends RestController
$this->model->delete('tb_perjalanan_dinas', ['id_perjalanan_dinas' => $id_perjalanan_dinas, "id_dinas" => $id_dinas]);
$this->response(['message' => 'Data Perjalanan Dinas Berhasil Dihapus'], 200);
-
-
}
public function get_today_absensi_get()
@@ -663,7 +662,7 @@ class Api extends RestController
public function surat_masuk_post()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->post('id_dinas');
@@ -738,7 +737,7 @@ class Api extends RestController
public function surat_masuk_get()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
@@ -763,6 +762,47 @@ class Api extends RestController
$this->response(['data' => $cek_surat[0], 'message' => "Surat Ditemukan", 'stat' => true], 200);
}
+ public function surat_masuk_put()
+ {
+ if ($this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+
+ $id_dinas = $this->put('id_dinas');
+ // $this->response(['data' => $id_dinas], 200);
+
+ if ($id_dinas == null || $id_dinas == '') {
+ $this->response(['message' => 'Dinas Tidak Ditemukan', 'stat' => false], 401);
+ }
+
+ $cek_dinas = $this->model->tampil_data_where('tb_dinas', ['id_dinas' => $id_dinas])->result();
+
+ if (count($cek_dinas) == 0) return $this->response(['message' => 'Dinas Tidak Ditemukan', 'stat' => false], 401);
+
+ $id_surat_masuk = $this->put('id_surat_masuk');
+ $no_surat = $this->put('no_surat');
+ $sifat = $this->put('sifat') == '' ? null : $this->put('sifat');
+ $diteruskan_kepada = $this->put('diteruskan_kepada') == '' ? null : $this->put('diteruskan_kepada');
+ $respon = $this->put('respon') == '' ? null : $this->put('respon');
+ $catatan = $this->put('catatan') == '' ? null : $this->put('catatan');
+
+ // $this->response(['data' => $catatan], 200);
+
+ if ($id_surat_masuk == null || $id_surat_masuk == '' || $no_surat == null || $no_surat == '' || $sifat == null || $sifat == '' || $diteruskan_kepada == null || $diteruskan_kepada == '' || $respon == null || $respon == '' || $catatan == null || $catatan == '') {
+ $this->response(['message' => 'Data Tidak Lengkap', 'stat' => false], 401);
+ }
+
+ $data = [
+ 'sifat' => $sifat,
+ 'diteruskan_kepada' => $diteruskan_kepada,
+ 'respon' => $respon,
+ 'catatan' => $catatan,
+ 'updated_at' => date('Y-m-d H:i:s')
+ ];
+
+ $this->model->update('tb_surat_masuk', ['id_surat_masuk' => $id_surat_masuk, 'id_dinas' => $id_dinas], $data);
+
+ $this->response(['data' => $data, 'message' => "Data No Surat " . $no_surat . " Berhasil Diupdate", 'stat' => true], 200);
+ }
+
public function reset_id_put()
{
if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
@@ -794,7 +834,7 @@ class Api extends RestController
public function detail_kegiatan_get()
{
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_laporan = $this->get('id_laporan');
@@ -809,8 +849,9 @@ class Api extends RestController
$this->response(['data' => $cek_laporan[0], 'message' => "Laporan Ditemukan", 'stat' => true], 200);
}
- public function check_jadwal_get(){
- if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
+ public function check_jadwal_get()
+ {
+ if ($this->session->userdata('level') != 'Admin' && $this->session->userdata('level') != 'Kepala Dinas') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->get('id_dinas');
@@ -824,14 +865,14 @@ class Api extends RestController
$hari = $this->get('hari');
-
+
if ($hari == null || $hari == '') {
$this->response(['message' => 'Hari Tidak Ditemukan', 'stat' => false], 401);
}
// convert $hari string to lowercase
$hari = strtolower($hari);
-
+
$cek_jadwal = $this->model->tampil_data_where('tb_pengaturan_jam_kerja_harian', ['id_dinas' => $id_dinas, 'hari' => $hari])->result();
if (count($cek_jadwal) == 0) return $this->response(['message' => 'Jadwal Tidak Ditemukan', 'stat' => false], 401);
@@ -839,7 +880,8 @@ class Api extends RestController
$this->response(['data' => $cek_jadwal[0], 'message' => "Jadwal Ditemukan", 'stat' => true], 200);
}
- public function ganti_data_admin_post(){
+ public function ganti_data_admin_post()
+ {
if ($this->session->userdata('level') != 'Admin') return $this->response(['message' => 'Failed', 'stat' => false], 401);
$id_dinas = $this->post('id_dinas');
@@ -865,7 +907,7 @@ class Api extends RestController
$username = $this->post('username');
$password = $this->post('password');
- if ($username == null || $username == '' || $password == null || $password == '')return $this->response(['message' => 'Username dan Password Tidak Boleh Kosong', 'stat' => false], 401);
+ if ($username == null || $username == '' || $password == null || $password == '') return $this->response(['message' => 'Username dan Password Tidak Boleh Kosong', 'stat' => false], 401);
$this->model->update('tb_login_admin', ['nik' => $nik], ['username' => $username, 'password' => md5($password)]);
diff --git a/application/controllers/Kepaladinas.php b/application/controllers/Kepaladinas.php
new file mode 100644
index 0000000..8f19997
--- /dev/null
+++ b/application/controllers/Kepaladinas.php
@@ -0,0 +1,711 @@
+load->model('model');
+ $this->load->model('m_tabel_ss');
+ // $this->load->library('pdf');
+ date_default_timezone_set("Asia/Kuala_Lumpur");
+ ini_set('memory_limit', '-1');
+ if ($this->session->userdata('level') != 'Kepala Dinas') {
+ $this->session->unset_userdata(array('nik', 'level'));
+ redirect('/login');
+ } else {
+ $cek_data = $this->model->tampil_data_where('tb_admin', array('nik' => $this->session->userdata('nik'), 'level' => $this->session->userdata('level'), 'id_dinas' => $this->session->userdata('id_dinas')))->result();
+ if (count($cek_data) > 0) {
+ # code...
+ $this->main['level'] = $cek_data[0]->level;
+ $this->main["nama"] = $cek_data[0]->nama;
+ $cek_data_dinas = $this->model->tampil_data_where('tb_dinas', ['id_dinas' => $cek_data[0]->id_dinas])->result()[0];
+ $this->main["id_dinas"] = $cek_data_dinas->id_dinas;
+ $this->main["dinas"] = $cek_data_dinas->dinas;
+ $this->main['lat'] = $cek_data_dinas->lat;
+ $this->main['lng'] = $cek_data_dinas->lng;
+ $this->main['radius'] = $cek_data_dinas->radius;
+ $this->month = date("m");
+ $this->year = date("Y");
+ } else {
+ $this->session->unset_userdata(array('nik', 'level'));
+ redirect('/login');
+ }
+ }
+ }
+
+ function index()
+ {
+ $main = $this->main;
+ $main["header"] = "Halaman Utama";
+ $main['list_karyawan'] = $this->model->tampil_data_where('tb_karyawan', ['id_dinas' => $main['id_dinas']])->result();
+
+ $array = $main['list_karyawan'];
+ $list = json_decode(json_encode($array), true);
+
+ $jabatan_order = ['Kepala Dinas', 'Sekretaris', 'Bendahara', 'Kepala Bidang'];
+ $new_array_list = array();
+ // loop jabatan
+ foreach ($jabatan_order as $key => $value) {
+ // loop karyawan
+ foreach ($list as $key2 => $value2) {
+ // check if $value2['jabatan'] contains $value
+ if (strpos($value2['jabatan'], $value) !== false) {
+ // if true, push to array
+ array_push($new_array_list, $value2);
+ unset($list[$key2]);
+ }
+ }
+ }
+
+ // print_r($new_array_list);
+ // print_r($list);
+ foreach ($list as $key => $value) {
+ // if $value['jabatan'] is not 'Staf' push to array
+ if ($value['jabatan'] != 'Staf') {
+ array_push($new_array_list, $value);
+ unset($list[$key]);
+ }
+ }
+
+ // print_r($new_array_list);
+ foreach ($list as $key => $value) {
+ // if $value['jabatan'] is 'Staf' push to array
+ if ($value['jabatan'] == 'Staf') {
+ array_push($new_array_list, $value);
+ unset($list[$key]);
+ }
+ }
+ $new_array_list = json_decode(json_encode($new_array_list));
+ $main['list_karyawan'] = $new_array_list;
+ $today = date("Y-m-d");
+ foreach ($new_array_list as $key => $value) {
+ $main['list_karyawan'][$key]->status_kerja = '-';
+ $check_libur = $this->model->tampil_data_where('tb_informasi_libur', ['nik' => $value->nik, 'tanggal' => $today])->result();
+
+ if (count($check_libur) > 0) {
+ $main['list_karyawan'][$key]->status_kerja = 'Libur';
+ }
+
+ $check_perjalanan_dinas = $this->model->tampil_data_where('tb_informasi_perjalanan_dinas', ['nik' => $value->nik, 'tanggal' => $today])->result();
+
+ if (count($check_perjalanan_dinas) > 0) {
+ $main['list_karyawan'][$key]->status_kerja = 'Perjalanan Dinas';
+ }
+ }
+
+ // echo $this->level;
+ $this->load->view('kepaladinas/menu/index', $main);
+ // echo $this->session->userdata('level');
+ }
+
+
+ function pengaturan()
+ {
+ $main = $this->main;
+ $main["header"] = "Halaman Lokasi Dinas";
+
+ // echo $this->level;
+ $this->load->view('kepaladinas/menu/pengaturan', $main);
+ // $this->load->view('kepaladinas/index');
+ // echo "sini index admin";
+ }
+
+
+ function karyawan($karyawan = null)
+ {
+ if ($this->input->post('proses') == "table_laporan") {
+ $list = $this->m_tabel_ss->get_datatables(array('created_at', 'ket_laporan'), array(null, 'created_at', 'ket_laporan', null), array('no_laporan' => 'desc'), "tb_laporan_karyawan", null, array("nik" => $this->input->post('nik')), "*");
+ $data = array();
+ $no = $_POST['start'];
+ foreach ($list as $field) {
+
+
+
+ $no++;
+ $row = array();
+ $row[] = $no;
+ $row[] = $field->created_at;
+ $row[] = $field->nama_laporan;
+ $row[] = "
no_laporan . '"' . ")' title='Edit Detail Karyawan' class='btn btn-primary btn-circle btn-sm waves-effect waves-light'> ";
+ $data[] = $row;
+ }
+
+ $output = array(
+ "draw" => $_POST['draw'],
+ "recordsTotal" => $this->m_tabel_ss->count_all("tb_laporan_karyawan", null, array("nik" => $this->input->post('nik')), "*"),
+ "recordsFiltered" => $this->m_tabel_ss->count_filtered(array('created_at', 'ket_laporan'), array(null, 'created_at', 'ket_laporan', null), array('no_laporan' => 'desc'), "tb_laporan_karyawan", null, array("nik" => $this->input->post('nik')), "*"),
+ "data" => $data,
+ );
+ //output dalam format JSON
+ echo json_encode($output);
+ } else if ($this->input->post('proses') == "table_karyawan") {
+ $list = $this->m_tabel_ss->get_datatables(array('nik', 'nama', 'no_telpon', 'jabatan', 'pangkat'), array(null, 'nik', 'nama', 'no_telpon', 'jabatan', 'pangkat', null), array('status' => 'desc'), "tb_karyawan", null, array("id_dinas" => $this->main['id_dinas']), "*");
+ $data = array();
+ $no = $_POST['start'];
+
+ // change stdClass $list to array
+ $list = json_decode(json_encode($list), true);
+
+ $jabatan_order = ['Kepala Dinas', 'Sekretaris', 'Bendahara', 'Kepala Bidang'];
+ $new_array_list = array();
+ // loop jabatan
+ foreach ($jabatan_order as $key => $value) {
+ // loop karyawan
+ foreach ($list as $key2 => $value2) {
+ // check if $value2['jabatan'] contains $value
+ if (strpos($value2['jabatan'], $value) !== false) {
+ // if true, push to array
+ array_push($new_array_list, $value2);
+ unset($list[$key2]);
+ }
+ }
+ }
+
+ // print_r($new_array_list);
+ // print_r($list);
+ foreach ($list as $key => $value) {
+ // if $value['jabatan'] is not 'Staf' push to array
+ if ($value['jabatan'] != 'Staf') {
+ array_push($new_array_list, $value);
+ unset($list[$key]);
+ }
+ }
+
+ // print_r($new_array_list);
+ foreach ($list as $key => $value) {
+ // if $value['jabatan'] is 'Staf' push to array
+ if ($value['jabatan'] == 'Staf') {
+ array_push($new_array_list, $value);
+ unset($list[$key]);
+ }
+ }
+
+
+
+ foreach ($new_array_list as $field) {
+
+ $stat = '';
+ $title = 'Tukar ID Smartphone';
+ if ($field['device_id'] == null || $field['device_id'] == '') {
+ $stat = 'disabled';
+ $title = 'Karyawan Belum Login Dari Smartphone';
+ }
+
+ $cek_laporan = $this->model->tampil_data_where('tb_laporan_karyawan', ['nik' => $field['nik']])->result();
+
+ if (count($cek_laporan) > 0) {
+ $ada_laporan = 'ada';
+ } else {
+ $ada_laporan = 'tidak';
+ }
+
+ $no++;
+ $row = array();
+ $row[] = $no;
+ $row[] = $field['nik'];
+ $row[] = $field['nama'];
+ $row[] = $field['no_telpon'];
+ $row[] = $field['jabatan'];
+ $row[] = $field['pangkat'];
+ $row[] = " ";
+ $data[] = $row;
+ }
+
+ $output = array(
+ "draw" => $_POST['draw'],
+ "recordsTotal" => $this->m_tabel_ss->count_all("tb_karyawan", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "recordsFiltered" => $this->m_tabel_ss->count_filtered(array('nik', 'nama', 'no_telpon', 'jabatan', 'pangkat'), array(null, 'nik', 'nama', 'no_telpon', 'jabatan', 'pangkat', null), array('status' => 'desc'), "tb_karyawan", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "data" => $data,
+ );
+ //output dalam format JSON
+ echo json_encode($output);
+ } else if ($karyawan != '' && $karyawan != null) {
+ $main = $this->main;
+ $main["header"] = "Halaman Detail Karyawan";
+ $main['karyawan'] = $this->model->tampil_data_where('tb_karyawan', ['nik' => $karyawan, 'id_dinas' => $this->main['id_dinas']])->result();
+
+ if (count($main['karyawan']) == 0) return redirect('kepaladinas/karyawan');
+
+ $cek_laporan = $this->model->tampil_data_where('tb_laporan_karyawan', ['nik' => $karyawan])->result();
+
+ if (count($cek_laporan) > 0) {
+ // echo 'ada';
+ $main['laporan'] = $cek_laporan;
+ $main['nik'] = $karyawan;
+ $nama = $main['karyawan'][0]->nama;
+ $this->load->view('kepaladinas/menu/karyawan_detail', $main);
+ } else {
+ redirect('kepaladinas/karyawan');
+ }
+ } else {
+ $main = $this->main;
+ $main["header"] = "Halaman Pegawai";
+
+ $this->load->view('kepaladinas/menu/karyawan', $main);
+ }
+
+ // echo "sini karyawan";
+ }
+
+ function jam_kerja()
+ {
+ $main = $this->main;
+ $main["header"] = "Halaman Jam Kerja";
+
+ // echo $this->level;
+ $this->load->view('kepaladinas/menu/jam_kerja', $main);
+ }
+
+
+ function libur()
+ {
+ if ($this->input->post('proses') == "table_libur") {
+ $list = $this->m_tabel_ss->get_datatables(array('range_tanggal', 'created_at'), array(null, 'range_tanggal', null, 'created_at', null), array('id_libur' => 'desc'), "tb_libur", null, array("id_dinas" => $this->main['id_dinas']), "*");
+ $data = array();
+ $no = $_POST['start'];
+ foreach ($list as $field) {
+
+ $list_karyawan = json_decode($field->list_karyawan);
+
+ $value_karyawan = '';
+ foreach ($list_karyawan as $key => $value) {
+ $check_karyawan = $this->model->tampil_data_where('tb_karyawan', ['nik' => $value])->result();
+ $value_karyawan .= " " . $check_karyawan[0]->nama . ' ,';
+ }
+
+ $value_karyawan = rtrim($value_karyawan, ",");
+
+ $no++;
+ $row = array();
+ $row[] = $no;
+ $row[] = $field->range_tanggal;
+ $row[] = $value_karyawan;
+ $row[] = $field->created_at;
+ $row[] = "id_libur . '"' . ")' title='Check Informasi Libur' class='btn btn-primary btn-circle btn-sm waves-effect waves-light'> id_libur . '"' . ")' title='Hapus Informasi Libur' class='btn btn-danger btn-circle btn-sm waves-effect waves-light'> ";
+ $data[] = $row;
+ }
+
+ $output = array(
+ "draw" => $_POST['draw'],
+ "recordsTotal" => $this->m_tabel_ss->count_all("tb_libur", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "recordsFiltered" => $this->m_tabel_ss->count_filtered(array('range_tanggal', 'created_at'), array(null, 'range_tanggal', null, 'created_at', null), array('id_libur' => 'desc'), "tb_libur", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "data" => $data,
+ );
+ //output dalam format JSON
+ echo json_encode($output);
+ } else {
+ $main = $this->main;
+ $main["header"] = "Halaman Libur";
+
+ // echo $main["header"];
+
+ $this->load->view('kepaladinas/menu/libur', $main);
+ }
+ }
+
+ function perjalanan_dinas()
+ {
+ if ($this->input->post('proses') == "table_dinas") {
+ $list = $this->m_tabel_ss->get_datatables(array('range_tanggal', 'created_at'), array(null, 'range_tanggal', null, 'created_at', null), array('id_perjalanan_dinas' => 'desc'), "tb_perjalanan_dinas", null, array("id_dinas" => $this->main['id_dinas']), "*");
+ $data = array();
+ $no = $_POST['start'];
+ foreach ($list as $field) {
+
+ $list_karyawan = json_decode($field->list_karyawan);
+
+ $value_karyawan = '';
+ foreach ($list_karyawan as $key => $value) {
+ $check_karyawan = $this->model->tampil_data_where('tb_karyawan', ['nik' => $value])->result();
+ $value_karyawan .= " " . $check_karyawan[0]->nama . ' ,';
+ }
+
+ $value_karyawan = rtrim($value_karyawan, ",");
+
+ $no++;
+ $row = array();
+ $row[] = $no;
+ $row[] = $field->range_tanggal;
+ $row[] = $value_karyawan;
+ $row[] = $field->created_at;
+ $row[] = "id_perjalanan_dinas . '"' . ")' title='Check Informasi Perjalanan Dinas' class='btn btn-primary btn-circle btn-sm waves-effect waves-light'> id_perjalanan_dinas . '"' . ")' title='Hapus Informasi Perjalanan Dinas' class='btn btn-danger btn-circle btn-sm waves-effect waves-light'> ";
+ $data[] = $row;
+ }
+
+ $output = array(
+ "draw" => $_POST['draw'],
+ "recordsTotal" => $this->m_tabel_ss->count_all("tb_perjalanan_dinas", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "recordsFiltered" => $this->m_tabel_ss->count_filtered(array('range_tanggal', 'created_at'), array(null, 'range_tanggal', null, 'created_at', null), array('id_perjalanan_dinas' => 'desc'), "tb_perjalanan_dinas", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "data" => $data,
+ );
+ //output dalam format JSON
+ echo json_encode($output);
+ } else {
+ $main = $this->main;
+ $main["header"] = "Halaman Perjalanan Dinas";
+
+ // echo $main["header"];
+
+ $this->load->view('kepaladinas/menu/perjalanan_dinas', $main);
+ }
+ }
+
+
+ function cetak_list_pegawai()
+ {
+ $this->load->library('Pdf');
+ // A4 paper in portrait orientation
+ $pdf = new Pdf('P', 'mm', array(210, 300), true, 'UTF-8', false);
+ $pdf->SetMargins(10, 30);
+ $pdf->AddPage();
+ $pdf->SetFont('times', '', 10);
+
+ $list_karyawan = $this->model->tampil_data_where(('tb_karyawan'), ['id_dinas' => $this->main['id_dinas']])->result_array();
+ $jabatan_order = ['Kepala Dinas', 'Sekretaris', 'Bendahara', 'Kepala Bidang'];
+ $array = array();
+ // loop jabatan
+ foreach ($jabatan_order as $key => $value) {
+ // loop karyawan
+ foreach ($list_karyawan as $key2 => $value2) {
+ // check if $value2['jabatan'] contains $value
+ if (strpos($value2['jabatan'], $value) !== false) {
+ // if true, push to array
+ array_push($array, $value2);
+ unset($list_karyawan[$key2]);
+ }
+ }
+ }
+
+ // print_r($array);
+ // print_r($list_karyawan);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is not 'Staf' push to array
+ if ($value['jabatan'] != 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ // print_r($array);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is 'Staf' push to array
+ if ($value['jabatan'] == 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ $list_karyawan = json_decode(json_encode($array));
+
+ $html = '
+
+
+
+ DAFTAR PEGAWAI
+
+
+
+
+
+ ';
+
+ $html .= '
+
+
+ No
+ Nama
+ NIK
+ Jabatan
+ Status
+ Pangkat
+ Keanggotaan
+
+ ';
+
+ foreach ($list_karyawan as $key => $value) {
+ $html .= '
+
+ ' . ($key + 1) . '
+ ' . $value->nik . '
+ ' . $value->nama . '
+ ' . $value->jabatan . '
+ ' . $value->status . '
+ ' . $value->pangkat . '
+ ' . $value->keanggotaan . '
+
+ ';
+ }
+
+ $html .= '
+
+ ';
+
+ $html .= '
+
+
+
+
+
+
+ Topoyo, / ' . date('d / ') . $this->model->bulan(date('m')) . '/ 2022
+
+
+
+
+
+
+
+
+ Kepala Dinas Pariwisata
+
+
+
+
+
+
+
+
+ Kepemudaaan Dan Olahraga
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HJ. NANDA . S. Kep ., MM
+
+
+
+
+
+
+
+
+ Pangkat: Pembina Tk. IIVb
+
+
+
+
+
+
+
+
+ Nip . 12312321
+
+
+
+
+
+
+ ';
+
+ $pdf->writeHTML($html, true, false, true, false, '');
+ $pdf->Output("laporan data pasien.pdf", 'I');
+ }
+
+ function surat_masuk()
+ {
+
+ if ($this->input->post('proses') == "table_surat_masuk") {
+ $list = $this->m_tabel_ss->get_datatables(array('no_surat', 'asal_surat', 'tanggal_pengiriman', 'tanggal_diterima', 'created_at', 'updated_at'), array('no_surat', 'asal_surat', 'tanggal_pengiriman', 'tanggal_diterima', 'created_at', 'updated_at', null), array('id_surat_masuk' => 'desc'), "tb_surat_masuk", null, array("id_dinas" => $this->main['id_dinas']), "*");
+ $data = array();
+ $no = $_POST['start'];
+ foreach ($list as $field) {
+
+ $no++;
+ $row = array();
+ $row[] = $field->no_surat;
+ $row[] = $field->tanggal_pengiriman;
+ $row[] = $field->tanggal_diterima;
+ $row[] = $field->no_agenda;
+ $row[] = $field->created_at;
+ $row[] = $field->updated_at;
+ $row[] = "id_surat_masuk . '"' . ")' title='Check Informasi Surat Masuk' class='btn btn-primary btn-circle btn-sm waves-effect waves-light'> id_surat_masuk . '"' . ")' title='Lihat Surat Masuk' class='btn btn-success btn-circle btn-sm waves-effect waves-light'> ";
+ $data[] = $row;
+ }
+
+ $output = array(
+ "draw" => $_POST['draw'],
+ "recordsTotal" => $this->m_tabel_ss->count_all("tb_surat_masuk", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "recordsFiltered" => $this->m_tabel_ss->count_filtered(array('no_surat', 'asal_surat', 'tanggal_pengiriman', 'tanggal_diterima', 'created_at', 'updated_at'), array('no_surat', 'asal_surat', 'tanggal_pengiriman', 'tanggal_diterima', null), array('id_surat_masuk' => 'desc'), "tb_surat_masuk", null, array("id_dinas" => $this->main['id_dinas']), "*"),
+ "data" => $data,
+ );
+ //output dalam format JSON
+ echo json_encode($output);
+ } else {
+ $main = $this->main;
+ $main["header"] = "Halaman Surat Masuk";
+
+
+
+ $this->load->view('kepaladinas/menu/surat_masuk', $main);
+ }
+ }
+
+
+ function laporan($month = null, $year = null)
+ {
+ $main = $this->main;
+ $main["header"] = "Halaman Laporan";
+
+ // $main["month"] = $month != null ? $month : date("m");
+ $main["month"] = $month != null ? $month : date("m");
+ $main["year"] = $year != null ? $year : date("Y");
+
+ $main["first_date"] = ($main["month"] == "09" && $main["year"] == 2022) ? 21 : 1;
+
+ $main["last_date"] = date("d");
+
+ // echo $main["month"].;
+ // echo $main["year"] . "ini year";
+ // $i = 21;
+ // $tanggal = strlen($i) == 1 ? "0" . $i : $i;
+ // echo $tanggal;
+
+ $list_karyawan = $this->model->tampil_data_where(('tb_karyawan'), ['id_dinas' => $this->main['id_dinas']])->result_array();
+
+ $jabatan_order = ['Kepala Dinas', 'Sekretaris', 'Bendahara', 'Kepala Bidang'];
+ $array = array();
+ // loop jabatan
+ foreach ($jabatan_order as $key => $value) {
+ // loop karyawan
+ foreach ($list_karyawan as $key2 => $value2) {
+ // check if $value2['jabatan'] contains $value
+ if (strpos($value2['jabatan'], $value) !== false) {
+ // if true, push to array
+ array_push($array, $value2);
+ unset($list_karyawan[$key2]);
+ }
+ }
+ }
+
+ // print_r($array);
+ // print_r($list_karyawan);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is not 'Staf' push to array
+ if ($value['jabatan'] != 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ // print_r($array);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is 'Staf' push to array
+ if ($value['jabatan'] == 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ // change array to stdClass
+ $main["list_karyawan"] = json_decode(json_encode($array));
+
+ // print_r($main['list_karyawan']);
+
+ $this->load->view('kepaladinas/menu/laporan', $main);
+ }
+
+ function cetakPDF($stat = null, $month = null, $year = null)
+ {
+ $main = $this->main;
+
+ if ($stat == null) {
+ redirect(base_url('kepaladinas'));
+ }
+ if ($stat != 'pns' && $stat != 'kontrak') {
+ redirect(base_url('kepaladinas'));
+ }
+
+ $main['stat'] = $stat == 'pns' ? 'PNS' : 'Kontrak';
+
+ $month = $month != null ? $month : date("m");
+ $year = $year != null ? $year : date("Y");
+
+ $main['month'] = $month;
+ $main['year'] = $year;
+
+ $list_karyawan = $this->model->tampil_data_where(('tb_karyawan'), ['id_dinas' => $this->main['id_dinas']])->result_array();
+
+ $jabatan_order = ['Kepala Dinas', 'Sekretaris', 'Bendahara', 'Kepala Bidang'];
+ $array = array();
+ // loop jabatan
+ foreach ($jabatan_order as $key => $value) {
+ // loop karyawan
+ foreach ($list_karyawan as $key2 => $value2) {
+ // check if $value2['jabatan'] contains $value
+ if (strpos($value2['jabatan'], $value) !== false) {
+ // if true, push to array
+ array_push($array, $value2);
+ unset($list_karyawan[$key2]);
+ }
+ }
+ }
+
+ // print_r($array);
+ // print_r($list_karyawan);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is not 'Staf' push to array
+ if ($value['jabatan'] != 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ // print_r($array);
+ foreach ($list_karyawan as $key => $value) {
+ // if $value['jabatan'] is 'Staf' push to array
+ if ($value['jabatan'] == 'Staf') {
+ array_push($array, $value);
+ unset($list_karyawan[$key]);
+ }
+ }
+
+ $main['list_karyawan'] = json_decode(json_encode($array));
+ $main['title'] = "Laporan Data Karyawan " . $main['stat'] . " Bulan " . $this->model->bulan($month) . " Tahun " . $year;
+
+ $main['title2'] = 'Daftar Hadir Harian ';
+ $main['title2'] .= $stat == 'pns' ? "Pegawai Negeri Sipil" : "Tenaga Kontrak";
+ $main['title3'] = $this->model->bulan($month) . " " . $year;
+
+ $this->load->view('kepaladinas/menu/cetak_pdf', $main);
+ }
+
+ function logout()
+ {
+ $this->session->sess_destroy();
+ redirect(base_url('login'));
+ }
+}
diff --git a/application/views/admin/menu/index.php b/application/views/admin/menu/index.php
index 84f6784..933ec9b 100644
--- a/application/views/admin/menu/index.php
+++ b/application/views/admin/menu/index.php
@@ -2,11 +2,11 @@
-load->view("admin/header"); ?>
+load->view("kepaladinas/header"); ?>
- load->view("admin/side_topbar"); ?>
+ load->view("kepaladinas/side_topbar"); ?>
@@ -67,13 +67,13 @@
- load->view('admin/footer') ?>
+ load->view('kepaladinas/footer') ?>
- load->view('admin/scripts') ?>
+ load->view('kepaladinas/scripts') ?>
@@ -255,7 +255,8 @@
// console.log("selalu jalankan")
// get current time
const today = new Date();
- const time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
+ // chnage time to overall seconds
+ let time = today.getHours() * 3600 + today.getMinutes() * 60 + today.getSeconds();
let data
try {
@@ -285,6 +286,14 @@
jam_masuk = addMinutes(jam_masuk, -30)
jam_pulang = addMinutes(jam_pulang, 30)
+ // get the overall seconds of jam_masuk and jam_pulang
+ jam_masuk = jam_masuk.split(":")[0] * 3600 + jam_masuk.split(":")[1] * 60
+ jam_pulang = jam_pulang.split(":")[0] * 3600 + jam_pulang.split(":")[1] * 60
+
+ console.log("jam_masuk", jam_masuk)
+ console.log("jam_pulang", jam_pulang)
+ console.log("time", time)
+
if (time >= jam_masuk && time <= jam_pulang) {
$("#map").attr("hidden", false);
$("#title_peta").attr("style", "display:none");
diff --git a/application/views/admin/menu/laporan.php b/application/views/admin/menu/laporan.php
index 5a6dc88..97171de 100644
--- a/application/views/admin/menu/laporan.php
+++ b/application/views/admin/menu/laporan.php
@@ -1283,7 +1283,7 @@
$("#isi_laporan").append(laporan);
$("#modal_pdf").modal("show");
// await 2 sec
- await new Promise(r => setTimeout(r, 500));
+ await new Promise(r => setTimeout(r, 5000));
// close modal
$("#modal_pdf").modal("hide");
}
diff --git a/application/views/admin/menu/surat_masuk.php b/application/views/admin/menu/surat_masuk.php
index ce5cb52..b9f6dce 100644
--- a/application/views/admin/menu/surat_masuk.php
+++ b/application/views/admin/menu/surat_masuk.php
@@ -302,6 +302,7 @@
block_ui("Sedang Proses");
},
success: function(data) {
+ $.unblockUI();
// hide modal
$('#modal_surat_masuk').modal('hide');
// console.log(data)
diff --git a/application/views/admin/scripts.php b/application/views/admin/scripts.php
index ab3f5d9..cef8cfd 100644
--- a/application/views/admin/scripts.php
+++ b/application/views/admin/scripts.php
@@ -54,7 +54,7 @@
}
}).then((result) => {
if (result) {
- window.location.href = server_url + 'admin/logout';
+ window.location.href = server_url + 'kepaladinas/logout';
}
})
}
diff --git a/application/views/kepaladinas/footer.php b/application/views/kepaladinas/footer.php
new file mode 100644
index 0000000..f0c7fed
--- /dev/null
+++ b/application/views/kepaladinas/footer.php
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/header.php b/application/views/kepaladinas/header.php
new file mode 100644
index 0000000..55944b9
--- /dev/null
+++ b/application/views/kepaladinas/header.php
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+ Sistem Kedisiplinan = $dinas ?> - = $header ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/admin_detail.php b/application/views/kepaladinas/menu/admin_detail.php
new file mode 100644
index 0000000..361c5fd
--- /dev/null
+++ b/application/views/kepaladinas/menu/admin_detail.php
@@ -0,0 +1,113 @@
+
+
+
+
+load->view("admin/header"); ?>
+
+
+
+ load->view("admin/side_topbar"); ?>
+
+
+
+
+
+
+ load->view('admin/footer') ?>
+
+
+
+
+
+ load->view('admin/scripts') ?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/cetak_pdf.php b/application/views/kepaladinas/menu/cetak_pdf.php
new file mode 100644
index 0000000..a492bf0
--- /dev/null
+++ b/application/views/kepaladinas/menu/cetak_pdf.php
@@ -0,0 +1,701 @@
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PEMERINTA KABUPATEN MAMUJU TENGAH DINAS PARIWISATA KEPEMUDAAN DAN OLAHRAGA
+ Alamat : Jl, Abdul Majid Pattaro Pura Kab. Mamuju Tengah, Prov. Sulawesi Barat
+
+
+
+
+
+
+
+
+
+
=$title2?>
+
=$title3?>
+ load->model('model');
+ $first_day = date('l', strtotime($year . '-' . $month . '-01'));
+ // get the number of days in the month
+ $days_in_month = date('t', strtotime($year . '-' . $month . '-01'));
+ // print_r($days_in_month);
+
+ // loop the days in the month start from day monday to friday, if day is saturday or sunday, skip it, if day start not from monday, add empty cell
+
+ // $week_array = [];
+ $day_array = [];
+
+ for ($i = 1; $i <= $days_in_month; $i++) {
+ $tanggal = strlen($i) == 1 ? "0" . $i : $i;
+ $date = $year . '-' . $month . '-' . $tanggal;
+ $day = date('l', strtotime($date));
+ if ($day == 'Saturday' || $day == 'Sunday') {
+ continue;
+ }
+
+ // if the day is not monday, add the previous to monday but null
+
+
+ // if reach day friday, add the week array to week array
+
+
+ $day_array[] = ['date' => $date, 'day' => $day];
+ // echo '
';
+ // echo $i;
+ // echo '
';
+ }
+
+ // print_r($day_array[0]['day']);
+ // if $day_array[0]['day'] is tuesday, add monday to array, if $day_array[0]['day'] is wednesday, add monday and tuesday to array, if $day_array[0]['day'] is thursday, add monday, tuesday, and wednesday to array, if $day_array[0]['day'] is friday, add monday, tuesday, wednesday, and thursday to array
+ if ($day_array[0]['day'] == 'Tuesday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Wednesday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Thursday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Friday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday']], $day_array);
+ }
+
+ // if $day_array[count($day_array) - 1]['day'] is monday, add tuesday , wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is tuesday, add wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is wednesday, add thursday and friday to array, if $day_array[count($day_array) - 1]['day'] is thursday, add friday to array
+
+ if ($day_array[count($day_array) - 1]['day'] == 'Monday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Tuesday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Wednesday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Thursday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Friday']]);
+ }
+
+ // print_r($day_array);
+
+ $week_array = [];
+
+ for ($i = 0; $i < count($day_array); $i++) {
+ if ($i % 5 == 0) {
+ $week_array[] = [$day_array[$i], $day_array[$i + 1], $day_array[$i + 2], $day_array[$i + 3], $day_array[$i + 4]];
+ }
+ }
+ foreach ($week_array as $week) {
+ ?>
+
+
+
+ NO
+ NAMA
+ JAM/ PARAF
+
+ model->hari($week[0]['day']) . ', ' . $date;
+ ?>
+
+
+
+ model->hari($week[1]['day']) . ', ' . $date;
+ ?>
+
+
+
+ model->hari($week[2]['day']) . ', ' . $date;
+ ?>
+
+
+ model->hari($week[3]['day']) . ', ' . $date;
+ ?>
+
+
+ model->hari($week[4]['day']) . ', ' . $date;
+ ?>
+
+ Ket
+
+
+
+
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+
+
+
+
+
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+
+
+
+
+ $value) {
+ if ($value->status == $stat) {
+ ?>
+
+ = $no++; ?>
+ = $value->nama; ?>
+ Jam
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_senin) > 0) {
+ $cek_data_senin = $cek_data_senin[0];
+ } else {
+ $cek_data_senin = null;
+ }
+ }
+ echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? "  " . $cek_data_senin->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_senin->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_senin->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_senin->jam_pulang . "    " : '-';
+ ?>
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_selasa) > 0) {
+ $cek_data_selasa = $cek_data_selasa[0];
+ } else {
+ $cek_data_selasa = null;
+ }
+ }
+ echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? "  " . $cek_data_selasa->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_selasa->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_selasa->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_selasa->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_rabu) > 0) {
+ $cek_data_rabu = $cek_data_rabu[0];
+ } else {
+ $cek_data_rabu = null;
+ }
+ }
+ echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? "  " . $cek_data_rabu->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_rabu->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_rabu->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_rabu->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_kamis) > 0) {
+ $cek_data_kamis = $cek_data_kamis[0];
+ } else {
+ $cek_data_kamis = null;
+ }
+ }
+ echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? "  " . $cek_data_kamis->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_kamis->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_kamis->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_kamis->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_jumat) > 0) {
+ $cek_data_jumat = $cek_data_jumat[0];
+ } else {
+ $cek_data_jumat = null;
+ }
+ }
+ echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? "  " . $cek_data_jumat->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_jumat->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_jumat->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_jumat->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+
+
+ = $value->nik; ?>  
+
+
+ = $value->pangkat; ?>
+ Paraf
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_senin) > 0) {
+ $cek_data_senin = $cek_data_senin[0];
+ } else {
+ $cek_data_senin = null;
+ }
+ }
+ echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_selasa) > 0) {
+ $cek_data_selasa = $cek_data_selasa[0];
+ } else {
+ $cek_data_selasa = null;
+ }
+ }
+ echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_rabu) > 0) {
+ $cek_data_rabu = $cek_data_rabu[0];
+ } else {
+ $cek_data_rabu = null;
+ }
+ }
+ echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_kamis) > 0) {
+ $cek_data_kamis = $cek_data_kamis[0];
+ } else {
+ $cek_data_kamis = null;
+ }
+ }
+ echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_jumat) > 0) {
+ $cek_data_jumat = $cek_data_jumat[0];
+ } else {
+ $cek_data_jumat = null;
+ }
+ }
+ echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+
+ = $value->jabatan; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Keterangan :
+
+
+
+ Topoyo, / model->bulan( date('m'));?> / 2022
+
+
+
+
+
+
+ TK = Tanpa Keterangan
+
+
+
+ Kepala Dinas Pariwisata
+
+
+
+
+
+
+ S = Sakit
+
+
+
+ Kepemudaaan Dan Olahraga
+
+
+
+
+
+
+ I = Izin
+
+
+
+
+
+
+
+
+ DL = Dinas Luar
+
+
+
+
+
+
+
+
+ C = Cuti
+
+
+
+
+
+
+
+
+ M = Masuk
+
+
+
+ HJ. NANDA . S. Kep ., MM
+
+
+
+
+
+
+ P = Pulang
+
+
+
+ Pangkat: Pembina Tk. IIVb
+
+
+
+
+
+
+
+
+ Nip . 12312321
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/index.php b/application/views/kepaladinas/menu/index.php
new file mode 100644
index 0000000..933ec9b
--- /dev/null
+++ b/application/views/kepaladinas/menu/index.php
@@ -0,0 +1,333 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NIP
+ Nama
+ Status
+ Last Updated
+
+
+
+ $value) {
+ ?>
+
+ = $value->nik ?>
+ = $value->nama ?>
+ = $value->status_kerja ?>
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/jam_kerja.php b/application/views/kepaladinas/menu/jam_kerja.php
new file mode 100644
index 0000000..d10c19f
--- /dev/null
+++ b/application/views/kepaladinas/menu/jam_kerja.php
@@ -0,0 +1,164 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
List Hari Jam Kerja
+
+
+
+
+
+
+ Hari
+ Jam Masuk
+ Jam Istirehat
+ Jam Masuk Kembali
+ Jam Pulang
+
+
+
+
+ Senin
+ -
+ -
+ -
+ -
+
+
+
+ Selasa
+ -
+ -
+ -
+ -
+
+
+
+ Rabu
+ -
+ -
+ -
+ -
+
+
+
+ Kamis
+ -
+ -
+ -
+ -
+
+
+
+ Jumat
+ -
+ -
+ -
+ -
+
+
+
+ Sabtu
+ -
+ -
+ -
+ -
+
+
+
+ Ahad
+ -
+ -
+ -
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/karyawan.php b/application/views/kepaladinas/menu/karyawan.php
new file mode 100644
index 0000000..7c889c0
--- /dev/null
+++ b/application/views/kepaladinas/menu/karyawan.php
@@ -0,0 +1,324 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
List Pegawai
+
+
+
+ Cetak List Pegawai
+
+
+
+
+
+ No
+ NIP
+ Nama
+ No Telpon
+ Jabatan
+ Pangkat
+ Aksi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/karyawan_detail.php b/application/views/kepaladinas/menu/karyawan_detail.php
new file mode 100644
index 0000000..b23826b
--- /dev/null
+++ b/application/views/kepaladinas/menu/karyawan_detail.php
@@ -0,0 +1,175 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
Laporan Kegiatan Pegawai
+
+
+
+
+
+
+
+ No
+ Tanggal Upload
+ Judul
+ Aksi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Waktu Kegiatan
+
+
+
+
+ Judul Kegiatan
+
+
+
+
+ Keterangan Kegiatan
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/laporan copy.php b/application/views/kepaladinas/menu/laporan copy.php
new file mode 100644
index 0000000..b9e36ed
--- /dev/null
+++ b/application/views/kepaladinas/menu/laporan copy.php
@@ -0,0 +1,221 @@
+
+
+
+
+load->view("admin/header"); ?>
+
+
+
+ load->view("admin/side_topbar"); ?>
+
+
+
+
+
+
+
+
Filter Laporan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Laporan Absensi Bulan = $month ?>, Tahun = $year ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('admin/footer') ?>
+
+
+
+
+
+
+
+ load->view('admin/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/laporan.php b/application/views/kepaladinas/menu/laporan.php
new file mode 100644
index 0000000..8159272
--- /dev/null
+++ b/application/views/kepaladinas/menu/laporan.php
@@ -0,0 +1,1297 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
+
Filter Laporan
+
+
+ Bulan
+
+ -Pilih Bulan
+ September
+ Oktober
+ November
+
+
+
+ Tahun
+
+ -Pilih Tahun
+ 2022
+
+
+
+ Filter Laporan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Laporan Absensi Pegawai PNS Bulan = $month ?>, Tahun = $year ?>
+
+
+
+
+ Cetak Laporan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Laporan Absensi Pegawai Kontrak Bulan = $month ?>, Tahun = $year ?>
+
+
+
+ Cetak Laporan
+
+
+ load->model('model');
+ $first_day = date('l', strtotime($year . '-' . $month . '-01'));
+ // get the number of days in the month
+ $days_in_month = date('t', strtotime($year . '-' . $month . '-01'));
+ // print_r($days_in_month);
+
+ // loop the days in the month start from day monday to friday, if day is saturday or sunday, skip it, if day start not from monday, add empty cell
+
+ // $week_array = [];
+ $day_array = [];
+
+ for ($i = 1; $i <= $days_in_month; $i++) {
+ $tanggal = strlen($i) == 1 ? "0" . $i : $i;
+ $date = $year . '-' . $month . '-' . $tanggal;
+ $day = date('l', strtotime($date));
+ if ($day == 'Saturday' || $day == 'Sunday') {
+ continue;
+ }
+
+ // if the day is not monday, add the previous to monday but null
+
+
+ // if reach day friday, add the week array to week array
+
+
+ $day_array[] = ['date' => $date, 'day' => $day];
+ // echo '
';
+ // echo $i;
+ // echo '
';
+ }
+
+ // print_r($day_array[0]['day']);
+ // if $day_array[0]['day'] is tuesday, add monday to array, if $day_array[0]['day'] is wednesday, add monday and tuesday to array, if $day_array[0]['day'] is thursday, add monday, tuesday, and wednesday to array, if $day_array[0]['day'] is friday, add monday, tuesday, wednesday, and thursday to array
+ if ($day_array[0]['day'] == 'Tuesday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Wednesday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Thursday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday']], $day_array);
+ } else if ($day_array[0]['day'] == 'Friday') {
+ $day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday']], $day_array);
+ }
+
+ // if $day_array[count($day_array) - 1]['day'] is monday, add tuesday , wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is tuesday, add wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is wednesday, add thursday and friday to array, if $day_array[count($day_array) - 1]['day'] is thursday, add friday to array
+
+ if ($day_array[count($day_array) - 1]['day'] == 'Monday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Tuesday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Wednesday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
+ } else if ($day_array[count($day_array) - 1]['day'] == 'Thursday') {
+ $day_array = array_merge($day_array, [['date' => '', 'day' => 'Friday']]);
+ }
+
+ // print_r($day_array);
+
+ $week_array = [];
+
+ for ($i = 0; $i < count($day_array); $i++) {
+ if ($i % 5 == 0) {
+ $week_array[] = [$day_array[$i], $day_array[$i + 1], $day_array[$i + 2], $day_array[$i + 3], $day_array[$i + 4]];
+ }
+ }
+
+ // print_r($week_array);
+
+
+ foreach ($week_array as $week) {
+
+
+ ?>
+
+
+
+ NO
+ NAMA
+ JAM/PARAF
+
+ model->hari($week[0]['day']) . ', ' . $date;
+ ?>
+
+
+
+ model->hari($week[1]['day']) . ', ' . $date;
+ ?>
+
+
+
+ model->hari($week[2]['day']) . ', ' . $date;
+ ?>
+
+
+ model->hari($week[3]['day']) . ', ' . $date;
+ ?>
+
+
+ model->hari($week[4]['day']) . ', ' . $date;
+ ?>
+
+ Ket
+
+
+
+
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+ Pagi
+ Siang
+
+
+
+
+
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+ M
+ P
+
+
+
+
+ $value) {
+ if ($value->status == 'Kontrak') {
+ ?>
+
+ = $no++; ?>
+ = $value->nama; ?>
+ Jam
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_senin) > 0) {
+ $cek_data_senin = $cek_data_senin[0];
+ } else {
+ $cek_data_senin = null;
+ }
+ }
+ echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? "  " . $cek_data_senin->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_senin->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_senin->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_senin->jam_pulang . "    " : '-';
+ ?>
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_selasa) > 0) {
+ $cek_data_selasa = $cek_data_selasa[0];
+ } else {
+ $cek_data_selasa = null;
+ }
+ }
+ echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? "  " . $cek_data_selasa->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_selasa->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_selasa->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_selasa->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_rabu) > 0) {
+ $cek_data_rabu = $cek_data_rabu[0];
+ } else {
+ $cek_data_rabu = null;
+ }
+ }
+ echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? "  " . $cek_data_rabu->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_rabu->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_rabu->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_rabu->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_kamis) > 0) {
+ $cek_data_kamis = $cek_data_kamis[0];
+ } else {
+ $cek_data_kamis = null;
+ }
+ }
+ echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? "  " . $cek_data_kamis->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_kamis->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_kamis->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_kamis->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_jumat) > 0) {
+ $cek_data_jumat = $cek_data_jumat[0];
+ } else {
+ $cek_data_jumat = null;
+ }
+ }
+ echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? "  " . $cek_data_jumat->jam_masuk . "    " : '-';
+ ?>
+
+
+ jam_istirehat != '') ? "  " . $cek_data_jumat->jam_istirehat . "    " : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? "  " . $cek_data_jumat->jam_masuk_kembali . "    " : '-';
+ ?>
+
+
+ jam_pulang != '') ? "  " . $cek_data_jumat->jam_pulang . "    " : '-';
+ ?>
+
+
+
+
+
+
+ = $value->nik; ?>
+
+
+ = $value->pangkat; ?>
+ Paraf
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_senin) > 0) {
+ $cek_data_senin = $cek_data_senin[0];
+ } else {
+ $cek_data_senin = null;
+ }
+ }
+ echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_selasa) > 0) {
+ $cek_data_selasa = $cek_data_selasa[0];
+ } else {
+ $cek_data_selasa = null;
+ }
+ }
+ echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_rabu) > 0) {
+ $cek_data_rabu = $cek_data_rabu[0];
+ } else {
+ $cek_data_rabu = null;
+ }
+ }
+ echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_kamis) > 0) {
+ $cek_data_kamis = $cek_data_kamis[0];
+ } else {
+ $cek_data_kamis = null;
+ }
+ }
+ echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+ model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result();
+
+ if (count($cek_data_jumat) > 0) {
+ $cek_data_jumat = $cek_data_jumat[0];
+ } else {
+ $cek_data_jumat = null;
+ }
+ }
+ echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? ' ' : '-';
+ ?>
+
+
+ jam_istirehat != '') ? ' ' : '-';
+ ?>
+
+
+ jam_masuk_kembali != '') ? ' ' : '-';
+ ?>
+
+
+ jam_pulang != '') ? ' ' : '-';
+ ?>
+
+
+
+
+
+ = $value->jabatan; ?>
+
+
+
+
+
+
+
";
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/libur.php b/application/views/kepaladinas/menu/libur.php
new file mode 100644
index 0000000..6fd4fd9
--- /dev/null
+++ b/application/views/kepaladinas/menu/libur.php
@@ -0,0 +1,169 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
+
+
List Libur
+
+
+
+
+
+ No
+ Range Tanggal
+ List Pegawai
+ Created At
+ Aksi
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/pengaturan.php b/application/views/kepaladinas/menu/pengaturan.php
new file mode 100644
index 0000000..bcd6a0e
--- /dev/null
+++ b/application/views/kepaladinas/menu/pengaturan.php
@@ -0,0 +1,97 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
+
Titik Lokasi Dinas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/perjalanan_dinas.php b/application/views/kepaladinas/menu/perjalanan_dinas.php
new file mode 100644
index 0000000..769db56
--- /dev/null
+++ b/application/views/kepaladinas/menu/perjalanan_dinas.php
@@ -0,0 +1,168 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
+
+
List Libur
+
+
+
+
+
+ No
+ Range Tanggal
+ List Pegawai
+ Created At
+ Aksi
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/menu/surat_masuk.php b/application/views/kepaladinas/menu/surat_masuk.php
new file mode 100644
index 0000000..7d3aa57
--- /dev/null
+++ b/application/views/kepaladinas/menu/surat_masuk.php
@@ -0,0 +1,440 @@
+
+
+
+
+load->view("kepaladinas/header"); ?>
+
+
+
+ load->view("kepaladinas/side_topbar"); ?>
+
+
+
+
+
+
+
List Surat
+
+
+
+
+
+
+
+ No Surat
+ Tanggal Pengiriman
+ Tanggal Diterima
+ No Agenda
+ Created At
+ Updated At
+ Aksi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/footer') ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Asal Surat
+
+
+
+
+ No. Surat
+
+
+
+ Tanggal Pengiriman
+
+
+
+ Tanggal Diterima
+
+
+
+ No. Agenda
+
+
+
+ Sifat
+
+ -Pilih Sifat
+ Tiada
+ Segera
+ Rahsia
+ Sangat Rahsia
+
+
+
+
+ Perihal
+
+
+
+ Diteruskan Kepada
+
+ -Pilih Opsi
+ Tiada
+ Sekretaris
+ Bidang Pemuda
+ Bidang Olahraga
+ Bidang Pariwisata
+ Bidang Ekonomi Kreatif
+ Sub Bagian Perencanaan
+ Sub Bagian Keuangan Dan Kepegawaian
+ Sub Bagian Umum Dan Perlengkapan
+ Kasi Sarana Dan Prasarana Olahraga
+
+
+
+ Respon
+
+ -Pilih Opsi
+ Tiada
+ Tanggapan dan Saran
+ Proses Lebih Lanjut
+ Koordinasi dan Konfirmasi
+ Didampingi / Diwakili
+
+
+
+ Upload File PDF Surat
+
+
+
+
+ Catatan
+
+
+
+
+
+
+
+
+
+
+
+ load->view('kepaladinas/scripts') ?>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/scripts.php b/application/views/kepaladinas/scripts.php
new file mode 100644
index 0000000..ab3f5d9
--- /dev/null
+++ b/application/views/kepaladinas/scripts.php
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ session->flashdata('info')) { ?>
+
+
+
+
\ No newline at end of file
diff --git a/application/views/kepaladinas/side_topbar.php b/application/views/kepaladinas/side_topbar.php
new file mode 100644
index 0000000..04e719a
--- /dev/null
+++ b/application/views/kepaladinas/side_topbar.php
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
Navigasi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
= $header ?>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/application/views/login/index.php b/application/views/login/index.php
index 0ed107d..bc29ad7 100644
--- a/application/views/login/index.php
+++ b/application/views/login/index.php
@@ -120,8 +120,11 @@
// dangerMode: true,
})
delay(1500)
- window.location.replace(server_url + "admin")
+ if(response.level == 1) return window.location.replace(server_url + "admin");
+ if(response.level == 2) return window.location.replace(server_url + "kepaladinas");
+
// console.log(response)
+
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$.unblockUI();
diff --git a/readme.rst b/readme.rst
index 9399e9f..b842685 100644
--- a/readme.rst
+++ b/readme.rst
@@ -1,8 +1,8 @@
###################
-Kicap Karan - Koperasi Server
+Kicap Karan - Absensi Admin
###################
-Backend of Koperasi Project
+Backend of Absensi Admin
*******************
Release Information