Copyright © 2019 by Indonesia Tercinta
Buku Panduan Aplikasi Pendaftaran Pengembangan
Sistem Informasi
Dinas Komunikasi dan Informatika Provinsi Jawa Timur
Dinas Komunikasi dan Informatika Provinsi Jawa Timur
Daftar Isi
Pendahuluan ... 4
1. Tentang Aplikasi ... 5
2. Alur permohonan aplikasi ... 5
Memulai Aplikasi Pendaftaran Pengembangan Sistem Informasi ... 6
1. Membuka Apliakasi ... 6
2. Login ... 7
3. Forum... 7
Dinas Kominfo ... 8
Beranda ... 8
Persetujuan ... 10
1. Persetujuan Aplikasi ... 10
Daftar Aplikasi ... 12
1. Tahap Kelengkapan... 12
2. Dokumen Lengkap ... 14
Master ... 16
1. Kategori Aplikasi ... 16
2. Jenis Dokumen ... 17
3. Arsip Dokumen ... 19
4. Perangkat Daerah ... 20
5. User ... 22
Perangkat Daerah ... 24
Beranda ... 24
Permohonan ... 24
1. Permohonan Aplikasi ... 24
2. Draft Aplikasi ... 27
3. Monitoring Permohonan ... 29
Daftar Aplikasi ... 30
1. Tahap Kelengkapan... 30
2. Dokumen Lengkap ... 32
KATA PENGANTAR
Puji syukur kami ucapkan kepada kehadirat Allah SWT yang telah memberikan rahmat serta karunia- Nya, sehingga Buku Panduan Aplikasi Pendaftaran Pengembangan Sistem Informasi Dinas Komunikasi dan Informatika Provinsi Jawa Timur bisa di selesaikan dengan sebaik-baiknya sesuai dengan yang diharapkan.
Kami berharap agar aplikasi ini dapat memberi banyak manfaat bagi pihak internal Dinas Komunikasi dan Informatika Provinsi Jawa Timur pada khususnya.
Buku Panduan Aplikasi Pendaftaran Pengembangan Sistem Informasi ini merupakan bagian dari pelaporan yang harus dibuat sebagai bentuk pertanggungjawaban pada pembuatan Aplikasi Pendaftaran Pengembangan Sistem Informasi. Kami mengucapkan terimakasih kepada semua pihak yang telah mendukung pekerjaan ini. Semoga hasil yang didapat dari pembuatan Aplikasi Pendaftaran Pengembangan Sistem Informasi ini dapat memperlancar kegiatan – kegiatan berikutnya.
Demikian kata pengantar Buku Panduan Penggunaan Aplikasi Pendaftaran Pengembangan Sistem
Informasi, semoga dapat bermanfaat bagi semua. Atas perhatiannya diucapkan terimakasih.
Pendahuluan
Mengutip:
GUBERNUR JAWA TIMUR
PERATURAN GUBERNUR JAWA TIMUR NOMOR 98 TAHUN 2018
TENTANG
STANDAR APLIKASI BAGI PERANGKAT DAERAH DI LINGKUNGAN PEMERINTAH PROVINS! JAWA TIMUR
DENGAN RAHMAT TUHAN YANG MAHA ESA GUBERNUR JAWA TIMUR, BAB I PENDAHULUAN
1. Latar Belakang
2. Tujuan
3. Ruang Lingkup
4. Kebijakan
5. Tanggung Jawab
BAB II Standar Siklus Pengembangan Aplikasi
1. Proses perencanaan pengembangan sistem aplikasi
2. Proses analisis kebutuhan pengguna
3. Proses analisis kebutuhan sistem aplikasi
4. Proses Perancangan Sistem Aplikasi
5. Proses Pernrograman Sistem Aplikasi
6. Proses Pengujian Sistem Aplikasi
7. Proses implementasi sistem aplikasi
8. Proses pasca implementasi sistem aplikasi
BAB III Standar Dokumentasi Pengembangan Aplikasi
1. Dokumentasi Aplikasi Perencanaan Pengembangan
2. Dokumentasi Analisa Kebutuhan Pengguna
3. Dokumentasi Analisa Kebutuhan Aplikasi
4. Dokumentasi Perancangan Aplikasi
5. Dokumentasi Pemrograman Aplikasi
6. Dokumentasi Pengujian Aplikasi
7. Dokumentasi Implementasi Aplikasi
8. Dokumentasi Pasca Implementasi Aplikasi
BAB IV BAB IV Standar Operasional Prosedur Pengembangan Aplikasi
1. Prosedur Perencanaan Pengembangan Aplikasi 2. Prosedur Analisa Kebutuhan Pengguna Aplikasi 3. Prosedur Analisa Kebutuhan Aplikasi
4. Prosedur Perancangan Aplikasi 5. Prosedur Pemrograman Aplikasi 6. Prosedur Pengujian Aplikasi 7. Prosedur Implementasi Aplikasi
8. Prosedur Evaluasi Pasca Implementasi Aplikasi BAB V Penutup
Tentang Aplikasi
Aplikasi Pendaftaran Pengembangan Sistem Informasi adalah aplikasi yang dibuat sebagai penerapan Standart Pengembangan Aplikasi di lingkungan Pemerintah Provinsi Jawa Timur berdasarkan Peraturan Gubernur Jawa Timur No 98 / 2018 tentang Standart Pengembangan Aplikasi di lingkungan Pemerintah Provinsi Jawa Timur, guna tercapainya pelaksanaan pengelolaan dan pengembangan aplikasi yang efektif dan efisien, serta dapat terkoneksi dalam satu sistem informasi sehingga semua pelaporan kegiatan pengelolaan dan pengembangan aplikasi di masing- masing Perangkat Daerah akan tercatat dan terupdate di Dinas Komunikasi dan Informasi Provinsi Jawa Timur.
Alur permohonan aplikasi
Alur Aplikasi Pendaftaran Pengembangan Sistem Informasi terbagi menjadi 2 tahapan yaitu permohonan aplikasi dan pengisian data aplikasi, seperti gambar alur berikut;
Alur permohonan aplikasi
Alur Pengisian data aplikasi
Jenis / item kegiatan yang dilakukan oleh user meliputi : - Buat permohonan aplikasi
- Pengisian data aplikasi dan dokumen pendukung - Perubahan data aplikasi dan dokumen pendukung
Jenis / item kegiatan yang dilakukan oleh Petugas Verifikasi meliputi : - List pengisian data aplikasi dan dokumen pendukung sebelum verifikasi - Proses verifikasi pengisian data aplikasi dan dokumen pendukung
Memulai Aplikasi Pendaftaran Pengembangan Sistem Informasi
Perangkat Daerah membuat pengajuan nama pegawai untuk mendaftarkan sebagai level admin perangkat daerah. selanjutnya Dinas Komunikasi dan Informatika Provinsi Jawa Timur memberikan hak akses user login Aplikasi Pendaftaran Pengembangan Sistem Informasi kepada pegawai yang ditunjuk.
Membuka Apliakasi
Langkah untuk membuka Aplikasi Pendaftaran Pengembangan Sistem Informasi adalah sebagai berikut :
1.
Klik Start → All Programs → Mozilla Firefox atau Start → All Programs → Google Chrome atau Start → All Programs → Internet Explorer .
2.
Apabila sudah ada shortcut Mozilla Firefox atau Google Chrome mapun internet explorer di desktop komputer, maka cukup lakukan double click pada icon browser yang telah tersedia.
3.
Masukan alamat http://kominfo.Jatimprov.go.id/
Login
Setiap user yang akan menjalankan aplikasi ini harus melakukan login terlebih dulu ke dalam sistem agar dapat mengakses menu-menu yang telah disediakan. Masukkan username dan password sesuai hak akses yang sudah ditentukan, lalu klik tombol Login seperti gambar berikut :
Forum
Menu Forum berfungsi untuk ruang kegiatan tanya-jawab, diskusi, antara user dengan verifikator.
Klik Forum -- Pilih Daftar Permohonan Aplikasi, seperti pada gambar berikut;
Selanjutnya akan tertampil history chat terakhir, seperti gambar berikut;
DINAS KOMINFO
Dinas Komunikasi dan Informatika sebagai pengatur, Pembina dan Pengawas Teknologi Informatika dan Komunikasi (TIK) di lingkungan Provinsi Jawa Timur memiliki kewenangan untuk memastikan bahwa proses pengembangan telah sesuai dengan kebijakan dan standar pengembangan aplikasi;
Beranda
Setelah login akan menampilkan halaman beranda, yang merupakan tampilan utama dan terdapat keseluruhan menu aplikasi seperti pada gambar berikut:
Pada Beranda terdapat 3 menu utama.
1. Persetujuan
2. Daftar Aplikasi
3. Master
Tampilan Beranda dengan User Login Verifikator
Persetujuan
Menu Persetujuan merupakan proses tahap awal Pendaftaran Pengembangan Sistem Informasi dari Perangkat Daerah.
Persetujuan Aplikasi
Pada samping menu terdapat notifikasi (angka) yang menunjukkan jumlah Permohonan Aplikasi dari Perangkat Daerah yang belum diverifikasi.
Klik Menu Persetujuan Aplikasi, dan menuju ke halaman yang berisi tabel Daftar Permohonan Aplikasi dari Perangkat Daerah, seperti pada gambar berikut:
Klik
detail , tertampil informasi aplikasi.seperti pada gambar berikut:
Klik
Verifikasi tiap dokumen aplikasi dan pilih Konfirmasi jika sudah benar , pilih Revisi jika belum benar. seperti pada gambar berikut:
Klik Ya. Tahap verifikasi seluruh Dokumen Aplikasi telah berhasil.
Daftar Aplikasi
Menu Daftar Aplikasi merupakan menu yang menampilkan list Pendaftaran Pengembangan Sistem Informasi dari Perangkat Daerah sesuai tahapannya.
Tahap Kelengkapan
Pada menu Tahap Kelengkapan merupakan kelanjutan dari tahap Persetujuan Aplikasi, dimana secara otomatis Permohonan Aplikasi berpindah untuk proses selanjutnya.
notifikasi jumlah Dokumen Kelengkapan yang belum verifikasi.
Seluruh Dokumen Aplikasi sudah diverifikasi, berlanjut ketahap verifikasi Dokumen Kelengkapan, seperti pada
gambar berikut:
Pengujian Aplikasi merupakan Dokumen Kelengkapan, Klik untuk melakukan verifikasi, seperti pada gambar berikut:
Klik Ya, untuk melanjutkan verifikasi file pendukung.
Klik untuk konfirmasi verifikasi seluruh File Pendukung, Seperti pada gambar berikut:
Dokumen Lengkap
Menu Dokumen Lengkap menampilakan Daftar seluruh Permohonan Aplikasi yang sudah selesai proses
verifkasi secara keseluruhan, seperti pada gambar berikut:
Notifikasi informasi dokumen aplikasi dan file pendukung "Nol" artinya seluruh Dokumen Aplikasi dan File Pendukung sudah lengkap.
~PROJECT IS COMPLETE~
Master
Menu Master terdiri dari sub menu data master sbb:
1. Kategori Aplikasi : Pengelompokan aplikasi berdasakan katagori 2. Jenis Dokumen : Jenis dokumen untuk dokumen aplikasi 3. Arsip Dokumen : Arsip untuk upload file pendukung aplikasi 4. Perangkat Daerah : Daftar Perangkat Daerah Provinsi Jawa Timur 5. User : Daftar pengguna aplikas
Pada menu Master super admin dapat menambahkan, ubah dan hapus data master
Kategori Aplikasi Setting Master Kategori Aplikasi
Klik untuk menambah Kategori dan isi Nama Kategori dan simpan, form isi penambahan
katefori seperti pada gambar berikut;
Jenis Dokumen
Setting Master Jenis Dokumen
Klik untuk menambah Jenis Dokumen dan isi Nama Jenis, Jenis Dokumen, Cara Pengisian dan simpan, seperti pada gambar berikut;
Ubah Jenis Dokumen
Arsip Dokumen Setting Master Arsip Dokumen
Klik untuk menambah Arsip Dokumen dan isi Nama Arsip, Jenis, Cara Pengisian dan simpan,
seperti pada gambar berikut;
Ubah Arsip Dokumen
Perangkat Daerah
Setting Master Perangkat Daerah
Klik untuk menambah Perangkat Daerah dan isi Nama, Kab/Kota dan simpan, seperti pada gambar berikut;
Ubah Perangkat Daerah
User Setting Master User
Klik untuk menambah User dan isi Email, Password, Ulangi Password, Nama, Level, Perangkat
Daerah dan simpan, seperti pada gambar berikut;
Ubah User, isikan data yang akan diubah, seperti pada gambar berikut;
Ubah , isikan password baru dan ulangi menuliskan pasword baru untuk konfirmasi ulang
penggantian password, seperti pada gambar berikut;
Perangkat Daerah
Perangkat Daerah adalah perencana Software Aplikasi yang harus berkoordinasi dengan Dinas Komunikasi Dan Informatika Provinsi Jatim selama porses pengembangan sampai dengan operasionalisasi aplikasi.
Beranda
Tampilan Beranda yang berisi informasi jumlah aplikasi proses permohonan, tahap kelengkapan dan aplikasi yang sudah diverifikasi dokumen lengkap.
Permohonan
Menu Permohonan untuk pengisian data aplikasi dan dokumen pendukung persyaratan wajib dalam proses verifikasi.
Permohonan Aplikasi
Klik Permohonan Aplikasi, memulai proses tahap awal pendaftaran pengembangan sistem informasi yaitu
dengan memasukan data pada kolom yang tersedia sebagai Informasi Aplikasi, seperti pada gambar berikut;
Setelah lengkap memasukkan data Informasi Aplikasi, tahap selanjutnya adalah memasukkan Dokumen Aplikasi, seperti pada gambar berikut;
Dokumen Aplikasi sudah lengkap, berikutnaya tahap ke tiga yaitu memasukkan File Pendukung Aplikasi,
seperti pada gambar berikut;
Selesai pada proses permohonan tahap 1,2,3, selanjutnya user dapat menyimpan sebagai draft terlebih dulu atau Mengirim Permohonan langsung.
Pilih Kllik selanjutnya konfirmasi ulang atas tindakan mengirim
permohonan, seperti pada gambar berikut;
Pendaftaran pengembangan Sistem Informasi yang telah berhasil mengirimkan permohonan akan tampil pada
daftar Permohonan Aplikasi,selanjutnya menunggu proses vrifikasi Aplikasi, seperti pada gambar berikut;
Draft Aplikasi
Draft Aplikasi merupakan konsep Permohonan Aplikasi pendaftaran pengembangan sistem informasi yang belum terkirim, seperti pada gambar berikut;
Klik untuk melihat Informasi Aplikasi seperti pada gambar berikut;
Klik dan isikan data yang belum lengkap atau ubah data pada kolom yang perlu diperbarui, seperti gambar berikut;
Klik simpan
Klik Ya
Klik untuk mengirimkan permohonan Aplikasi.
Monitoring Permohonan
Menu Monitoring Permohonan untuk memantau permohonan aplikasi sudah diverrifikasi atau belum diverifikasi
Klik untuk melihat keseluruhan Informasi Aplikasi
Daftar Aplikasi
Daftar Aplikasi merupakan fitur halaman yang menampilkan list Pendaftaran Pengembangan Sistem Informasi dari Perangkat Daerah Provinsi Jawa Timur.
Tahap Kelengkapan
Menu Tahap Kelengkapan, merupakan tahap akhir dari proses Pendaftaran Pengembangan Aplikasi yang wajib melengkapi File Pendukung untuk diverifikasi
Kekurangan Dokumen yang harus dilengkapi dapat dilihat dari notifikasi Informasi Aplikasi, seperti pada
gambar berikut;
Klik Aksi untuk melengkapi Dokumen
Periksa kembali kelengkapan dokumen aplikasi dan file pendukung, pastikan semua sudah berwarna hijau
Dokumen Lengkap
Menu Dokumen Lengkap adalah tampilan rekap pendaftaran pengembangan sistem informasi yang sudah lengkap Dokumen Aplikasi dan File Pendukung serta mendapat persetujuan, seperti pada gambar berikut;
Informasi Aplikasi sudah konfirmasi
Dokumen Aplikasi sudah konfirmasi
Dokumen Aplikasi sudah konfirmasi
File Pendukung sudah konfirmasi
Riwayat
Notifikasi informasi dokumen aplikasi dan file pendukung " Nol " artinya seluruh Dokumen Aplikasi dan File Pendukung sudah lengkap
Pilih menu apabila ingin mencetak hasil rekap dokumen aplikasi, klik tampilan siap print muncul seperti gambar berikut;
~PROJECT IS COMPLETE~
PENUTUP
Demikian Buku Panduan Penggunaan Aplikasi Pendaftaran Pengembangan Sistem Informasi kami sampaikan Semoga dapat memberikan manfaat baik secara pribadi maupun secara Institusi yang ada di lingkungan Dinas Komunikasi dan Informatika Provinsi Jawa Timur bekerjasama dengan PT. Scomptec Edukom Persada.
Hormat Kami, MarkGov Scomptec
“SELAMAT BEKERJA & SUKSES SELALU,,AAMIIN. TERIMA KASIH”
Segmen Program 1 Forum
01: <?php 02:
03: namespace App\Http\Controllers;
04:
05: use Illuminate\Http\Request;
06: use App\Models\DocumentType;
07: use App\Models\Arsip;
08: use App\Models\Type;
09: use App\Models\Kategori;
10: use App\Models\Project;
11: use App\Models\ProjectArsip;
12: use App\Models\ProjectDocument;
13: use App\Models\Chat;
14: use Auth;
15: use DB,DataTables;
16:
17: class ChatController extends Controller 18: {
19: public function index(Request $request) 20: {
21: if($request->ajax()) 22: {
23: $where = "";
24: if(\Auth::user()->role_id == 3){
25: //Perangkat Daerah
26: $where = " and p.pd_id = ".\Auth::user()->pd_id;
27: }
28: $query = DB::select("SELECT * FROM (SELECT 29: p.`paket_pekerjaan`,
30: pd.`name` as perangkat_daerah,c.project_id, 31: max( c.created_at ) AS time_chat
32: FROM 33: chats c
34: INNER JOIN projects p ON p.id = c.project_id 35: INNER JOIN perangkat_daerah pd on pd.id =
p.pd_id
36: $where 37: GROUP BY
38: p.paket_pekerjaan,pd.`name`,c.project_id 39: ) custom_query ORDER BY time_chat desc");
40: return view('chat.left-chat',array(
41: 'data'=>$query 42: ));
43:
44: }
45: return view('chat.index');
46: } 47:
48: public function send(Request $request) 49: {
50: DB::beginTransaction();
51: try 52: {
53: $data = new Chat();
54: $data->message = $request->message;
55: $data->project_id = $request->project;
56: $data->status = 0;
57: $data->created_by = Auth::user()->id;
58: $data->save();
59:
60: DB::commit();
61: 62: }
63: catch(\Yajra\Pdo\Oci8\Exceptions\Oci8Exception $e) 64: {
65: DB::rollback();
66:
67: } 68: } 69:
70: public function detail(Request $request) 71: {
72: $projectId = $request->get('project');
73: $query = "select c.*, u.name as operator from chats c 74: inner join users u on u.id = c.created_by
75: where project_id = $projectId order by c.created_at asc";
76:
77: $list = DB::select($query);
78:
79: return view('chat.detail',array(
80: 'list'=>$list 81: ));
82:
83: } 84: } 85:
Segmen Program 2 Permohonan Aplikasi
01: <?php 02:
03: namespace App\Http\Controllers;
04:
05: use Illuminate\Http\Request;
06: use App\Models\DocumentType;
07: use App\Models\Arsip;
08: use App\Models\Type;
09: use App\Models\Kategori;
10: use App\Models\Project;
11: use App\Models\ProjectArsip;
12: use App\Models\ProjectDocument;
13: use Auth;
14: use DB,DataTables;
15:
16: class PermohonanController extends Controller 17: {
18: public function index(Request $request) 19: {
20: if($request->ajax()) 21: {
22: $pd_id = \Auth::user()->pd_id;
23: $query = DB::select("select p.*, pd.name as perangkatdaerah from projects p
24: inner join perangkat_daerah pd on pd.id = p.pd_id
25: where p.kelengkapan = 3 and p.status = 1 and p.pd_id = $pd_id ");
26: $datatables = DataTables::of($query)
27: ->addColumn('action', function ($data) { 28: $html = '';
29: $html .=
30: '<a href="'.url('project/'.$data->id.'').'" class="mb-2 mr- 2 btn btn-info" ><i class="pe-7s-search btn-icon-wrapper"> </i>
Detail</a> '.
31: ' '
32: .\Form::open([ 'method' => 'delete', 'route' => [ 'project.destroy', $data->id ], 'style' => 'display: inline-block;' ]).
33: '<button class="mb-2 mr-2 btn btn-danger dt-btn" data- swa-text="Hapus Aplikasi '.$data->paket_pekerjaan.'?" ><i class="pe-7s-trash btn-icon-wrapper"> </i> Hapus</button>'
34: .\Form::close();
35: return $html;
36: })
37: ->editColumn('jenis_pekerjaan', function ($data){
38: return jenisPekerjaan($data->jenis_pekerjaan);
39: })
40: ->editColumn('anggaran', function ($data){
41: return formatNoRpComma($data->anggaran);
42: })
43: ->editColumn('jangka_waktu', function ($data){
44: return $data->jangka_waktu." Hari";
45: })
46: ->rawColumns(['action']);
47: return $datatables->make(true);
48: }
49: return view('permohonan.index');
50: } 51:
52: public function create()
53: {
54: $data['kategori'] = Kategori::where('status',1)->pluck('name','id');
55: return view('permohonan.create',$data);
56: } 57:
58: public function step2(Request $request) 59: {
60: $data['data'] = Project::findOrFail($request->get('kd'));
61: $data['document_type'] = DocumentType::where('type',1)-
>where('status',1)->get();
62: return view('permohonan.create-2',$data);
63: } 64:
65: public function step3(Request $request) 66: {
67: $data['data'] = Project::findOrFail($request->get('kd'));
68: $data['arsip'] = Arsip::where('type',1)->where('status',1)->get();
69: return view('permohonan.create-3',$data);
70: }
71: 72: public function store(Request $request) 73: {
74:
75: $this->validate($request, [
76: 'paket_pekerjaan' => 'required', 77: 'kegiatan' => 'required',
78: 'jenis_pekerjaan' => 'required', 79: 'anggaran' => 'required',
80: 'jangka_waktu' => 'required', 81: 'tanggal_mulai' => 'required', 82: ]);
83: DB::beginTransaction();
84: try 85: {
86: $data = new Project();
87: $data->pd_id = \Auth::user()->pd_id;
88: $data->paket_pekerjaan = $request->paket_pekerjaan;
89: $data->kategori_id = $request->kategori_id;
90: $data->kegiatan = $request->kegiatan;
91: $data->jenis_pekerjaan = $request->jenis_pekerjaan;
92: $data->anggaran = replaceRp($request->anggaran);
93: $data->jangka_waktu = $request->jangka_waktu;
94: $data->tanggal_mulai = date('Y-m-d',strtotime($request-
>tanggal_mulai));
95: $data->created_by = Auth::user()->id;
96: $data->updated_by = Auth::user()->id;
97: $data->save();
98:
99: DB::commit();
100:
101: parent::inputLog($data->id, "Pembuatan Permohonan Aplikasi", 4);
102:
103: return redirect('permohonan/step2?kd='.$data->id);
104: }
105: catch(\Yajra\Pdo\Oci8\Exceptions\Oci8Exception $e) 106: {
107: DB::rollback();
108: return redirect()->back()->with('danger', 'Data gagal ditambah');
109: } 110:
111: } 112:
113: public function updateStep2(Request $request) 114: {
115: $deskripsi = $request->deskripsi;
116: $document = $request->document;
117: $labelDocument = $request->labelDocument;
118: $idProject = $request->id;
119:
120: $validasiCustom = 1;
121: $valisasiText = "";
122: for ($i=0; $i < count($deskripsi); $i++) { 123:
124: if($deskripsi[$i] == null || $deskripsi[$i] == ""){
125: $validasiCustom = 0;
126: $valisasiText .= $labelDocument[$i].",";
127: } 128: } 129:
130: if($validasiCustom == 0){
131: return redirect('permohonan/step2?kd='.$idProject)
132: ->withErrors(['message1'=>'Dokumen Aplikasi belum lengkap. '.removeLastString($valisasiText)])
133: ->withInput();
134: } 135:
136: DB::beginTransaction();
137: try 138: { 139:
140: $dataProject = Project::findOrFail($idProject);
141: $dataProject->kelengkapan = 2;
142: $dataProject->save();
143:
144: for ($i=0; $i < count($document); $i++) { 145: $data = new ProjectDocument();
146: $data->project_id = $idProject;
147: $data->document_id = $document[$i];
148: $data->deskripsi = $deskripsi[$i];
149: $data->created_by = Auth::user()->id;
150: $data->updated_by = Auth::user()->id;
151: $data->save();
152: } 153:
154: DB::commit();
155:
156: return redirect('permohonan/step3?kd='.$idProject);
157: }
158: catch(\Yajra\Pdo\Oci8\Exceptions\Oci8Exception $e) 159: {
160: DB::rollback();
161: return redirect()->back()->with('danger', 'Data gagal ditambah');
162: } 163: } 164:
165: public function updateStep3(Request $request) 166: {
167: $deskripsi = $request->deskripsi;
168: $link = $request->link;
169: $file = $request->file;
170: $arsip = $request->arsip;
171: $labelArsip = $request->labelArsip;
172: $idProject = $request->id;
173:
174: $validasiCustom = 1;
175: $valisasiText = "";
176:
177: for ($i=0; $i < count($link); $i++) { 178:
179: if($link[$i] == null && $file[$i] == ""){
180: $validasiCustom = 0;
181: $valisasiText .= $labelArsip[$i].",";
182: } 183: } 184:
185: if($validasiCustom == 0){
186: return redirect('permohonan/step3?kd='.$idProject)
187: ->withErrors(['message1'=>'File Pendukung belum lengkap. '.removeLastString($valisasiText)])
188: ->withInput();
189: } 190:
191:
192: DB::beginTransaction();
193: try 194: { 195:
196: $dataProject = Project::findOrFail($idProject);
197: $dataProject->kelengkapan = 3;
198: $dataProject->status = $request->status;
199: $dataProject->save();
200:
201: for ($i=0; $i < count($arsip); $i++) { 202: $data = new ProjectArsip();
203: $data->project_id = $idProject;
204: $data->arsip_id = $arsip[$i];
205: $data->link = $link[$i];
206: $data->deskripsi = $deskripsi[$i];
207: $no=1;
208: if( isset( $file[$i] ) ) {
209: if($request->file($file[$i]) != null){
210: $image = $request->file($file[$i]);
211: $nameImage = time().'-'.$no.'.'.$image-
>getClientOriginalExtension();
212: $destinationPath = public_path('/project');
213: $image->move($destinationPath, $nameImage);
214: $data->file = $nameImage;
215: $no++;
216: } 217: } 218:
219: $data->created_by = Auth::user()->id;
220: $data->updated_by = Auth::user()->id;
221: $data->save();
222: } 223:
224: DB::commit();
225: if($request->status == 1){
226: return redirect('permohonan')->with('success', 'Data Permohonan berhasil ditambah');
227: }else{
228: return redirect('draft')->with('success', 'Data Aplikasi berhasil ditambah');
229: } 230:
231: }
232: catch(\Yajra\Pdo\Oci8\Exceptions\Oci8Exception $e) 233: {
234: DB::rollback();
235: return redirect()->back()->with('danger', 'Data gagal ditambah');
236: } 237: } 238:
239: public function batal(Request $request) 240: {
241: DB::beginTransaction();
242: try 243: {
244: $idProject = $request->get('kd');
245: ProjectArsip::where('project_id', $idProject)->delete();
246: ProjectDocument::where('project_id', $idProject)->delete();
247: Project::where('id', $idProject)->delete();
248:
249: DB::commit();
250:
251: return redirect('permohonan/create')->with('success', 'Permohonan berhasil dibatalkan');
252: }
253: catch(\Yajra\Pdo\Oci8\Exceptions\Oci8Exception $e) 254: {
255: DB::rollback();
256: return redirect()->back()->with('danger', 'Data gagal dibatalkan');
257: } 258: } 259:
260:
261:
262: }
Segmen Program 3 Halaman Utama
01: <?php 02:
03: namespace App\Http\Controllers;
04: 05: use Illuminate\Http\Request;
06:
07: use App\Models\DocumentType;
08: use App\Models\Arsip;
09: use App\Models\Type;
10: use App\Models\Project;
11: use App\Models\ProjectArsip;
12: use App\Models\ProjectDocument;
13: use App\Models\PerangkatDaerah;
14: use App\Models\Chat;
15: use App\Models\Log;
16: use App\Models\Kategori;
17: use App\User;
18: use DB,Auth,Response;
19:
20: class HomeController extends Controller 21: {
22: private $title = "Home";
23: public function totalData(Request $request) 24: {
25: $pd_id = \Auth::user()->pd_id;
26: $data['totalDraft'] = Project::where('kelengkapan',3)-
>where('status',3)->where('pd_id',$pd_id)->count();
27: $data['totalPengajuan'] = Project::where('kelengkapan',3)-
>where('status',1)->where('pd_id',$pd_id)->count();
28: $data['totalPersetujuan'] = Project::where('kelengkapan',3)-
>where('status',1)->count();
29:
30: if(\Auth::user()->role_id == 3){
31: $data['totalKelengkapan'] = Project::where('kelengkapan',3)-
>where('pd_id',$pd_id)->where('status',2)->count();
32: }else{
33: $data['totalKelengkapan'] = Project::where('kelengkapan',3)-
>where('status',2)->count();
34: }
35: return Response::json($data);
36: } 37:
38: public function download($id) 39: {
40:
41: $data = ProjectArsip::findOrfail($id);
42:
43: $modelArsip = Arsip::findOrFail($data->arsip_id);
44: $array = explode('.', $data->file);
45: $extension = end($array);
46:
47: return response()->download(public_path('/project').'/'. $data-
>file,$modelArsip->name.".".$extension);
48: }
49: public function index() 50: {
51: $tahun = date('Y');
52: if(\Auth::user()->role_id == 3){
53: $pd_id =\Auth::user()->pd_id;
54: $data['perangkatdaerah'] = PerangkatDaerah::where('id',$pd_id)-
>first();
55: $data['projectPengajuan'] = Project::where('kelengkapan',3)-
>where('status',1)->where('pd_id',$pd_id)->count();
56: $data['projectKelengkapan'] = Project::where('kelengkapan',3)-
>where('status',2)->where('pd_id',$pd_id)->count();
57: $data['projectReal'] = Project::where('kelengkapan',3)-
>where('status',4)->where('pd_id',$pd_id)->count();
58:
59: $data['projectReal_jenis1'] =
Project::where('jenis_pekerjaan',1)->where('kelengkapan',3)-
>where('status','<>',3)->where('pd_id',$pd_id)->count();
60: $data['projectReal_jenis2'] =
Project::where('jenis_pekerjaan',2)->where('kelengkapan',3)-
>where('status','<>',3)->where('pd_id',$pd_id)->count();
61:
62: $query = "select k.`name`, count(*) total from projects p 63: inner join kategoris k on k.id = p.kategori_id
64: where p.pd_id = $pd_id
65: GROUP BY k.name ORDER BY k.name";
66: $data['kategori'] =DB::select($query);
67:
68: return view('home-pd',$data);
69: }else{
70: $data['projectPengajuan'] = Project::where('kelengkapan',3)-
>where('status',1)->count();
71: $data['projectKelengkapan'] = Project::where('kelengkapan',3)-
>where('status',2)->count();
72: $data['projectReal'] = Project::where('kelengkapan',3)-
>where('status',4)->count();
73: $data['perangkatdaerah'] = PerangkatDaerah::where('status',1)-
>count();
74:
75: $query = "select l.*, u.name as petugas,p.paket_pekerjaan, pd.name as perangkat_daerah from logs l
76: inner join users u on u.id = l.created_by 77: inner join projects p on p.id = l.project_id 78: inner join perangkat_daerah pd on pd.id = p.pd_id 79: where pd.status = 1
80: order by l.created_at desc limit 50";
81: $data['log'] =DB::select($query);
82:
83: $query = "select count(*) total,pd_id,pd.name from projects p 84: inner join perangkat_daerah pd on pd.id = p.pd_id
85: where pd.status = 1 and (p.kelengkapan = 3 and p.status = 2) 86: GROUP BY pd_id,pd.name
87: order by pd.name";
88: $data['aplikasi'] =DB::select($query);
89: 90: $data['projectReal_jenis1'] =
Project::where('jenis_pekerjaan',1)->where('kelengkapan',3)-
>where('status','<>',3)->count();
91: $data['projectReal_jenis2'] =
Project::where('jenis_pekerjaan',2)->where('kelengkapan',3)-
>where('status','<>',3)->count();
92:
93: $query = "select k.`name`, count(*) total from projects p 94: inner join kategoris k on k.id = p.kategori_id
95: where p.kelengkapan = 3 and (p.status = 2 or p.status = 4) 96: GROUP BY k.name ORDER BY k.name";
97: $data['kategori'] =DB::select($query);
98:
99:
100: $data['tahun'] = $tahun;
101: $data['pengajuanJenis1Bulan1'] =
Project::whereMonth('created_at', '=', '01')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
102: $data['pengajuanJenis1Bulan2'] =
Project::whereMonth('created_at', '=', '02')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
103: $data['pengajuanJenis1Bulan3'] =
Project::whereMonth('created_at', '=', '03')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
104: $data['pengajuanJenis1Bulan4'] =
Project::whereMonth('created_at', '=', '04')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
105: $data['pengajuanJenis1Bulan5'] =
Project::whereMonth('created_at', '=', '05')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
106: $data['pengajuanJenis1Bulan6'] =
Project::whereMonth('created_at', '=', '06')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
107: $data['pengajuanJenis1Bulan7'] =
Project::whereMonth('created_at', '=', '07')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
108: $data['pengajuanJenis1Bulan8'] =
Project::whereMonth('created_at', '=', '08')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
109: $data['pengajuanJenis1Bulan9'] =
Project::whereMonth('created_at', '=', '09')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
110: $data['pengajuanJenis1Bulan10'] =
Project::whereMonth('created_at', '=', '10')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
111: $data['pengajuanJenis1Bulan11'] =
Project::whereMonth('created_at', '=', '11')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
112: $data['pengajuanJenis1Bulan12'] =
Project::whereMonth('created_at', '=', '12')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',1)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
113:
114: $data['pengajuanJenis2Bulan1'] =
Project::whereMonth('created_at', '=', '01')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
115: $data['pengajuanJenis2Bulan2'] =
Project::whereMonth('created_at', '=', '02')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
116: $data['pengajuanJenis2Bulan3'] =
Project::whereMonth('created_at', '=', '03')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
117: $data['pengajuanJenis2Bulan4'] =
Project::whereMonth('created_at', '=', '04')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
118: $data['pengajuanJenis2Bulan5'] =
Project::whereMonth('created_at', '=', '05')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
119: $data['pengajuanJenis2Bulan6'] =
Project::whereMonth('created_at', '=', '06')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
120: $data['pengajuanJenis2Bulan7'] =
Project::whereMonth('created_at', '=', '07')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function
($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
121: $data['pengajuanJenis2Bulan8'] =
Project::whereMonth('created_at', '=', '08')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
122: $data['pengajuanJenis2Bulan9'] =
Project::whereMonth('created_at', '=', '09')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
123: $data['pengajuanJenis2Bulan10'] =
Project::whereMonth('created_at', '=', '10')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
124: $data['pengajuanJenis2Bulan11'] =
Project::whereMonth('created_at', '=', '11')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
125: $data['pengajuanJenis2Bulan12'] =
Project::whereMonth('created_at', '=', '12')->whereYear('created_at', '=',
$tahun)->where('jenis_pekerjaan',2)->where('kelengkapan',3)->where(function ($query) {$query->where('status', '=', 1)->orWhere('status', '=', 2)-
>orWhere('status', '=', 4); })->count();
126:
127:
128: return view('home-kominfo',$data);
129: } 130:
131: }
132: public function profile() 133: {
134: $data['user'] = Auth::user();
135: return view('profile', $data);
136: } 137: }
Segmen Program 4 Persetujuan Aplikasi
01: <?php 02:
03: namespace App\Http\Controllers;
04:
05: use Illuminate\Http\Request;
06: use App\Models\DocumentType;
07: use App\Models\Arsip;
08: use App\Models\Type;
09: use Auth;
10: use DB,DataTables;
11:
12: class PersetujuanController extends Controller 13: {
14: public function index(Request $request) 15: {
16: if($request->ajax()) 17: {
18:
19: $query = DB::select("select p.*, pd.name as perangkatdaerah from projects p
20: inner join perangkat_daerah pd on pd.id = p.pd_id 21: where p.kelengkapan = 3 and p.status = 1 ");
22: $datatables = DataTables::of($query)
23: ->addColumn('action', function ($data) { 24: $html = '';
25: $html .=
26: '<a href="'.url('project/'.$data->id.'').'" class="mb-2 mr-2 btn btn-info" ><i class="pe-7s-search btn-icon-wrapper"> </i>
Detail</a> ';
27: return $html;
28: })
29: ->editColumn('jenis_pekerjaan', function ($data){
30: return jenisPekerjaan($data->jenis_pekerjaan);
31: })
32: ->editColumn('anggaran', function ($data){
33: return formatNoRpComma($data->anggaran);
34: })
35: ->editColumn('jangka_waktu', function ($data){
36: return $data->jangka_waktu." Hari";
37: })
38: ->rawColumns(['action']);
39: return $datatables->make(true);
40: }
41: return view('persetujuan.index');
42: } 43:
44:
}