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[] = "
"; + $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[] = "
"; + $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[] = "
"; + $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 .= ' + + + + + + + + + + + '; + + foreach ($list_karyawan as $key => $value) { + $html .= ' + + + + + + + + + + '; + } + + $html .= ' +
NoNamaNIKJabatanStatusPangkatKeanggotaan
' . ($key + 1) . '' . $value->nik . '' . $value->nama . '' . $value->jabatan . '' . $value->status . '' . $value->pangkat . '' . $value->keanggotaan . '


+ '; + + $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[] = "
"; + $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"); ?> + +
+
+
+
+
+
+

Ubah Username dan Password

+
+ + +
+
+ + +
+
+ + +
+ + +
+ +
+ + +
+ +
+ +
+ + < + +
+ + + 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

+
+
+ +

+
+

+ 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) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $value) { + if ($value->status == $stat) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NONAMAJAM/
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
PagiSiangPagiSiangPagiSiangPagiSiangPagiSiang
MPMPMPMPMPMPMPMPMPMP
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 . "    " : '-'; + ?> +
nik; ?>  
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 != '') ? ' ' : '-'; + ?> +
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"); ?> + +
+
+
+
+
+

Peta Absensi

+ + +
+
+ +
+
+ +
+ +
+ + +
+
+

Absensi Pegawai

+ +
+
+ + + + + + + + + + + $value) { + ?> + + + + + + + + +
NIPNamaStatusLast Updated
nik ?>nama ?> 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

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HariJam MasukJam IstirehatJam Masuk KembaliJam 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

+ +
+
+ +
+
+ + + + + + + + + + + + + +
NoNIPNamaNo TelponJabatanPangkatAksi
+
+
+ + +
+ +
+ + + + +
+ + + 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

+ +
+ +
+ + + + + + + + + + +
NoTanggal UploadJudulAksi
+
+
+ + +
+ +
+ + + + +
+ + + load->view('kepaladinas/footer') ?> + +
+ +
+ + + + 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 , Tahun

+ +
+
+ + + + + + + + + + + + + + + + +
NAMAJAM/PARAFTanggalStatusJam MasukJam IstirehatJam Masuk KembaliJam PulangAksi
+
+ +
+
+ +
+
+ +
+ +
+ + + + +
+ + + 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

+
+
+ + +
+
+ + +
+
+ +
+
+
+ +
+ +
+ + + +
+ +
+
+
+

Laporan Absensi Pegawai PNS Bulan , Tahun

+ + + +
+ +
+ + + + +
+ + +
+
+
+

Laporan Absensi Pegawai Kontrak Bulan , Tahun

+ + + +
+ +
+ + + + +
+ + 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

+
+
+ + + + + + + + + + + +
NoRange TanggalList PegawaiCreated AtAksi
+
+
+
+
+
+ + + 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

+
+
+ + + + + + + + + + + +
NoRange TanggalList PegawaiCreated AtAksi
+
+
+
+
+
+ + + 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 SuratTanggal PengirimanTanggal DiterimaNo AgendaCreated AtUpdated AtAksi
+
+
+ +
+ + +
+ +
+ + + + +
+ + load->view('kepaladinas/footer') ?> + +
+ +
+ + + + + + + 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 @@ + + + +
+
+ +

+ +
+ +
+ + +
+ +
+ \ 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