The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

ABSTRAK
Salsa Kholilah – 11160930000070, Rancang Bangun Sistem Informasi Monitoring Perbal Perjanjian Pemenuhan Kewajiban Izin Prinsip Pemanfaatan Ruang (IPPR) dengan metode Administrative Workflow Systems (Studi kasus : Biro Pembangunan dan Lingkungan Hidup). Di bawah bimbingan Yuni Sugiarti dan Zulfiandri.
Salah satu tugas Biro PLH Setda Provinsi DKI Jakarta adalah mengkoordinasikan dan memantau Perjanjian Pemenuhan Kewajiban(PPK) terkait perizinan pembangunan diwilayah DKI Jakarta yang dilakukan oleh pemohon. Dalam proses PPK tersebut selain pihak Biro PLH adapun pihak lain yang terlibat yaitu Biro Hukum, Asbang LH dan Biro umum sebagai pihak yang akan memverifikasi perbal PPK tersebut. Namun sulitnya mengetahui progres permohonan PPK yang diajukan, menjadi kendala utama dalam melakukan monitoring berkas permohonan. Penelitian ini bertujuan untuk menghasilkan sebuah sistem monitoring yang mampu memberikan informasi yang cepat dan akurat terhadap pergerakan berkas permohonan dan membantu dalam pembuatan laporan PPK. Penelitian ini menggunakan metode Administrative Workflow System dan metode RAD sebagai tahapan perancangan. Metode pengumpulan data menggunakan studiliteratur, observasi, wawancara, dan tahap pengkodean sistem menggunakan bahasa pemograman PHP, HTML, DBMS MySQL dan pengujian sistem menggunakan blackbox testing. Hasil dari penelitian ini merupakan sistem yang dapat memberikan informasii terkait pergerakan berkas secara cepat dan akurat yang terintegrasi dengan e-mail dan WhatsApp dengan begitu sistem ini dapat membantu dalam melakukan monitoring berkas permohonan PPK dan laporan PPK tentunya.

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Kholilah740, 2022-01-12 03:39:53

SKRIPSI RANCANG BANGUN SISTEM INFORMASI MONITORING PERBAL PERJANJIAN PEMENUHAN KEWAJIBAN IZIN PRINSIP PEMANFAATAN TATA RUANG(IPPR) DENGAN METODE ADMINISTRATIVE WORKFLOW SYSTEMS(STUDI KASUS: BIRO PEMBANGUNAN DAN LINGKUNGAN HIDUP SETDA PROVINSI DKI JAKARTA)

ABSTRAK
Salsa Kholilah – 11160930000070, Rancang Bangun Sistem Informasi Monitoring Perbal Perjanjian Pemenuhan Kewajiban Izin Prinsip Pemanfaatan Ruang (IPPR) dengan metode Administrative Workflow Systems (Studi kasus : Biro Pembangunan dan Lingkungan Hidup). Di bawah bimbingan Yuni Sugiarti dan Zulfiandri.
Salah satu tugas Biro PLH Setda Provinsi DKI Jakarta adalah mengkoordinasikan dan memantau Perjanjian Pemenuhan Kewajiban(PPK) terkait perizinan pembangunan diwilayah DKI Jakarta yang dilakukan oleh pemohon. Dalam proses PPK tersebut selain pihak Biro PLH adapun pihak lain yang terlibat yaitu Biro Hukum, Asbang LH dan Biro umum sebagai pihak yang akan memverifikasi perbal PPK tersebut. Namun sulitnya mengetahui progres permohonan PPK yang diajukan, menjadi kendala utama dalam melakukan monitoring berkas permohonan. Penelitian ini bertujuan untuk menghasilkan sebuah sistem monitoring yang mampu memberikan informasi yang cepat dan akurat terhadap pergerakan berkas permohonan dan membantu dalam pembuatan laporan PPK. Penelitian ini menggunakan metode Administrative Workflow System dan metode RAD sebagai tahapan perancangan. Metode pengumpulan data menggunakan studiliteratur, observasi, wawancara, dan tahap pengkodean sistem menggunakan bahasa pemograman PHP, HTML, DBMS MySQL dan pengujian sistem menggunakan blackbox testing. Hasil dari penelitian ini merupakan sistem yang dapat memberikan informasii terkait pergerakan berkas secara cepat dan akurat yang terintegrasi dengan e-mail dan WhatsApp dengan begitu sistem ini dapat membantu dalam melakukan monitoring berkas permohonan PPK dan laporan PPK tentunya.

Keywords: Sistem informasi monitoring, RAD, UML, Administrative Workflow System.

3. Surat Pembimbing Skripsi
XXXIV

LAMPIRAN III

SOURCE CODE

1. Login dan Logout /**
-Auth Controller
<?php * Store a newly created resource in storage.

namespace App\Http\Controllers; *
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; * @param \Illuminate\Http\Request $request
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash; * @return \Illuminate\Http\Response
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\File; */
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\AuthenticatesUsers; public function store(Request $request)
use Haruncpi\LaravelIdGenerator\IdGenerator;
use Illuminate\Support\Facades\Mail; {
use App\Mail\MailNotify;
$validator = Validator::make($request->all(), [
use App\Providers\RouteServiceProvider;
use App\User; 'name' => 'required|min:5|max:25|regex:/^[a-zA-Z
use App\pemohon;
use App\Activity_log; ]+$/u',

use Image; 'email' => 'required|min:5|max:30|email|unique:users',

class AuthController extends Controller 'username' => 'required|unique:users',
{
'password' => 'required|min:6|max:20',
/**
* Display a listing of the resource. 'repassword' => 'required|same:password',
*
* @return \Illuminate\Http\Response 'role' => 'required',
*/
]);
public function __construct()
{ if ($validator->fails()) {

$this->middleware('auth'); return redirect()->back()->withErrors($validator)-
}
>withInput();

}

$data = [

'id_user' => IdGenerator::generate(['table' =>

'users','field'=>'id_user', 'length' => 7, 'prefix'

=>'PLH','reset_on_prefix_change'=>'true']),

'name' => $request->name,

'username' => $request->username,

'email' => $request->email,

'phone_number' => $request->phone_number,

'password' => bcrypt($request->password),

'role' => $request->role

];

$data = User::create($data);

public function main_dashboard(){ if($data){

return view('main');

} return redirect('users')->with('alert-success','Berhasil

menambah data.');

public function index() }else{

{ return redirect('users/create')->with('alert','Gagal menambah

$users = User::get(); data.');

$pemohons = pemohon::select('*') }

->leftJoin('users as

us','us.id_user','=','pemohons.id_user') }

->get()->first();

/**

return view('users.users',['users' => $users,'pemohons' => * Display the specified resource.

$pemohons]); *

} * @param int $id

* @return \Illuminate\Http\Response

public function logout(Request $request){ */

Session::flush(); public function show($id)

return redirect('/')->with('alert-success','Kamu sudah logout'); {

}

$pemohons = pemohon::select('*')

->leftJoin('users as

/** us','us.id_user','=','pemohons.id_user')

* Show the form for creating a new resource. ->get()->first();

*

* @return \Illuminate\Http\Response return view('users.show_user', ['pemohons' => $pemohons]);

*/ }

public function create()

{ /**

* Show the form for editing the specified resource.

return view('users.users_add'); *

} * @param int $id

* @return \Illuminate\Http\Response

XXXV

*/ }
public function edit($id)
{ /**
* Remove the specified resource from storage.
// *
$users = User::where('id_user',$id)->get(); * @param int $id
* @return \Illuminate\Http\Response
return view('users.users_edit',['users' => $users]); */
public function destroy(Request $request,$id)
} {
// delete
/**
$users = User::where('id_user',$id)->get()->first();
* Update the specified resource in storage.
if($users){
* $users->delete();
Session::flash('message', 'Successfully deleted the users!');
* @param \Illuminate\Http\Request $request return redirect('users')->with('alert-success','Successfully

* @param int $id deleted the users!');
}else{
* @return \Illuminate\Http\Response return redirect('users')->with('alert-success','Data has been

*/ deleted!');
}
public function update(Request $request, $id)
}
{
}
$users = User::where('id_user',$id)->get()->first(); -Login Controller
<?php
//
namespace App\Http\Controllers\Auth;
$data = [

'name' => $request->name,

'role' => $request->role

];

$validation_value = [
'name' => 'required|min:5|max:25',
'role' => 'required',

];

if(!empty($request->password)){ use App\Http\Controllers\Controller;

$validation_value += [ use App\Providers\RouteServiceProvider;

'password' => 'required|min:6|max:20',

'repassword' => 'required|same:password' use Illuminate\Foundation\Auth\AuthenticatesUsers;

]; use Illuminate\Support\Facades\Session;

$data += [ use Illuminate\Support\Facades\Auth;

'password' => bcrypt($request->password) use Illuminate\Support\Facades\Validator;

]; use Illuminate\Support\Facades\Hash;

} use Illuminate\Support\Facades\File;

use Illuminate\Support\Facades\DB;

if(!empty($request->email) && !empty($requestu-se Illuminate\Http\Request;

>phone_number)){ use Haruncpi\LaravelIdGenerator\IdGenerator;

if($request->email != $users->email){

$validation_value += [ use App\User;

'email' =>use App\Activity_log;

'required|email|min:5|max:30|unique:users',

];

} class LoginController extends Controller

{

if($request->username != $users->username){ /*

$validation_value += [ |--------------------------------------------------------------------------

'username' => 'required|unique:users|numeric' | Login Controller

]; |--------------------------------------------------------------------------

}|

} | This controller handles authenticating users for the application and

| redirecting them to your home screen. The controller uses a trait

$validator = Validator::make($request- | to conveniently provide its functionality to your applications.

>all(),$validation_value); |

*/

if ($validator->fails()) {

return redirect()->back()->withErrors($validator)- use AuthenticatesUsers;

>withInput();

} /**

* Where to redirect users after login.

$data = User::where('id_user',$id)->update($data); *

* @var string

if($data){ */

return redirect('users')->with('alert-success','Berhasil // protected $redirectTo = RouteServiceProvider::HOME;

mengubah data.'); protected $redirectTo = '/';

}else{

return redirect('users')->with('alert-success','Gagal merubah /**

data.'); * Create a new controller instance.

}*

* @return void

XXXVI

*/ */

public function __construct()

{

$this->middleware('guest')->except('logout');

} public function index()

{

public function do_login(Request $request){ $persyaratans = Persyaratan::get();

$email = $request->email;

$password = $request->password; return view('persyaratan.persyaratan',['persyaratans' =>

$persyaratans]);

$data = User::where('email',$email)-

>orWhere('username',$email)->first(); }

if($data){ //apakah email tersebut ada atau tidak

if(Hash::check($password,$data->password)){ /**

* Show the form for creating a new resource.

if(auth()->attempt(array('email' => $data- *

>email,'password' => $request->password))) * @return \Illuminate\Http\Response

{ */

Session::put('id_user',$data->id_user); public function create()

Session::put('role',$data->role); {

Session::put('name',$data->name);

Session::put('email',$data->email); return view('persyaratan.add_persyaratan');

Session::put('username',$data->username); }

Session::put('login',TRUE);

/**

* Store a newly created resource in storage.

return redirect()->route('dashboard'); *

* @param \Illuminate\Http\Request $request

}else{ * @return \Illuminate\Http\Response

*/

return redirect()->route('login')->with('alret','Email atau public function store(Request $request)

password, Tidak Sesuai !'); {

} //

$validator = Validator::make($request->all(), [

}else{ 'list_syarat' => 'required|min:15',

return redirect('/login')->with('alert','username atau

password, Tidak Sesuai !');

}

} ]);

else{

return redirect('/login')->with('alert','username atau password, if ($validator->fails()) {

Tidak Sesuai !'); return redirect()->back()->withErrors($validator)-

} >withInput();

}

} $persyaratan = [

} 'id_persyaratan' => IdGenerator::generate(['table' =>

2, Persyaratan 'persyaratans','field'=>'id_persyaratan', 'length' => 4, 'prefix'

-Persyaratan Controller =>'P','reset_on_prefix_change'=>'true']),

<?php 'id_user' => session('id_user'),

'list_syarat' => $request->list_syarat,

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Auth; ];

use Illuminate\Support\Facades\Validator;

use Illuminate\Support\Facades\Hash; $persyaratan = Persyaratan::create($persyaratan);

use Illuminate\Support\Facades\Session;

use Illuminate\Support\Facades\File; return redirect('persyaratan')->with('alert-success','Berhasil

use Illuminate\Support\Facades\DB; menambah data.');

use Illuminate\Validation\Rule; }

use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Haruncpi\LaravelIdGenerator\IdGenerator;

/**

use App\Providers\RouteServiceProvider; * Display the specified resource.

use App\Persyaratan; *

use App\Activity_log; * @param int $id

* @return \Illuminate\Http\Response

use Image; */

public function show($id)

class PersyaratanController extends Controller {

{ //

/** }

* Display a listing of the resource.

* /**

* @return \Illuminate\Http\Response * Show the form for editing the specified resource.

XXXVII

* }else{

* @param int $id return redirect('persyaratan')->with('alert-success','Data has

* @return \Illuminate\Http\Response been deleted!');

*/ }

public function edit($id)

{}

//

$persyaratans = Persyaratan::where('id_persyaratan',$id)->get()};

return view('persyaratan.edit_persyaratan',['persyaratans' =>-view Persyaratan
$persyaratans]); @extends('backend.dashboard')
@section('title','Sistem Informasi Monitoring Perbal PPK')
} @section('content')

/**

* Update the specified resource in storage. <!-- Page Heading -->

*

* @param \Illuminate\Http\Request $request <div class="col-lg-12 mb-4">

* @param int $id <!-- Illustrations -->

* @return \Illuminate\Http\Response <div class="card shadow mb-4">

*/ <div class="card-header py-3">

public function update(Request $request, $id) <h5 class="m-0 font-weight-bold text-

{ primary">Persyaratan Perbal Perjanjian Pemenuhan Kewajiban

// IPPR</h5>

$persyaratan = Persyaratan::where('id_persyaratan',$id); </div>

// <div class="card-body">

$data = [ <a href="{{ url('persyaratan/create') }}" class="btn btn-

'list_syarat' => $request->list_syarat, warning btn-square" style="margin-right: 20px;background-color:

orange;">

]; <i class="tombol-action" >+Tambah data</i>

</a>

$validation_value = [ </div>

<div class="card-body" style="-webkit-column-count: 2; -

'list_syarat' => 'required|min:15', moz-column-count: 2; column-count: 2;">

<div class="text-center">

]; <img class="img-fluid px-3 px-sm-4 mt-3 mb-4"

$validator = Validator::make($requests-tyle="width: 50rem;" src="{{ asset('admin/img/ts.jpg') }}" alt="">

>all(),$validation_value); </div>

<h5>Berikut persyaratan yang harus kamu persiapkan dan

if ($validator->fails()) { lengkapi untuk proses permohonan PPK yaitu :</h5>

return redirect()->back()->withErrors($validator)- <?php $no = 1; ?>

>withInput(); @foreach($persyaratans as $row)

} <tr>

<td>{!! nl2br(e($row->list_syarat)) !!}</td>

$data = Persyaratan::where('id_persyaratan',$id)- <div class="row">

>update($data); <a href="{{ URL::to('persyaratan/' . $row-

>id_persyaratan . '/edit') }}" class="btn btn-info btn-circle ml-1 mr-

if($data){ 1">

return redirect('persyaratan/')->with('alert-success','Berhasil <i class="tombol-action" >Edit</i>

mengubah data.'); </a>

}else{ <form action="{{ URL::to('persyaratan/'. $row-

return redirect('persyaratan/'.$id.'/edit')->with('alert','Gaga>lid_persyaratan) }}" method="post">

mengubah data.'); @method('DELETE')

} @csrf

<button class="btn btn-danger btn-circle"

} onclick="return confirm('Anda Yakin ingin Menghapus data

ini?')"><i class=" fas fa-trash"></i></button>

/** </form>

* Remove the specified resource from storage. </div>

* </tr>

* @param int $id @endforeach

* @return \Illuminate\Http\Response </tbody>

*/ </div>

public function destroy(Request $request,$id) </div>

{ </div>

// delete

$persyaratan = Persyaratan::where('id_persyaratan',$id)->get()@- endsection

>first(); 3. Registrasi

-Registrasi Controller

if($persyaratan){ <?php

$persyaratan->delete();

Session::flash('message', 'Successfully deleted tnhaemespace App\Http\Controllers;

persyaratan!');

return redirect('persyaratan')->with('aleurts-e Illuminate\Http\Request;

success','Successfully deleted the persyaratan!'); use Illuminate\Support\Facades\Validator;

XXXVIII

use Illuminate\Support\Facades\Hash;

use Illuminate\Support\Facades\Session; 'almt_pemohon' => $request->almt_pemohon,

use Illuminate\Support\Facades\DB; 'nm_pt'

use Haruncpi\LaravelIdGenerator\IdGenerator; => $request->nm_pt,

use Illuminate\Support\Facades\Mail; 'no_tlp_pt'

use App\Mail\MailNotify; => $request->no_tlp_pt,

use App\Notifications\NotifikasiWA;

'ket_permohonan' => $request->ket_permohonan,

use App\User;

use App\pemohon; ];

use App\Mail\EmailRegistrasi;

$pemohon =

class RegisterController extends Controller pemohon::create($pemohon);

{

// //penerima notifikasi

public function daftar(Request $request){ $user = User::where('id_user',$user->id_user)->first();

//

$request->no_tlp = "+62".$request->no_tlp; $user->notify(new NotifikasiWA($pemohon,'Registrasi

pemohon'));

$validator = Validator::make($request->all(), [

'nm_pemohon' => 'required|min:5|max:25|regex:/^[a- $preview = new EmailRegistrasi($pemohon->created_at);

zA-Z ]+$/u',

'email' => 'required|min:5|max:30|email|unique:users', Mail::to($user->email)->send($preview);

'NIK' => 'required|unique:pemohons|regex:/^[0-9_-

]{15,16}$/',

'tgl_lahir' => 'required', // /* Notify Email */

'no_tlp' => 'required|unique:users,phone_number|numeric', // Mail::to($user->email)->send(new MailNotify($user-

'almt_pemohon' => 'required|min:10', >username));

'nm_pt' => 'required|min:5|regex:/^[a-zA-Z. ]+$/u',

'no_tlp_pt' => 'required|unique:pemohons|numeric', return redirect('login')->with('alert-success','Berhasil

'ket_permohonan' => 'required|min:5|regex:/^[a-zA-Z ]+$/mu'e, nambah data.');

'username' => 'required|unique:users', }else{

'password' => 'required|min:6|max:20', return redirect('registrasi')->with('alert','Gagal menambah

'repassword' => 'required|same:password', data.');

]); }

}

if ($validator->fails()) { }

return redirect()->back()->withErrors($validato-rV)-iew Registrasi

>withInput(); <!DOCTYPE html>

} <html lang="en">

$user = [ @include('backend.header')

'id_user' => IdGenerator::generate(['table' =>

'users','field'=>'id_user', 'length' => 7, 'prefix<'style type="text/css">

=>'PLH','reset_on_prefix_change'=>'true']), .active{

'name' font-size: 15px;

=> $request->nm_pemohon, font-weight: bold;

'username' => $request->username, font-color: #FFF ;

'email' => $request->email, }

'phone_number' => $request->no_tlp, //$request<-/style>

>phone_number;

'password' => bcrypt($request->password),

'role' => 'Pemohon' <body id="page-top" style="background-color: white;">

]; <div style="background-color: #FF8C00;">

<marquee style="color: white; font-size:150% ">SELAMAT

DATANG DI SISTEM MONITORING PERBAL PERJANJIAN

$user = User::create($user); PEMENUHAN KEWAJIBAN IPPR</marquee>

</div>

if($user){

<nav class="navbar navbar-expand navbar-light bg-darkblue

$pemohon = [ topbar mb-4 static-top shadow" style="background-color: #000080;">

'id_pemohon' => <!-- Sidebar Toggle (Topbar) -->

IdGenerator::generate(['table' => 'pemohons','field'=>'id_pemohon', <button id="sidebarToggleTop" class="btn btn-link d-md-none

'length' => 6, 'prefix' =>'PPK','reset_on_prefix_change'=>'true']), rounded-circle mr-3">

'id_user' <i class="fa fa-bars"></i>

=> $user->id_user, </button>

'nm_pemohon' => <!-- Topbar Navbar -->

$request->nm_pemohon, <ul class="navbar-nav ml-auto">
=> $request->NIK,
$request->tgl_lahir, 'NIK'
=> $request->no_tlp,
<!-- Nav Item - User Information -->

'tgl_lahir' => <li class="nav-item kosong">

<a class="nav-link" href="{{ url('/') }}">

'no_tlp' <span>Persyaratan</span></a>

</li>

XXXIX

<li class="nav-item login"> @endif

<a class="nav-link" href="{{ url( '/login') }}"> <input id="name_label" type="text"

<span>Login</span></a> name="almt_pemohon" value="{{ old('almt_pemohon') }}"

</li> class="form-control" placeholder="Enter Alamat">

</div>

<li class="nav-item registrasi">

<a class="nav-link" href="{{ url('/registrasi') }}"> <div class="form-group">

<span>Registrasi</span></a> <label for="name_label">Nomor Tlp / HP</label>

</li> @if($errors->has('no_tlp'))

</ul> <div class="text-left" style="padding: 2px;

color:red;">{{ $errors->first('no_tlp') }}</div>

</nav> @endif

<div class="row col-md-12">

<div class="container"> <div class="col-md-1 form-control">

+62

<!-- Outer Row --> </div>

<div class="row justify-content-center"> <div class="col-md-11">

<input id="name_label" type="text" name="no_tlp"

<div class="col-xl-10 col-lg-12 col-md-9"> value="{{ old('no_tlp') }}" class="form-control" placeholder="Enter

phone number">

<div class="card o-hidden border-0 shadow-lg my-5" </div>

style="background-color: white;"> </div>

<div class="card-body"> </div>

<!-- Nested Row within Card Body -->

<div class="row justify-content-center" >

<div class="text-center"> <div class="form-group">

<h1 class="h4 text-black-900 mb-4">Form Registrasi <label for="name_label">Nama Perusahaan</label>

</h1> @if($errors->has('nm_pt'))

<h4>Perjanjian Pemenuhan Kewajiban IPPR</h4> <div class="text-left" style="padding: 2px;

color:red;">{{ $errors->first('nm_pt') }}</div>

</div> @endif

</div> <input id="name_label" type="text" name="nm_pt"

@if(\Session::has('alert-success')) value="{{ old('nm_pt') }}" class="form-control" placeholder="Enter

<div class="alert alert-success" style="padding: 2px;"> name">

<div>{{Session::get('alert-success')}}</div> </div>

</div>

@endif <div class="form-group">

<form class="user" enctype="multipart/form-data" <label for="name_label">Nomor Tlp / HP

action="{{ url('daftar') }}" method="post"> (Perusahaan)</label>

@csrf @if($errors->has('no_tlp_pt'))

<div class="form-group"> <div class="text-left" style="padding: 2px;

<label for="name_label">Nama Pemohon</label> color:red;">{{ $errors->first('no_tlp_pt') }}</div>

@if($errors->has('nm_pemohon')) @endif

<div class="text-left" style="padding: 2px; <input id="name_label" type="text" name="no_tlp_pt"

color:red;">{{ $errors->first('nm_pemohon') }}</div> value="{{ old('no_tlp_pt') }}" class="form-control"

@endif placeholder="Enter phone number">

<input id="name_label" type="text" name="nm_pemohon" </div>

value="{{ old('nm_pemohon') }}" class="form-control"

placeholder="Enter name"> <div class="form-group">

</div> <label for="name_label">Keterangan Permohonan</label>

@if($errors->has('ket_permohonan'))

<div class="form-group"> <div class="text-left" style="padding: 2px;

<label for="exampleInputEmail1">NIK</label> color:red;">{{ $errors->first('ket_permohonan') }}</div>

@if($errors->has('NIK')) @endif

<div class="text-left" style="padding: 2px; <input id="name_label" type="text"

color:red;">{{ $errors->first('NIK') }}</div> name="ket_permohonan" value="{{ old('ket_permohonan') }}"

@endif class="form-control" placeholder="Enter Keterangan Permohonan">

<input type="text-left" name="NIK" value="{{ old('NIK') </div>

}}" class="form-control" placeholder="Enter NIK">

</div> <div class="form-group">

<label for="name">Username</label>

<div class="form-group"> @if($errors->has('username'))

<label for="name_label">Tanggal Lahir</label> <div class="text-left" style="padding: 2px;

@if($errors->has('tgl_lahir')) color:red;">{{ $errors->first('username') }}</div>

<div class="text-left" style="padding: 2px; @endif

color:red;">{{ $errors->first('tgl_lahir') }}</div> <input type="text" name="username" value="{{

@endif old('username') }}" class="form-control" aria-

<input type="date" name="tgl_lahir" value="d{e{scribedby="emailHelp" placeholder="Enter username">

old('tgl_lahir') }}" class="form-control"> </div>

</div>

<div class="form-group">

<div class="form-group"> <label for="exampleInputEmail1">Email address</label>

<label for="name_label">Alamat </label> @if($errors->has('email'))

@if($errors->has('almt_pemohon')) <div class="text-left" style="padding: 2px;

<div class="text-left" style="padding: 2pcxo;lor:red;">{{ $errors->first('email') }}</div>

color:red;">{{ $errors->first('almt_pemohon') }}</div> @endif

XL

<input type="text" name="email" value="{{ old('email')use Carbon\Carbon;

}}" class="form-control" aria-describedby="emailHelp"

placeholder="Enter email"> use App\Berkas;

</div> use App\User;

use App\Lampiran;

use App\Pemohon;

<div class="form-group row"> use App\Weights;

use App\Activity_log;

<div class="col-lg-6 "> use App\Notifikasi;

<label for="exampleInputPassword1">Password</label> use App\Mail\EmailBerkas;

@if($errors->has('password'))

<div class="text-left" style="padding: 2px;

color:red;">{{ $errors->first('password') }}</div>

@endif

<input type="password" name="password" class="form-

control" placeholder="Password"> class BerkasController extends Controller

</div> {

<div class="col-6"> /**

<label for="exampleInputPassword1">Re- * Display a listing of the resource.

Password</label> *

@if($errors->has('repassword')) * @return \Illuminate\Http\Response

<div class="text-left" style="padding: 2px; */

color:red;">{{ $errors->first('repassword') }}</div> public function index()

@endif {

<input type="password" name="repassword" //

class="form-control" placeholder="Re-Password"> $berkas = Berkas::with('_pemohon')-

</div> >orderBy('created_at','desc')->get();

</div>

// print_r($perbals->toArray());

<input type="submit" class="btn btn-primary"

value="Submit"> return view('berkas.berkas',['berkas' => $berkas]);

</form> }

<hr>

<div class="copyright text-center my-auto"> /**

<span>Copyright &copy; Sistem Informasi Monitoring * Show the form for creating a new resource.

PPK 2021</span> *

</div> * @return \Illuminate\Http\Response

</div> */

</div> public function get_pemohon()

</div> {

</div>

</div> $berkas = Berkas::select('*')

</div> ->leftJoin('pemohons as

</div> p','p.id_pemohon','=','berkas.id_pemohon')

</div> ->where('id_user',session('id_user'))

->get();

@include('backend.footer') // print_r($perbals->toArray());

@include('js') return view('berkas.berkas',['berkas' => $berkas]);
</body> }

</html> /**
4. Permohonan PPK * Show the form for creating a new resource.
*
-Berkas Controller * @return \Illuminate\Http\Response
<?php */
public function create()
namespace App\Http\Controllers; {

use Illuminate\Http\Request; return view('berkas.add_berkas');
use Illuminate\Support\Facades\Auth; }
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash; /**
use Illuminate\Support\Facades\Session; * Store a newly created resource in storage.
use Illuminate\Support\Facades\File; *
use Illuminate\Support\Facades\DB; * @param \Illuminate\Http\Request $request
use Illuminate\Validation\Rule; * @return \Illuminate\Http\Response
use Haruncpi\LaravelIdGenerator\IdGenerator; */
use Illuminate\Support\Facades\Mail; public function store(Request $request)
use App\Mail\MailNotify; {
use App\Notifications\NotifikasiWA;
use Illuminate\Foundation\Auth\AuthenticatesUsers; $validator = Validator::make($request->all(), [
use App\Providers\RouteServiceProvider;
'noippr' => 'required|unique:berkas|min:15|max:30|regex:/^[0-
9-]+$/u',

XLI

'no_srt' =>'required|unique:berkas|min:10|max:30|regex:/^[0- $akte_ham->move($destinationPath, $nameham);

9-]+$/u', $ktp->move($destinationPath, $namektp);

'tgl_srt' => 'required',

'tgl_ippr' => 'required', $lampiran = [

'ippr' => 'required|unique:lampirans|mimes:pdf', 'id_file' => IdGenerator::generate(['table' =>

'srt_izin' => 'required|unique:lampirans|mimes:pdf', 'lampirans','field'=>'id_file', 'length' => 5, 'prefix'

'ppk' => 'required|unique:lampirans|mimes:pdf', =>'F','reset_on_prefix_change'=>'true']),

'rtlb' => 'required|unique:lampirans|mimes:pdf', 'id_berkas' => $berkas ->id_berkas,

'krk' => 'required|unique:lampirans|mimes:pdf', 'ippr' => $nameippr,

'akte' => 'required|unique:lampirans|mimes:pdf', 'srt_izin' => $namesrt,

'akte_ham' => 'required|unique:lampirans|mimes:pdf', 'ppk' => $nameppk,

'ktp' => 'required|unique:lampirans|mimes:pdf', 'rtlb' => $namertlb,

'krk' => $namekrk,

]); 'akte' => $nameakte,

'akte_ham' => $nameham,

if ($validator->fails()) { 'ktp' => $namektp,

return redirect()->back()->withErrors($validator)- ];

>withInput();

}else{

$lampiran = lampiran::create($lampiran);

$pemohons = pemohon::where('id_user',session('id_user'))- // $lampiran = 1;

>first();

if($lampiran){

$berkas = [

'id_berkas' => IdGenerator::generate(['table' =>

'berkas','field'=>'id_berkas', 'length' => 5, 'prefix' $pemohon = Berkas::with('_pemohon')-

=>'BR','reset_on_prefix_change'=>'true']), >where('id_berkas',$berkas->id_berkas)->first();

'noippr' => $request ->noippr,

'id_pemohon' => $pemohons ->id_pemohon, $user = User::get();

'no_srt' => $request ->no_srt, foreach ($user as $usr) {

'tgl_srt' => $request ->tgl_srt, # code...

'tgl_ippr' => $request ->tgl_ippr, if($usr->role == "Biro PLH"){

'status_berkas' => 0, $notif_berkas = [

'id_notif' => IdGenerator::generate(['table' =>

]; 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

$berkas = Berkas::create($berkas); =>'N','reset_on_prefix_change'=>'true']),

'message' => "Permohonan PPK baru atas

if($berkas){ nama ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon

$destinationPath = public_path('admin/berkas/'); untuk diperiksa dan segera dibuatkan Jadwal Rapat.",

'send_to' => $usr->id_user,

if (!is_dir($destinationPath)) { 'status' => 0,

mkdir($destinationPath, 0775, true); ];

} $success = Notifikasi::create($notif_berkas);

}

$ippr = $request ->ippr; }

$srt = $request->srt_izin; }

$ppk = $request->ppk;

$rtlb = $request->rtlb; //penerima notifikasi

$krk = $request->krk; // $id_user =

$akte = $request->akte; pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;

$akte_ham = $request->akte_ham;

$ktp = $request->ktp; $user = User::where('id_user',session('id_user'))->first();

$nameippr = "IPPR-".$berkas->noippr.'.'.$ippr- $user->notify(new NotifikasiWA($berkas,'Input berkas'));

>getClientOriginalExtension();

$namesrt = "SRT-".$berkas->noippr.'.'.$srt- $preview = new EmailBerkas($berkas);

>getClientOriginalExtension();

$nameppk = "PPK-".$berkas->noippr.'.'.$ppk- Mail::to($user->email)->send($preview);

>getClientOriginalExtension();

$namertlb = "RTLB-".$berkas->noippr.'.'.$rtlb- return redirect('get_pemohon')->with('alert-

>getClientOriginalExtension(); success','Berhasil menambah data.');

$namekrk = "KRK-".$berkas->noippr.'.'.$krk- }else{

>getClientOriginalExtension(); return redirect('berkas/create')->with('alert','Gagal

$nameakte = "AKTE-".$berkas->noippr.'.'.$akte-menambah data.');

>getClientOriginalExtension(); }

$nameham = "HAM-".$berkas->noippr.'.'.$akte_ham- }

>getClientOriginalExtension(); }

$namektp = "KTP-".$berkas->noippr.'.'.$ktp-

>getClientOriginalExtension(); /**

* Display the specified resource.

$ippr->move($destinationPath, $nameippr); *

$srt->move($destinationPath, $namesrt); * @param int $id

$ppk->move($destinationPath, $nameppk); * @return \Illuminate\Http\Response

$rtlb->move($destinationPath, $namertlb); */

$krk->move($destinationPath, $namekrk); public function show($id)

$akte->move($destinationPath, $nameakte); {

XLII

$berkas = Berkas::with('_pemohon')->get(); 'tgl_ippr' => 'required',
$lampirans = Lampiran::with('_berkas') 'tgl_srt' => 'required',
];
->where('id_berkas',$id)
->get();

$validator = Validator::make($request-

return view('berkas.show_berkas',['berkas' => >all(),$validation_value);

$berkas,'lampirans' => $lampirans]);

// $lampiran = Lampiran::select('*')

// ->leftJoin('berkas as if ($validator->fails()) {

b','b.noippr','=','lampirans.noippr') return redirect()->back()->withErrors($validator)-

// ->find($id); >withInput();

}

// $lampiran = Lampiran::find('lampirans',$id);

$pemohons = pemohon::where('id_user',session('id_user'))-

>first();

}

$data = [

/** 'noippr' => $request ->noippr,

* Show the form for editing the specified resource. 'id_pemohon' => $pemohons ->id_pemohon,

* 'no_srt' => $request ->no_srt,

* @param int $id 'tgl_srt' => $request ->tgl_srt,

* @return \Illuminate\Http\Response 'tgl_ippr' => $request ->tgl_ippr,

*/

public function edit($id) ];

{

$berkas = pemohon::select('*',) $data = Berkas::where('id_berkas',$id)->update($data);
->leftJoin('berkas as

b','pemohons.id_pemohon','=','b.id_pemohon') as
->leftJoin('lampirans if($data){

l','b.id_berkas','=','l.id_berkas') $data = Lampiran::where('id_berkas',$id)->first();
->where('b.id_berkas',$id)
->get();

return view('berkas.edit_berkas',['berkas' => $berkas]); $noippr = Berkas::where('id_berkas',$id)->first();

} $destinationPath = public_path('admin/berkas/');

/** $lampiran = [];
* Update the specified resource in storage.
* if (!is_dir($destinationPath)) {
* @param \Illuminate\Http\Request $request mkdir($destinationPath, 0775, true);
* @param int $id
* @return \Illuminate\Http\Response }
*/
public function update(Request $request, $id) if(!empty($request ->ippr)){
{ $ippr = $request ->ippr;
$nameippr = "IPPR-".$noippr->noippr.'.'.$ippr-
//
>getClientOriginalExtension();
$berkas = Berkas::where('id_berkas',$id); if (file_exists($data->ippr)) {
// unlink($data->ippr);
$data = [ }

'noippr' => $request->noippr, $lampiran += [
'no_srt' => $request->no_srt, 'ippr' => $nameippr,
'tgl_ippr' => $request->tgl_ippr,
'tgl_srt' => $request->tgl_srt, ];
'ippr' => $request->ippr,
'srt_izin' => $request->srt_izin, $ippr->move($destinationPath, $nameippr);
'ppk' => $request->ppk, }
'rtlb' => $request->rtlb, if(!empty($request ->srt_izin)){
'krk' => $request->krk,
'krk' => $request->krk, $srt = $request->srt_izin;
'akte' => $request->akte, $namesrt = "SRT-".$noippr->noippr.'.'.$srt-
'akte_ham' => $request->akte_ham, >getClientOriginalExtension();
'ktp' => $request->ktp, if (file_exists($data->srt_izin)) {

unlink($data->srt_izin);
}

]; $lampiran += [
'srt_izin' => $namesrt,
$validation_value = [ =>
'noippr' ];

'required|u nique:berka s|min:15 |ma x:30 |regex:/^[0 -9 -]+$/u', $srt->move($destinationPath, $namesrt);
'no_srt' }
if(!empty($request ->ppk)){
=>'required|unique:berkas|min:10|max:30|regex:/^[0-9-]+$/u',

XLIII

$ppk = $request->ppk; unlink($data->ktp);

$nameppk = "PPK-".$noippr->noippr.'.'.$ppk- }

>getClientOriginalExtension();

$lampiran += [

if (file_exists($data->ppk)) { 'ktp' => $namektp,

unlink($data->ppk); ];

}

$ktp->move($destinationPath, $namektp);

$lampiran += [ }

'ppk' => $nameppk,

];

$lampiran = lampiran::where('id_berkas',$id)-

$ppk->move($destinationPath, $nameppk); >update($lampiran);

if($lampiran){

}

if(!empty($request ->rtlb)){

$rtlb = $request->rtlb; $pemohon = Berkas::with('_pemohon')-

$namertlb = "RTLB-".$noippr->noippr.'.'.$rtlb->where('id_berkas',$id)->first();

>getClientOriginalExtension();

if (file_exists($data->rtlb)) { $user = User::get();

unlink($data->rtlb); foreach ($user as $usr) {

} # code...

if($usr->role == "Biro PLH"){

$lampiran += [ $notif_berkas = [

'rtlb' => $namertlb, 'id_notif' => IdGenerator::generate(['table' =>

]; 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

$rtlb->move($destinationPath, $namertlb); =>'N','reset_on_prefix_change'=>'true']),

'message' => "Ada perubahan data pada

} Permohonan PPK atas nama ".$pemohon->_pemohon[0]->nm_pt."

if(!empty($request ->krk)){ telah dibuat, Mohon untuk diperiksa dan segera dibuatkan Jadwal

$krk = $request->krk; Rapat.",

$namekrk = "KRK-".$noippr->noippr.'.'.$krk- 'send_to' => $usr->id_user,

>getClientOriginalExtension(); 'status' => 0,

if (file_exists($data->krk)) { ];

unlink($data->krk); $success = Notifikasi::create($notif_berkas);

}}

}

$lampiran += [ }

'krk' => $namekrk,

]; return redirect('get_pemohon/')->with('alert-

success','Berhasil mengubah data.');

$krk->move($destinationPath, $namekrk); }else{

return redirect('berkas/'.$id.'/edit')->with('alert','Gagal

mengubah data.');

}}

if(!empty($request ->akte)){

$akte = $request->akte;

$nameakte = "AKTE-".$noippr->noippr.'.'.$akte- }

>getClientOriginalExtension();

if (file_exists($data->akte)) { /**

unlink($data->akte); * Remove the specified resource from storage.

}*

$lampiran += [ * @param int $id

'akte' => $nameakte, * @return \Illuminate\Http\Response

]; */

$akte->move($destinationPath, $nameakte); public function destroy(Request $request, $id)

} { // delete

if(!empty($request ->akte_ham)){ $berkas = Berkas::where('id_berkas',$id)->first();

$akte_ham = $request->akte_ham;

$nameham = "HAM-".$noippr->noippr.'.'.$akte_ham- if($berkas){

>getClientOriginalExtension(); $berkas->delete();

if (file_exists($data->akte_ham)) { Session::flash('message', 'Successfully deleted the

unlink($data->akte_ham); persyaratan!');

} return redirect('berkas')->with('alert-success','Successfully

deleted the persyaratan!');

$lampiran += [ }else{

'akte_ham' => $nameham, return redirect('berkas')->with('alert-success','Data has been

]; deleted!');

$akte_ham->move($destinationPath, $nameham); }

} }
if(!empty($request ->ktp)){ public function b_timeline()
{
$ktp = $request->ktp;
$namektp = "KTP-".$noippr->noippr.'.'.$ktp- //
>getClientOriginalExtension(); $berkas = Berkas::with('_pemohon')->get();
if (file_exists($data->ktp)) {

XLIV

// print_r($perbals->toArray()); <i class="tombol-action" >Edit</i>

</a></button>

return view('berkas.berkas_timeline',['berkas' => $berkas]); <br>

} <p></p>

<form action="{{ URL::to('berkas/'. $row-

>id_berkas) }}" method="post" style="float: center;">

} @method('DELETE')

-View Berkas Permohonan PPK @csrf

@extends('backend.dashboard') <button class="border border-primary"

@section('title','Permohonan PPK') onclick="return confirm('Anda Yakin ingin Menghapus data

@section('content') ini?')"><i class="tombol-action" >Delete</i></button>

<!-- DataTales Example --> </form>

<div class="card shadow mb-4"> @endif

<div class="card-header py-3"> </td>

<h6 class="m-0 font-weight-bold text- </tr>

primary">@yield('title')</h6> <?php $no++; ?>

</div> @endforeach

<div class="card-body"> </tbody>

@if(session('role') == "Pemohon") </table>

<a href="{{ url('berkas/create') }}" class="btn btn-success </div>

btn-square" style="margin-bottom: 20px;background-color: </div>

orange;"> </div>

<i class="tombol-action" >+Tambah Permohonan</i> @endsection

</a> 5. Jadwal PPK

@endif -Jadwal Controller

<div class="table-responsive"> <?php

<table class="table table-bordered" id="dataTable"

width="100%" cellspacing="0"> namespace App\Http\Controllers;

<thead>

use Illuminate\Http\Request;

<tr> use Illuminate\Support\Facades\Auth;

<th>Nomor IPPR</th> use Illuminate\Support\Facades\Validator;

<th>Nama Pemohon</th> use Illuminate\Support\Facades\Hash;

<th>Tanggal IPPR</th> use Illuminate\Support\Facades\Session;

<th>Nomor Surat</th> use Illuminate\Support\Facades\File;

<th>Tanggal Surat</th> use Illuminate\Support\Facades\DB;

<th>Status</th> use Illuminate\Support\Facades\Mail;

<th>Action</th> use Illuminate\Validation\Rule;

</tr> use Illuminate\Foundation\Auth\AuthenticatesUsers;

</thead> use Haruncpi\LaravelIdGenerator\IdGenerator;

<tbody> use App\Notifications\NotifikasiWA;

<?php $no = 1; ?>

@foreach($berkas as $row) use Carbon\Carbon;

<tr>

<td>{{ $row->noippr }}</td> use App\Jadwal;

<td>{{ $row->_pemohon[0]->nm_pemohon }} a/nuse App\pemohon;

{{ $row->_pemohon[0]->nm_pt }}</td> use App\Berkas;

<td>{{ $row->tgl_ippr }}</td> use App\Weights;

<td>{{ $row->no_srt }}</td> use App\Activity_log;

<td>{{ $row->tgl_ippr }}</td> use App\User;

<td>{{ ($row->status_berkas == 0 ? "On Progress" :use App\Notifikasi;

"Done") }}</td> use App\Mail\EmailJadwal;

<td>

<button class="border border-primary" style="float:class JadwalController extends Controller

center;"><a href="berkas/{{ $row->id_berkas }}"> {

<i>Detail</i> /**

</a></button> * Display a listing of the resource.

<p></p> *

@if(session('role') == "Pemohon") * @return \Illuminate\Http\Response

<button class="border border-primary" style="float: */

center;"><a href="{{ URL::to('berkas/' . $row->id_berkas . '/edit') public function index()

}}"> {

<i class="tombol-action" >Edit</i> //

</a></button> //

<br> $jadwals = Jadwal::with('_berkas')

<p></p> ->where('jns_jadwal','=','1')

@endif ->orderBy('created_at','desc')->get();

@if(session('role') == "Biro PLH") return view('jadwal.jadwal_rapat',['jadwals'=>$jadwals]);
<button class="border border-primary" style="float: }
center;"><a href="{{ URL::to('berkas/' . $row->id_berkas . '/edit')
}}">

XLV

/** */
* Display a listing of the resource. public function store(Request $request)
* {
* @return \Illuminate\Http\Response
*/ //
public function ttd()
{ $validator = Validator::make($request->all(), [
'id_berkas' => 'required',
// 'jns_jadwal' => 'required',
// 'tgl_jadwal' => 'required',
'jam_jadwal' => 'required',
$jadwals = Jadwal::with('_berkas') 'ket_jadwal' => 'required|min:10',
->where('jns_jadwal','=','0')
->get(); ]);

if ($validator->fails()) {

return view('jadwal.jadwal_ttd',['jadwals'=>$jadwals]); return redirect()->back()->withErrors($validator)-

} >withInput();
/**
* Show the form for creating a new resource. }else{
*
* @return \Illuminate\Http\Response // $berkas = Berkas::select('*')
*/ // ->leftJoin('pemohons as
public function jdwl_pemohon() p','p.id_pemohon','=','berkas.id_pemohon')
{ // ->get();

// $berkas = Berkas::where('id_berkas',$request->id_berkas)-
>first();
$jadwals = Jadwal::select('*')
->leftJoin('pemohons as if($berkas){

p','p.id_pemohon','=','jadwals.id_pemohon') $jadwal = [
->where('id_user',session('id_user'))
->get(); 'id_jadwal' => IdGenerator::generate(['table' =>

// print_r($perbals->toArray()); 'jadwals','field'=>'id_jadwal', 'length' => 5, 'prefix'

return view('jadwal.jadwal_rapat',['jadwals'=>$jadwals]); =>'J','reset_on_prefix_change'=>'true']),
}
'id_pemohon' => $berkas ->id_pemohon,
/**
* Show the form for creating a new resource. 'id_berkas' => $berkas ->id_berkas,
*
* @return \Illuminate\Http\Response 'jns_jadwal' => $request ->jns_jadwal,
*/
public function ttd_pemohon() 'tgl_jadwal' => $request ->tgl_jadwal,
{
'jam_jadwal' => $request ->jam_jadwal,
//
'ket_jadwal' => $request ->ket_jadwal,

'status_jdwl' => 0,

];

$jadwal = Jadwal::create($jadwal);

$jadwals = Jadwal::select('*') // $jadwal = 1;

->leftJoin('pemohons as

p','p.id_pemohon','=','jadwals.id_pemohon') if($jadwal){

->where('id_user',session('id_user'))

->where('jns_jadwal','=','0') $pemohon = Jadwal::with('_pemohon')-

->get(); >where('id_jadwal',$jadwal->id_jadwal)->first();

// print_r($perbals->toArray());

$user = User::get();

return view('jadwal.jadwal_ttd',['jadwals'=>$jadwals]); foreach ($user as $usr) {

} # code...

/** if($usr->role == "Biro PLH" || $usr->role == "Biro

* Show the form for creating a new resource. Hukum" || $usr->role == "Biro Umum" || $usr->role == "Asbang

* LH"){

* @return \Illuminate\Http\Response $notif_jadwal = [

*/ 'id_notif' => IdGenerator::generate(['table' =>

public function create() 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

{ =>'N','reset_on_prefix_change'=>'true']),

//ambil data pemohon dengan menggunakan left join 'message' => "Selamat Pagi/Selamat

$pemohons = pemohon::select('*') Siang/Selamat Malam Jadwal baru atas nama ".$pemohon-

->leftJoin('berkas as>_pemohon[0]->nm_pt." telah dibuat, Mohon untuk dilihat dan

b','pemohons.id_pemohon','=','b.id_pemohon') jangan sampai terlambat. #Salam Biro Pembangunan dan

->get(); Lingkungan Hidup",

'send_to' => $usr->id_user,

return view('jadwal.add_jadwal',['pemohons'=>$pemohons]); 'status' => 0,

} ];

$success = Notifikasi::create($notif_jadwal);

/** }

* Store a newly created resource in storage. }

*}

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response //penerima notifikasi

XLVI

// $id_user = 'jns_jadwal' => $request->jns_jadwal,
pemohon::where('id_pemohon',$id_pemohon)->first()->id_user; 'tgl_jadwal' => $request->tgl_jadwal,
'jam_jadwal' => $request->jam_jadwal,
// dd($pemohon->_pemohon[0]->id_user); 'ket_jadwal' => $request->ket_jadwal,
$id_user = pemohon::where('id_pemohon',$pemohon-
>_pemohon[0]->id_pemohon)->first()->id_user;

$user = User::where('id_user',$id_user)->first(); ];

$user->notify(new NotifikasiWA($berkas,'Jadwal ppk')); $validation_value = [

$preview = new EmailJadwal($berkas); 'jns_jadwal' => 'required',
Mail::to($user->email)->send($preview); 'tgl_jadwal' => 'required',
'jam_jadwal' => 'required',
'ket_jadwal' => 'required|min:10',

];

return redirect('jadwal')->with('alert-success','Berhasil

menambah data.');

}else{

return redirect('jadwal/create')->with('alert','Gagal $validator = Validator::make($request-

menambah data.'); >all(),$validation_value);

}

}

} if ($validator->fails()) {

return redirect()->back()->withErrors($validator)-

/** >withInput();

* Display the specified resource. }

*

* @param int $id $berkas = Berkas::where('id_berkas',$request->id_berkas)-

* @return \Illuminate\Http\Response >first();

*/

public function show($id) $data = [

{

// 'jns_jadwal' => $request->jns_jadwal,

} 'tgl_jadwal' => $request->tgl_jadwal,

'jam_jadwal' => $request->jam_jadwal,

/** 'ket_jadwal' => $request->ket_jadwal,

* Show the form for editing the specified resource.

*

* @param int $id ];

* @return \Illuminate\Http\Response

*/ $data = Jadwal::where('id_jadwal',$id)->update($data);

public function edit($id)

{ if($data){

$jadwal = Berkas::select('*',)

->leftJoin('jadwals as // $jadwal = 1;

j','berkas.id_berkas','=','j.id_berkas')

->where('id_jadwal',$id) if($jadwal){

->get();

$pemohon = Jadwal::with('_pemohon')-

$berkas = pemohon::select('*',) >where('id_jadwal',$id)->first();

->leftJoin('berkas as

b','pemohons.id_pemohon','=','b.id_pemohon') $user = User::get();

->where('id_berkas',$id) foreach ($user as $usr) {

->get(); # code...

if($usr->role == "Biro PLH" || $usr->role == "Biro

Hukum" || $usr->role == "Biro Umum" || $usr->role == "Asbang

return view('jadwal.edit_jadwal',['jadwals'=>$jadwal,'berkas'LH"){

=> $berkas]); $notif_jadwal = [

'id_notif' => IdGenerator::generate(['table' =>

} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

=>'N','reset_on_prefix_change'=>'true']),

/** 'message' => "Selamat Pagi/Selamat

* Update the specified resource in storage. Siang/Selamat Malam Ada Perubahan Jadwal atas nama

* ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk

* @param \Illuminate\Http\Request $request dilihat dan jangan sampai terlambat. #Salam Biro Pembangunan dan

* @param int $id Lingkungan Hidup",

* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,

*/ 'status' => 0,

public function update(Request $request, $id) ];

{ $success = Notifikasi::create($notif_jadwal);

// }

$jadwal = Jadwal::where('id_jadwal',$id); }

// }

$data = [

XLVII

return redirect('jadwal/')->with('alert-success','Berhasil <h6 class="m-0 font-weight-bold text-

mengubah data.'); primary">@yield('title')</h6>

}else{ </div>

return redirect('jadwal/'.$id.'/edit')->with('alert','Gagal @if(session('role') == "Biro PLH")

mengubah data.'); <div class="card-body">

} <a href="{{ url('jadwal/create') }}" class="btn btn-success

btn-square" style="margin-bottom: 20px;background-color:

} orange;">

<i class="tombol-action" >+Tambah data</i>

/** </a>

* Remove the specified resource from storage. @endif

* <div class="table-responsive">

* @param int $id <table class="table table-bordered" id="dataTable"

* @return \Illuminate\Http\Response width="100%" cellspacing="0">

*/ <thead>

public function destroy(Request $request,$id)

{ <tr>

// delete <th>No</th>

$jadwal = Jadwal::where('id_jadwal',$id)->get()->first(); <th>Nomor IPPR</th>

<th>Nama Pemohon</th>

if($jadwal){ <th>Jenis Jadwal</th>

$jadwal->delete(); <th>tanggal</th>

<th>jam</th>

// $log = [ <th>Keterangan</th>

// 'id_log' => IdGenerator::generate(['table' => <!-- <th>status</th> -->

'activity_logs','field'=>'id_log', 'length' => 7, 'prefix'

=>'AL','reset_on_prefix_change'=>'true']), @if(session('role') == "Biro PLH")

// 'id_user' => session('id_user'), <th>Action</th>

// 'activity_name' => 'Delete the jadwal.', @endif

// 'ip_address' => $request->ip()

// ]; </tr>

</thead>

// Activity_log::create($log); <tbody>

<?php $no = 1; ?>

// redirect

Session::flash('message', 'Successfully deleted the Jadwal!'); @foreach($jadwals as $row)

return redirect('jadwal')->with('alert-success','Successfully <tr>

deleted the Jadwal!');

}else{ <td>{{ $no }}</td>

return redirect('jadwal')->with('alert-success','Data has been <td>{{ $row->_berkas->noippr }}</td>

deleted!'); <td>{{ $row->_pemohon[0]->nm_pemohon }} a/n {{

} $row->_pemohon[0]->nm_pt }}</td>

<td>{{ ($row->jns_jadwal == 0 ? "TTD PPK" :

} "Rapat") }}</td>

<td>{{ $row->tgl_jadwal }}</td>

public function jadwal_timeline() <td>{{ $row->jam_jadwal }}</td>

{ <td>{{ $row->ket_jadwal }}</td>

// <!-- <td>{{ ($row->status_jdwl == 0 ? "On Progress"

// : "Off Progress") }}</td> -->

$jadwal = Jadwal::select('*') @if(session('role') == "Biro PLH")

->leftJoin('berkas as <td>

b','b.id_berkas','=','jadwals.id_berkas') <button class="border border-primary" style="float:

->where('jns_jadwal','=','1') center;"><a href="{{ URL::to('jadwal/' . $row->id_jadwal . '/edit')

->get(); }}">

$berkas = Berkas::select('*') <i>edit</i>

->leftJoin('pemohons as </a></button>

p','p.id_pemohon','=','berkas.id_pemohon') <br>

->get(); <p></p>

$pemohon = pemohon::select('*') <form action="{{ URL::to('jadwal/'. $row-

->leftJoin('berkas as>id_jadwal) }}" method="post" style="float: center;">

b','pemohons.id_pemohon','=','b.id_pemohon') @method('DELETE')

->get(); @csrf

<button class="border border-primary"

return onclick="return confirm('Anda Yakin ingin Menghapus data

view('jadwal.jadwal_timeline',['jadwals'=>$jadwal,'berkas'=>$berk ini?')"><i>delete</i></button>

as,'pemohon'=>$pemohon]); </form>

@endif

} </td>

} </tr>

-View Jadwal Rapat <?php $no++; ?>

@extends('backend.dashboard') @endforeach

@section('title','Jadwal PPK') </tbody>

@section('content') </table>

<!-- DataTales Example --> </div>

<div class="card shadow mb-4"> </div>

<div class="card-header py-3"> </div>

XLVIII

</div> <button class="border border-primary"

</div> onclick="return confirm('Anda Yakin ingin Menghapus data

ini?')"><i>delete</i></button>

@endsection </form>

-View Jadwal TTD @endif

@extends('backend.dashboard') </td>

@section('title','Jadwal PPK') </tr>

@section('content') <?php $no++; ?>

<!-- DataTales Example --> @endforeach

<div class="card shadow mb-4"> </tbody>

<div class="card-header py-3"> </table>

<h6 class="m-0 font-weight-bold text- </div>

primary">@yield('title')</h6> </div>

</div> </div>

@if(session('role') == "Biro PLH") </div>

<div class="card-body"> </div>

<a href="{{ url('jadwal/create') }}" class="btn btn-success

btn-square" style="margin-bottom: 20px;background-color:@endsection

orange;"> 6. Perbal

<i class="tombol-action" >+Tambah data</i> -Perbal Controller

</a> <?php

@endif

<div class="table-responsive"> namespace App\Http\Controllers;

<table class="table table-bordered" id="dataTable"

width="100%" cellspacing="0"> use Illuminate\Http\Request;

<thead> use Illuminate\Support\Facades\Auth;

use Illuminate\Support\Facades\Validator;

use Illuminate\Support\Facades\Hash;

<tr> use Illuminate\Support\Facades\Session;

<th>No</th> use Illuminate\Support\Facades\File;

<th>Nomor IPPR</th> use Illuminate\Support\Facades\Mail;

<th>Nama Pemohon</th> use Illuminate\Validation\Rule;

<th>Jenis Jadwal</th> use Illuminate\Support\Facades\DB;

<th>tanggal</th> use Illuminate\Foundation\Auth\AuthenticatesUsers;

<th>jam</th> use Haruncpi\LaravelIdGenerator\IdGenerator;

<th>Keterangan</th> use App\Notifications\NotifikasiWA;

<!-- <th>status</th> -->

use Carbon\Carbon;

@if(session('role') == "Biro PLH")

<th>Action</th> use App\Berkas;

@endif use App\Perbal;

use App\Pemohon;

</tr> use App\Weights;

</thead> use App\Activity_log;

<tbody> use App\User;

<?php $no = 1; ?> use App\Notifikasi;

use App\Mail\EmailPerbal;

@foreach($jadwals as $row)

<tr> class PerbalController extends Controller

{

<td>{{ $no }}</td> /**

<td>{{ $row->_berkas->noippr }}</td> * Display a listing of the resource.

<td>{{ $row->_berkas->_pemohon[0]- *

>nm_pemohon }} a/n {{ $row->_berkas->_pemohon[0]->nm_pt * @return \Illuminate\Http\Response

}}</td> */

<td>{{ ($row->jns_jadwal == 0 ? "TTD PPK" : "TTD public function index()

PPK") }}</td> {

<td>{{ $row->tgl_jadwal }}</td> //

<td>{{ $row->jam_jadwal }}</td> $perbals = Perbal::with('_berkas')

<td>{{ $row->ket_jadwal }}</td> // ->where('verify_umum','=','0')

<!-- <td>{{ ($row->status_jdwl == 0 ? "On Progress" ->get();

: "Off Progress") }}</td> -->

@if(session('role') == "Biro PLH") // print_r($perbals->toArray());

<td>

<button class="border border-primary" style="float: return view('perbal.view_perbal',['perbals'=>$perbals]);

center;"><a href="{{ URL::to('jadwal/' . $row->id_jadwal . '/edit') }

}}">

<i>edit</i> /**

</a></button> * Show the form for creating a new resource.

<br> *

<p></p> * @return \Illuminate\Http\Response

<form action="{{ URL::to('jadwal/'. $row- */

>id_jadwal) }}" method="post" style="float: center;"> public function create()

@method('DELETE') {

@csrf

$pemohon = pemohon::select('*')

XLIX

->leftJoin('berkas as 'note_hukum' => 0,

b','pemohons.id_pemohon','=','b.id_pemohon') 'deadline_hkm' => $tgl_perbal->addDays(7),

->get(); 'verify_asbanglh' => 0,

'note_asbanglh' => 0,

return view('perbal.add_perbal',['pemohon'=>$pemohon]); 'deadline_asbanglh' => null,

} 'verify_umum' => 0,

'note_umum' => 0,

/** 'deadline_umum' => null,

* Store a newly created resource in storage.

* ];

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response $perbal= Perbal::create($perbal);

*/ // $perbal = 1;

public function store(Request $request)

{ if($perbal){

//

$validator = Validator::make($request->all(), [ $pemohon = Perbal::with('_pemohon')-

'no_perbal' => 'required|min:10|max:23|regex:/^[0->where('id_perbal',$perbal->id_perbal)->first();

9-]+$/u',

'tgl_perbal' => 'required', $user = User::get();

'objek' => 'required|min:8|regex:/^[a-zA-Z foreach ($user as $usr) {

]+$/u', # code...

'almt_objek' => 'required|min:10', if($usr->role == "Biro Hukum"){

'file_perbal' => 'required|mimes:pdf', $notif_hukum = [

// 'deadline_hkm' => 'required', 'id_notif' => IdGenerator::generate(['table' =>

// 'deadline_asbanglh' => 'required', 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

// 'deadline_umum' => 'required', =>'N','reset_on_prefix_change'=>'true']),

'message' => "Perbal baru atas nama

]); ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk

diverifikasi.",

if ($validator->fails()) { 'send_to' => $usr->id_user,

return redirect()->back()->withErrors($validator)- 'status' => 0,

>withInput(); ];

} $success = Notifikasi::create($notif_hukum);

}

// $users = User::where('id_user',session('id_user'))->first(); }

}

$berkas = Berkas::where('id_berkas',$request->id_berkas)- //penerima notifikasi

>first(); // $id_user =

pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;

// dd($pemohon->_pemohon[0]->id_user);

if($berkas){ $id_user = pemohon::where('id_pemohon',$pemohon-

$destinationPath = public_path('admin/perbal/'); >_pemohon[0]->id_pemohon)->first()->id_user;

if (!is_dir($destinationPath)) { $user = User::where('id_user',$id_user)->first();
mkdir($destinationPath, 0775, true); $user->notify(new NotifikasiWA($berkas,'perbal ppk'));

}

$fperbal = $request ->file_perbal; $preview = new EmailPerbal($berkas);

Mail::to($user->email)->send($preview);

$namefperbal = "Perbal-".$berkas->noippr.'.'.$fperbal-

>getClientOriginalExtension();

return redirect('perbal')->with('alert-success','Berhasil

menambah data.');

$fperbal->move($destinationPath, $namefperbal); }else{

return redirect('perbal/create')->with('alert','Gagal

//acuan untuk deadline menambah data.');

$tgl_perbal = Carbon::createFromFormat('Y-m-d',$request- }

>tgl_perbal);

}

$perbal = [

'id_user' => session('id_user'), /**

'id_perbal' => IdGenerator::generate(['table' => * Display the specified resource.

'perbals','field'=>'id_perbal', 'length' => 5, 'prefix' *

=>'PR','reset_on_prefix_change'=>'true']), * @param \App\perbal $perbal

'id_pemohon' => $berkas ->id_pemohon, * @return \Illuminate\Http\Response

'id_berkas' => $berkas->id_berkas, */

'no_perbal' => $request->no_perbal, public function show($id)

'tgl_perbal' => $request->tgl_perbal, {

'objek' => $request->objek,

'almt_objek' => $request->almt_objek, $perbals = Perbal::with('_berkas')

'file_perbal' => $namefperbal, ->where('id_perbal',$id)

'status_perbal' => 0, ->get();

'verify_hukum' => 0,

L

// print_r($perbals->toArray());

return view('perbal.show_perbal',['perbals'=>$perbals]); $validator = Validator::make($request-
}
>all(),$validation_value);

/**

* Show the form for editing the specified resource. if ($validator->fails()) {

* return redirect()->back()->withErrors($validator)-

* @param int $id >withInput();

* @return \Illuminate\Http\Response }

*/

public function edit($id)

{

$perbal = Berkas::select('*',) $data = [

->leftJoin('perbals as 'no_perbal' => $request->no_perbal,

pr','berkas.id_berkas','=','pr.id_berkas') 'tgl_perbal' => $request->tgl_perbal,

->where('id_perbal',$id) 'objek' => $request->objek,

->get(); 'almt_objek' => $request->almt_objek,

'note_hukum' => $request->note_hukum,

$berkas = pemohon::select('*',) 'deadline_hkm' => $tgl_perbal->addDays(7),

->leftJoin('berkas as 'note_asbanglh' => $request->note_asbanglh,

b','pemohons.id_pemohon','=','b.id_pemohon') 'deadline_asbanglh' =>null,

->where('noippr',$id) 'note_umum' => $request->note_umum,

->get(); 'deadline_umum' => null,

'status_perbal' => $request->status_perbal,

return view('perbal.edit_perbal',['perbals' => $perbal,'berkas' 'verify_hukum' => 0,

=> $berkas]); 'verify_asbanglh' => 0,

'verify_umum' => 0,

} ];

/**

* Update the specified resource in storage. $destinationPath = public_path('admin/perbal/');

*

* @param \Illuminate\Http\Request $request $current_data = Perbal::where('id_perbal',$id)->first();

* @param int $id

* @return \Illuminate\Http\Response $berkas = Berkas::where('id_berkas',$current_data-

*/ >id_berkas)->first();

public function update(Request $request, $id)

{ if (!is_dir($destinationPath)) {

//acuan untuk deadline mkdir($destinationPath, 0775, true);

$tgl_perbal = Carbon::createFromFormat('Y-m-d',$request- }

>tgl_perbal);

if(!empty($request ->file_perbal)){

$perbal = Perbal::where('id_perbal',$id); $fperbal = $request ->file_perbal;

// $namefperbal = "Perbal-".$berkas->noippr.'.'.$fperbal-

$data = [ >getClientOriginalExtension();

'no_perbal' => $request->no_perbal, if (file_exists($destinationPath.$current_data->file_perbal))

'tgl_perbal' => $request->tgl_perbal, {

'objek' => $request->objek, unlink($destinationPath.$current_data->file_perbal);

'almt_objek' => $request->almt_objek, }

'file_perbal' => $request->file_perbal, $fperbal->move($destinationPath, $namefperbal);

'note_hukum' => $request->note_hukum,

'deadline_hkm' => $tgl_perbal->addDays(7), $data += [

'note_asbanglh' => $request->note_asbanglh, 'file_perbal' => $namefperbal

'deadline_asbanglh' => null, ];

'note_umum' => $request->note_umum, }

'deadline_umum' => null,

'status_perbal' => $request->status_perbal,

$data = Perbal::where('id_perbal',$id)->update($data);

];

if($data){

$validation_value = [

'no_perbal' => 'required|min:10|max:23|regex:/^[0- return redirect('perbal/')->with('alert-success','Berhasil

9-]+$/u', mengubah data.');

'tgl_perbal' => 'required', }else{

'objek' => 'required|min:8|regex:/^[a-zA-Z return redirect('perbal/'.$id.'/edit')->with('alert','Gagal

]+$/u', mengubah data.');

'almt_objek' => 'required|min:10', }

'note_hukum' => 'required',

// 'deadline_hkm' => 'required',

'note_asbanglh' => 'required', }

// 'deadline_asbanglh' => 'required',

'note_umum' => 'required', /**

// 'deadline_umum' => 'required', * Remove the specified resource from storage.

'status_perbal' => 'required', *

]; * @param int $id

* @return \Illuminate\Http\Response

LI

*/ public function perbal_timeline()
public function destroy(Request $request, $id) {
{ // delete
//
$perbal = Perbal::where('id_perbal',$id)->get()->first(); $perbals = Perbal::with('_berkas')

if($perbal){ ->where('verify_umum','=','0')
$perbal->delete(); ->get();

Session::flash('message', 'Successfully deleted the Perbal!'); // print_r($perbals->toArray());

return redirect('perbal')->with('alert-success','Successfully

deleted the perbal!'); return view('perbal.perbal_timeline',['perbals'=>$perbals]);

}else{ }

return redirect('perbal')->with('alert-success','Data has been

deleted!'); }

} -View Perbal

@extends('backend.dashboard')

} @section('title','Perbal')

@section('content')

public function verify(Request $request,$id) <!-- DataTales Example -->

{ <div class="card shadow mb-4">

$data = [ <div class="card-header py-3">

'verify_hukum' => 1, <h6 class="m-0 font-weight-bold text-

'verify_asbanglh' => 1, primary">@yield('title')</h6>

'verify_umum' => 1 </div>

]; <div class="card-body">

<a href="{{ url('perbal/create') }}" class="btn btn-success

$data = Perbal::where('id_perbal',$id)->update($data); btn-square" style="margin-bottom: 20px;background-color:

orange;">

if($data){ <i class="tombol-action" >+Tambah data</i>

return redirect('perbal')->with('alert-success','Berhasil </a>

mengubah data.'); <div class="table-responsive">

}else{ <table class="table table-bordered" id="dataTable"

return redirect('perbal')->with('alert','Gagal mengubahwidth="100%" cellspacing="0">

data.'); <thead>

}

} <tr>

<th>Nomor perbal</th>

public function cancel_verify(Request $request,$id) <th>Nama Pemohon</th>

{ <th>Tanggal</th>

<th>Objek Permohonan</th>

$data = [ <th>Status</th>

'verify_hukum' => 0, <th>Action</th>

'verify_asbanglh' => 0, </tr>

'verify_umum' => 0 </thead>

]; <tbody>

<?php $no = 1; ?>

$data = Perbal::where('id_perbal',$id)->update($data);

<tr>

if($data){ @foreach($perbals as $perbal)

return redirect('perbal')->with('alert-success','Berhasil <td>{{ $perbal->no_perbal }}</a></td>

mengubah data.'); <td>{{ $perbal->_berkas->_pemohon[0]-

}else{ >nm_pemohon }} a/n {{ $perbal->_berkas->_pemohon[0]->nm_pt

return redirect('perbal')->with('alert','Gagal mengubah}}</td>

data.'); <td>{{ $perbal->tgl_perbal }}</td>

} <td>{{ $perbal->objek }}</td>

} @if(session('role') == "Biro PLH")

<td>{{ ($perbal->status_perbal == 0 ? "On Progress"

public function reject_po(Request $request,$id) : ($perbal->status_perbal== 1 ? "Done" : "Off Progress")) }}</td>

{ @endif

@if(session('role') == "Biro Hukum")

$data = [ <td>{{ ($perbal->verify_hukum== 0 ? "on progress"

'verify_hukum' => 2, : ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>

'verify_asbanglh' => 2, @endif

'verify_umum' => 2 @if(session('role') == "Asbang LH")

]; <td>{{ ($perbal->verify_hukum== 0 ? "on progress"

: ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>

$data = Perbal::where('id_perbal',$id)->update($data); @endif

@if(session('role') == "Biro Umum")

if($data){ <td>{{ ($perbal->verify_hukum== 0 ? "on progress"

return redirect('perbal')->with('alert-success','Berhasil: ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>

mengubah data.'); @endif

}else{ <td>

return redirect('perbal')->with('alert','Gagal mengubah <button class="border border-primary" style="float:

data.'); center;"><a href="{{ URL::to('perbal/' . $perbal->id_perbal.

} '/show') }}">Detail</button>

} <br>

LII

<p></p> @endif

@endif

@if(session('role') == "Biro PLH") </div>

<button class="border border-primary" </form>

style="float: center;"><a href="{{ URL::to('perbal/' . $perbal- </td>

>id_perbal . '/edit') }}"> </tr>

<i>Edit</i> <?php $no++; ?>

</a></button> @endforeach

<br> </tbody>

<p></p> </table>

<form action="{{ URL::to('perbal/'. $perbal- </div>

>id_perbal) }}" method="post" style="float: center;"> </div>

@method('DELETE') </div>

@csrf @endsection

<button class="border border-primary"-Verifikasi Hukum

onclick="return confirm('Anda Yakin ingin Menghapus data<?php

ini?')"><i>Delete</i></button>

@endif namespace App\Http\Controllers;

<div class="perbal"> use Illuminate\Http\Request;

@if(session('role') == "Biro Hukum") use Illuminate\Support\Facades\Auth;

@if($perbal->verify_hukum==0) use Illuminate\Support\Facades\Validator;

<button class="border border-primary"use Illuminate\Support\Facades\Hash;

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use Illuminate\Support\Facades\Session;

name="verify" use Illuminate\Support\Facades\File;

onclick="update_data(this.id,this.name)">Accept</button> use Illuminate\Support\Facades\Mail;

<button class="border border-primary"use Illuminate\Validation\Rule;

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use Illuminate\Support\Facades\DB;

name="reject_po" onclick="update_data(this.id,this.name)"> use Illuminate\Foundation\Auth\AuthenticatesUsers;

<i aria-hidden="true">Decline</i> use Haruncpi\LaravelIdGenerator\IdGenerator;

</button> use App\Notifications\NotifikasiWA;

@elseif($perbal->verify_hukum==2) use Carbon\Carbon;

<button class="border border-primary"

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use App\Berkas;

name="verify_cancel" use App\Perbal;

onclick="update_data(this.id,this.name)">Cancel</button> use App\Pemohon;

@endif use App\Weights;

@endif use App\Activity_log;

@if(session('role') == "Asbang LH") use App\User;

@if($perbal->verify_asbanglh==0) use App\Notifikasi;

<button class="border border-primary"use App\Mail\EmailHukum;

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use App\Mail\EmailRejecthkm;

name="verify"

onclick="update_data(this.id,this.name)">Accept</button>

<button class="border border-primary"class HukumController extends Controller

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"{

name="reject_po" onclick="update_data(this.id,this.name)"> /**

<i aria-hidden="true">Decline</i> * Display a listing of the resource.

</button> *

* @return \Illuminate\Http\Response

@elseif($perbal->verify_asbanglh==2) */

<button class="border border-primary" public function index()

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" {

name="verify_cancel" //

onclick="update_data(this.id,this.name)">Cancel</button> $perbals = Perbal::with('_berkas')

@endif ->where('verify_hukum','=','0')

@endif ->orderBy('updated_at','desc')->get();

// print_r($perbals->toArray());

@if(session('role') == "Biro Umum")

@if($perbal->verify_umum==0) return view('hukum.verify_hukum',['perbals'=>$perbals]);

<button class="border border-primary" }

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"

name="verify" /**

onclick="update_data(this.id,this.name)">Accept</button> * Show the form for creating a new resource.

<button class="border border-primary" *

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" * @return \Illuminate\Http\Response

name="reject_po" onclick="update_data(this.id,this.name)"> */

<i aria-hidden="true">Decline</i> public function create()

</button> {

//

@elseif($perbal->verify_umum==2) }

<button class="border border-primary"

style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" /**

name="verify_cancel" * Store a newly created resource in storage.

onclick="update_data(this.id,this.name)">>Cancel</button> *

LIII

* @param \Illuminate\Http\Request $request foreach ($user as $usr) {
* @return \Illuminate\Http\Response
*/ # code...
public function store(Request $request)
{ if($usr->role == "Asbang LH"){

// $pesan_asbanglh = [
}
'id_notif' => IdGenerator::generate(['table' =>
/**
* Display the specified resource. 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
*
* @param int $id =>'N','reset_on_prefix_change'=>'true']),
* @return \Illuminate\Http\Response
*/ 'message' => "Perbal atas nama ".$pemohon-
public function show($id)
{ >_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Biro Hukum,

// Mohon untuk diperiksa lebih lanjut dan diverifikasi jika data sudah
}
sesuai.",

'send_to' => $usr->id_user,

'status' => 0,

];

$success = Notifikasi::create($pesan_asbanglh);

}

}

}

/** $id_user = pemohon::where('id_pemohon',$pemohon-
* Show the form for editing the specified resource. >_pemohon[0]->id_pemohon)->first()->id_user;
*
* @param int $id $user = User::where('id_user',$id_user)->first();
* @return \Illuminate\Http\Response
*/ $user->notify(new NotifikasiWA($pemohon,'Verifikasi
public function edit($id) hukum'));
{
$preview = new EmailHukum($pemohon);
//
}

/** Mail::to($user->email)->send($preview);
* Update the specified resource in storage.
* return redirect('hukum')->with('alert-success','Berhasil
* @param \Illuminate\Http\Request $request mengubah data.');
* @param int $id
* @return \Illuminate\Http\Response }else{
*/ return redirect('hukum')->with('alert','Gagal mengubah
public function update(Request $request, $id)
{ data.');
}
//
} }

/** public function cancel_verify_hkm(Request $request,$id)
* Remove the specified resource from storage. {
*
* @param int $id $data = [
* @return \Illuminate\Http\Response 'verify_hukum' => 0,
*/
public function destroy($id) ];
{
$data = Perbal::where('id_perbal',$id)->update($data);
//
} if($data){

public function verify_hkm(Request $request,$id) return redirect('hukum')->with('alert-success','Berhasil
{
mengubah data.');
$now = now();
}else{
$data = [
'verify_hukum' => 1, return redirect('hukum')->with('alert','Gagal mengubah
'deadline_asbanglh' => $now->addDays(7),
data.');
];
// $data = 1; }
$data = Perbal::where('id_perbal',$id)->update($data);
}
if($data){
public function reject_hkm(Request $request,$id)
{

$data = [
'note_hukum' => $request->note_hukum,
'verify_hukum' => 2,
'status_perbal' =>2,

];

if($data){

$pemohon = Perbal::with('_pemohon')- $data = Perbal::where('id_perbal',$id)->update($data);
if($data){

>where('id_perbal',$id)->first();

$pemohon = Perbal::with('_pemohon')-

$user = User::get(); >where('id_perbal',$id)->first();

LIV

$user = User::get(); use App\Activity_log;

use App\User;

foreach ($user as $usr) { use App\Notifikasi;

# code... use App\Mail\EmailAsbang;

if($usr->role == "Biro PLH"){ use App\Mail\EmailRejectasbang;

$pesan_plh = [

'id_notif' => IdGenerator::generate(['table' =>class AsbanglhController extends Controller

'notifS','field'=>'id_notif', 'length' => 5, 'prefix'{

=>'N','reset_on_prefix_change'=>'true']), /**

'message' => "Perbal atas nama ".$pemohon- * Display a listing of the resource.

>_pemohon[0]->nm_pt." telah di tolak oleh Biro Hukum, Mohon *

untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.", * @return \Illuminate\Http\Response

'send_to' => $usr->id_user, */

'status' => 0, public function index()

]; {

$success = Notifikasi::create($pesan_plh); //

} $perbals = Perbal::with('_berkas')->where('status_perbal',0)-

} >where('verify_hukum',1)->where('verify_asbanglh',0)-

} >orderBy('updated_at','desc')->get();

$id_user = pemohon::where('id_pemohon',$pemohon- // print_r($perbals->toArray());
>_pemohon[0]->id_pemohon)->first()->id_user;
return view('asbanglh.verify_asbanglh',['perbals'=>$perbals]);
$user = User::where('id_user',$id_user)->first(); }

$user->notify(new NotifikasiWA($pemohon,'Verifikasi /**
Rejecthkm')); * Show the form for creating a new resource.
*
$preview = new EmailRejecthkm($pemohon); * @return \Illuminate\Http\Response
*/
Mail::to($user->email)->send($preview); public function create()
{
return redirect('hukum')->with('alert-success','Berhasil
mengubah data.'); //
}
}else{
return redirect('hukum')->with('alert','Gagal mengubah /**
* Store a newly created resource in storage.
data.'); *
} * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
} */
public function hukum_timeline() public function store(Request $request)
{ {

// //
$perbals = Perbal::with('_berkas')->where('verify_hukum',0)- }
>get();
/**
// print_r($perbals->toArray()); * Display the specified resource.
*
return view('hukum.hukum_timeline',['perbals'=>$perbals]); * @param int $id
} * @return \Illuminate\Http\Response
} */
-Verifikasi Asbang LH public function show($id)
<?php {

namespace App\Http\Controllers; //
}

use Illuminate\Http\Request; /**
use Illuminate\Support\Facades\Auth; * Show the form for editing the specified resource.
use Illuminate\Support\Facades\Validator; *
use Illuminate\Support\Facades\Hash; * @param int $id
use Illuminate\Support\Facades\Session; * @return \Illuminate\Http\Response
use Illuminate\Support\Facades\File; */
use Illuminate\Validation\Rule; public function edit($id)
use Illuminate\Support\Facades\Mail; {
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\AuthenticatesUsers; //
use Haruncpi\LaravelIdGenerator\IdGenerator; }
use App\Notifications\NotifikasiWA;
/**
use Carbon\Carbon; * Update the specified resource in storage.
*
use App\Berkas; * @param \Illuminate\Http\Request $request
use App\Perbal; * @param int $id
use App\Pemohon; * @return \Illuminate\Http\Response
use App\Weights; */
public function update(Request $request, $id)

LV

{ $data = [
// 'verify_asbanglh' => 0,

} ];

/** $data = Perbal::where('id_perbal',$id)->update($data);
* Remove the specified resource from storage.
* if($data){
* @param int $id return redirect('asbanglh')->with('alert-success','Berhasil
* @return \Illuminate\Http\Response
*/ mengubah data.');
public function destroy($id) }else{
{ return redirect('asbanglh')->with('alert','Gagal mengubah

// data.');
} }
public function verify_lh(Request $request,$id)
{ }

$now = now(); public function reject_lh(Request $request,$id)
$data = [ {

'verify_asbanglh' => 1, $data = [
'deadline_umum' => $now->addDays(7)

]; 'note_asbanglh' => $request->note_asbanglh,
$data = Perbal::where('id_perbal',$id)->update($data); 'verify_asbanglh' => 2,
'status_perbal' => 2,

if($data){ ];

$pemohon = Perbal::with('_pemohon')- $data = Perbal::where('id_perbal',$id)->update($data);

>where('id_perbal',$id)->first();

if($data){

$user = User::get();

$pemohon = Perbal::with('_pemohon')-

foreach ($user as $usr) { >where('id_perbal',$id)->first();

# code...

if($usr->role == "Biro Umum"){ $user = User::get();

$pesan_umum = [

'id_notif' => IdGenerator::generate(['table' => foreach ($user as $usr) {

'notifS','field'=>'id_notif', 'length' => 5, 'prefix' # code...

=>'N','reset_on_prefix_change'=>'true']), if($usr->role == "Biro PLH"){

'message' => "Perbal atas nama ".$pemohon- $pesan_plh = [

>_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Asbang LH, 'id_notif' => IdGenerator::generate(['table' =>

Mohon untuk diperiksa lebih lanjut dan diverifikasi jika data sudah'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

sesuai.", =>'N','reset_on_prefix_change'=>'true']),

'send_to' => $usr->id_user, 'message' => "Perbal atas nama ".$pemohon-

'status' => 0, >_pemohon[0]->nm_pt." telah di tolak oleh Asbang LH, Mohon

]; untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.",

$success = Notifikasi::create($pesan_umum); 'send_to' => $usr->id_user,

} 'status' => 0,

} ];

} $success = Notifikasi::create($pesan_plh);

}

}

$id_user = pemohon::where('id_pemohon',$pemohon- }

>_pemohon[0]->id_pemohon)->first()->id_user;

$user = User::where('id_user',$id_user)->first(); $id_user = pemohon::where('id_pemohon',$pemohon-

>_pemohon[0]->id_pemohon)->first()->id_user;

$user->notify(new NotifikasiWA($pemohon,'Verifikasi

asbanglh')); $user = User::where('id_user',$id_user)->first();

$preview = new EmailAsbang($pemohon); $user->notify(new NotifikasiWA($pemohon,'Verifikasi
Mail::to($user->email)->send($preview); Rejectasbang'));

$preview = new EmailRejectasbang($pemohon);

return redirect('asbanglh')->with('alert-success','Berhasil Mail::to($user->email)->send($preview);

mengubah data.');

}else{

return redirect('asbanglh')->with('alert','Gagal mengubah

data.'); return redirect('asbanglh')->with('alert-success','Berhasil

} mengubah data.');

} }else{

return redirect('asbanglh')->with('alert','Gagal mengubah

public function cancel_verify_lh(Request $request,$id) data.');

{}

}

LVI

public function asbanglh_timeline() {

{ //

// }

$perbals = Perbal::with('_berkas')->where('status_perbal',0)-

>where('verify_hukum',1)->get(); /**

* Display the specified resource.

// print_r($perbals->toArray()); *

* @param int $id

return view('asbanglh.asbang_timeline',['perbals'=>$perbals]); * @return \Illuminate\Http\Response

} */

} public function show($id)

-Verifikasi Umum {

<?php //

}

namespace App\Http\Controllers;

/**

use Illuminate\Http\Request; * Show the form for editing the specified resource.

use Illuminate\Support\Facades\Auth; *

use Illuminate\Support\Facades\Validator; * @param int $id

use Illuminate\Support\Facades\Hash; * @return \Illuminate\Http\Response

use Illuminate\Support\Facades\Session; */

use Illuminate\Support\Facades\File; public function edit($id)

use Illuminate\Validation\Rule; {

use Illuminate\Support\Facades\Mail; //

use Illuminate\Support\Facades\DB; }

use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Haruncpi\LaravelIdGenerator\IdGenerator; /**

use App\Notifications\NotifikasiWA; * Update the specified resource in storage.

*

use Carbon\Carbon; * @param \Illuminate\Http\Request $request

* @param int $id

use App\Berkas; * @return \Illuminate\Http\Response

use App\Perbal; */

use App\Pemohon; public function update(Request $request, $id)

use App\Weights; {

use App\Activity_log; //

use App\User; }

use App\Notifikasi;

use App\Mail\EmailUmum; /**

use App\Mail\EmailRejectumum; * Remove the specified resource from storage.

*

class UmumController extends Controller * @param int $id

{ * @return \Illuminate\Http\Response

/** */

* Display a listing of the resource. public function destroy($id)

*{

* @return \Illuminate\Http\Response //

*/ }

public function index() public function verify_bu(Request $request,$id)

{{

// $data = [

$perbals = Perbal::with('_berkas')->where('status_perbal',0)- 'verify_umum' => 1,

>where('verify_asbanglh',1)->orderBy('updated_at','desc')->get(); 'status_perbal' =>1,

];

// print_r($perbals->toArray());

$data = Perbal::where('id_perbal',$id)->update($data);

return view('umum.verify_umum',['perbals'=>$perbals]);

} if($data){

$pemohon = Perbal::with('_pemohon')-

/** >where('id_perbal',$id)->first();

* Show the form for creating a new resource.

* $user = User::get();

* @return \Illuminate\Http\Response

*/ foreach ($user as $usr) {

public function create() # code...

{ if($usr->role == "Biro PLH"){

// $pesan_plh = [

} 'id_notif' => IdGenerator::generate(['table' =>

'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

/** =>'N','reset_on_prefix_change'=>'true']),

* Store a newly created resource in storage. 'message' => "Perbal atas nama ".$pemohon-

* >_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Biro Umum,

* @param \Illuminate\Http\Request $request Mohon untuk dibuatkan Draft PPK.",

* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,

*/ 'status' => 0,

public function store(Request $request) ];

LVII

$success = Notifikasi::create($pesan_plh); 'id_notif' => IdGenerator::generate(['table' =>

} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

} =>'N','reset_on_prefix_change'=>'true']),

} 'message' => "Perbal atas nama ".$pemohon-

>_pemohon[0]->nm_pt." telah di Tolak oleh Biro Umum, Mohon

untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.",

$id_user = pemohon::where('id_pemohon',$pemohon- 'send_to' => $usr->id_user,

>_pemohon[0]->id_pemohon)->first()->id_user; 'status' => 0,

];

$user = User::where('id_user',$id_user)->first(); $success = Notifikasi::create($pesan_plh);

}

$user->notify(new NotifikasiWA($pemohon,'Verifikasi }

umum')); }

$preview = new EmailUmum($pemohon); $id_user = pemohon::where('id_pemohon',$pemohon-
Mail::to($user->email)->send($preview); >_pemohon[0]->id_pemohon)->first()->id_user;

$user = User::where('id_user',$id_user)->first();

return redirect('umum')->with('alert-success','Berhasil $user->notify(new NotifikasiWA($pemohon,'Verifikasi

mengubah data.'); Rejectumum'));

}else{

return redirect('umum')->with('alert','Gagal mengubah $preview = new EmailRejectumum($pemohon);

data.');

} Mail::to($user->email)->send($preview);

}

public function cancel_verify_bu(Request $request,$id) return redirect('umum')->with('alert-success','Berhasil
{
mengubah data.');
$data = [
'verify_umum' => 0, }else{
'status_perbal' => 0,
return redirect('umum')->with('alert','Gagal mengubah
];
data.');
$data = Perbal::where('id_perbal',$id)->update($data);
}
if($data){
}

public function umum_timeline()
{

//
$perbals = Perbal::with('_berkas')->where('status_perbal',0)-
>where('verify_asbanglh',1)->get();

return redirect('umum')->with('alert-success','Berhasil // print_r($perbals->toArray());

mengubah data.');

}else{ return view('umum.umum_timeline',['perbals'=>$perbals]);

return redirect('umum')->with('alert','Gagal mengubah }

data.'); }

}

} 7. Draft PPK

-Draft PPK Controller

public function reject_bu(Request $request,$id) <?php

{

namespace App\Http\Controllers;

$data = [

'note_umum' => $request->note_umum, use Illuminate\Http\Request;

'verify_umum' => 2, use Illuminate\Support\Facades\Auth;

'status_perbal' => 2, use Illuminate\Support\Facades\Validator;

]; use Illuminate\Support\Facades\Hash;

use Illuminate\Support\Facades\Session;

$data = Perbal::where('id_perbal',$id)->update($data); use Illuminate\Support\Facades\File;

use Illuminate\Support\Facades\DB;

if($data){ use Illuminate\Support\Facades\Mail;

use Illuminate\Validation\Rule;

if($data){ use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Haruncpi\LaravelIdGenerator\IdGenerator;

$pemohon = Perbal::with('_pemohon')-use App\Notifications\NotifikasiWA;

>where('id_perbal',$id)->first();

use Carbon\Carbon;

$user = User::get();

use App\Draft_ppk;

foreach ($user as $usr) { use App\Berkas;

# code... use App\Perbal;

if($usr->role == "Biro PLH"){ use App\Pemohon;

$pesan_plh = [ use App\Weights;

use App\Activity_log;

use App\User;

LVIII

use App\Notifikasi; $berkas = Berkas::where('id_berkas',$request->id_berkas)-
use App\Mail\EmailDraft; >first();

class DraftppkController extends Controller if($berkas){

{ $destinationPath = public_path('admin/draft_ppk/');

/**

* Display a listing of the resource. if (!is_dir($destinationPath)) {

* mkdir($destinationPath, 0775, true);

* @return \Illuminate\Http\Response }

*/

public function index() $dppk = $request ->filedraft;

{

//

$id_user = auth()->user(); $namedppk = "Draft-PPK-".$berkas->noippr.'.'.$dppk-

$pemohon = Pemohon::where('id_user',$id_user->id_user)->getClientOriginalExtension();

>first();

if($id_user->role == 'Pemohon'){ $dppk->move($destinationPath, $namedppk);

$draft_ppks = Draft_ppk::with('_berkas')-

>where('id_pemohon',$pemohon->id_pemohon)-

>orderBy('created_at','desc')->get(); $draft_ppk = [

}else{ 'id_user' => session('id_user'),

$draft_ppks = Draft_ppk::with('_berkas')- 'id_draft' => IdGenerator::generate(['table' =>

>orderBy('created_at','desc')->get(); 'draft_ppks','field'=>'id_draft', 'length' => 5, 'prefix'

} =>'D','reset_on_prefix_change'=>'true']),

'id_pemohon' => $berkas ->id_pemohon,

'id_berkas' => $berkas->id_berkas,

// print_r($perbals->toArray()); 'tgl_draft' => $request->tgl_draft,

'filedraft' => $namedppk,

return view('draft.draft',['draft_ppks' => $draft_ppks]); 'status_draft' => 0,

} ];

/** $draft_ppk= Draft_ppk::create($draft_ppk);

* Show the form for creating a new resource.

* // $draft_ppk = 1;

* @return \Illuminate\Http\Response

*/ if($draft_ppk){

public function create()

{ $pemohon = Draft_ppk::with('_pemohon')-

// >where('id_draft',$draft_ppk->id_draft)->first();

$pemohon = pemohon::select('*')

->leftJoin('berkas as $user = User::get();

b','pemohons.id_pemohon','=','b.id_pemohon') foreach ($user as $usr) {

->get(); # code...

if($usr->role == "Pemohon"){

$notif_draft = [

return view('draft.add_draft',['pemohon'=>$pemohon]); 'id_notif' => IdGenerator::generate(['table' =>

} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

=>'N','reset_on_prefix_change'=>'true']),

/** 'message' => "Selamat Pagi/Selamat Siang

* Store a newly created resource in storage. Draft PPK atas nama ".$pemohon->_pemohon[0]->nm_pt." telah

* dibuat, Mohon untuk diperiksa dan dicetak #Salam Biro

* @param \Illuminate\Http\Request $request Pembangunan dan Lingkungan Hidup.",

* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,

*/ 'status' => 0,

public function store(Request $request) ];

{ $success = Notifikasi::create($notif_draft);

// }

$validator = Validator::make($request->all(), [ }

}

'tgl_draft' => 'required',

'filedraft' => 'required|mimes:pdf', //penerima notifikasi

// $id_user =

]); pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;

// dd($pemohon->_pemohon[0]->id_user);

if ($validator->fails()) { $id_user = pemohon::where('id_pemohon',$pemohon-

return redirect()->back()->withErrors($validator)->_pemohon[0]->id_pemohon)->first()->id_user;

>withInput();

} $user = User::where('id_user',$id_user)->first();

// $users = User::where('id_user',session('id_user'))->first(); $user->notify(new NotifikasiWA($berkas,'draft ppk'));

$preview = new EmailDraft($berkas);

LIX

Mail::to($user->email)->send($preview); return view('draft.draft_timeline',['draft_ppks' =>

$draft_ppks]);

return redirect('draft')->with('alert-success','Berhasil

menambah data.'); }

}else{

return redirect('draft/create')->with('alert','Gagal

menambah data.'); }

} -View Draft PPK

} @extends('backend.dashboard')

@section('title','Draft PPK')

/** @section('content')

* Display the specified resource. <!-- DataTales Example -->

* <div class="card shadow mb-4">

* @param int $id <div class="card-header py-3">

* @return \Illuminate\Http\Response <h6 class="m-0 font-weight-bold text-

*/ primary">@yield('title')</h6>

public function show($id) </div>

{ <div class="card-body">

// @if(session('role') == "Biro PLH")

} <a href="{{ url('draft/create') }}" class="btn btn-success

btn-square" style="margin-bottom: 20px;background-color:

/** orange;">

* Show the form for editing the specified resource. <i class="tombol-action" >+Tambah data</i>

* </a>

* @param int $id @endif

* @return \Illuminate\Http\Response <div class="table-responsive">

*/ <table class="table table-bordered" id="dataTable"

public function edit($id) width="100%" cellspacing="0">

{ <thead>

//

} <tr>

<th>Nomor Draft PPK</th>

/** <th>Nomor IPPR</th>

* Update the specified resource in storage. <th>Nama Pemohon</th>

* <th>Tanggal Draft PPK</th>

* @param \Illuminate\Http\Request $request <th>File Draft PPK</th>

* @param int $id <th>Action</th>

* @return \Illuminate\Http\Response </tr>

*/ </thead>

public function update(Request $request, $id) <tbody>

{ <?php $no = 1; ?>

// @foreach($draft_ppks as $row)

} <tr>

/** <td>{{ $row->id_draft }}</td>

* Remove the specified resource from storage. <td>{{ $row->_berkas->noippr }}</td>

* <td>{{ $row->_berkas->_pemohon[0]-

* @param int $id >nm_pemohon }} a/n {{ $row->_berkas->_pemohon[0]->nm_pt

* @return \Illuminate\Http\Response }}</td>

*/ <td>{{ $row->tgl_draft }}</td>

public function destroy(Request $request,$id) <td>{{ $row->filedraft }}</td>

{

// delete <td>

$draft_ppk = Draft_ppk::where('id_draft',$id)->get()->first(); <a href="{{ ('admin/draft_ppk/'. $row->filedraft) }}

" class="badge badge-info"><i>Download </i></a>

if($draft_ppk){ @if(session('role') == "Biro PLH")

$draft_ppk->delete(); <form action="{{ URL::to('draft/'. $row->id_draft)

}}" method="post" style="float: center;">

Session::flash('message', 'Successfully deleted the @method('DELETE')

persyaratan!'); @csrf

return redirect('draft')->with('alert-success','Successfully <button class="badge badge-info" onclick="return

deleted the draft ppk!'); confirm('Are you sure want to delete this data?')"><i class="tombol-

}else{ action" >Delete</i></button>

return redirect('draft')->with('alert-success','Data has been </form>

deleted!'); @endif

} </td>

</tr>

} <?php $no++; ?>

@endforeach

public function draft_timeline() </tbody>

{

// </table>

$draft_ppks = Draft_ppk::with('_berkas')->get(); </div>

</div>

// print_r($perbals->toArray()); </div>

@endsection

LX

8. Minuta notaris ]);
-Notaris Controller
<?php if ($validator->fails()) {

namespace App\Http\Controllers; return redirect()->back()->withErrors($validator)-

use Illuminate\Http\Request; >withInput();
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator; }
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session; // $users = User::where('id_user',session('id_user'))->first();
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB; $berkas = Berkas::where('id_berkas',$request->id_berkas)-
use Illuminate\Support\Facades\Mail; >first();
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Haruncpi\LaravelIdGenerator\IdGenerator; if($berkas){
use Illuminate\Validation\Rule; $destinationPath = public_path('admin/Minuta-Notaris/');
use App\Notifications\NotifikasiWA;
if (!is_dir($destinationPath)) {
use Carbon\Carbon; mkdir($destinationPath, 0775, true);

}

use App\Notaris; $mn = $request ->minuta;

use App\Berkas;

use App\Pemohon;

use App\Weights; $namemn = "Minuta-Notaris-".$berkas->noippr.'.'.$mn-

use App\Activity_log; >getClientOriginalExtension();

use App\User;

use App\Notifikasi;

use App\Mail\EmailNotaris; $mn->move($destinationPath, $namemn);

use App\Mail\EmailAcceptnotaris;

use App\Mail\EmailRejectnotaris;

$Notaris = [

class NotarisController extends Controller

{ 'id_notaris' => IdGenerator::generate(['table' =>

/** 'notaris','field'=>'id_notaris', 'length' => 5, 'prefix'

* Display a listing of the resource. =>'MN','reset_on_prefix_change'=>'true']),

* 'id_pemohon' => $berkas ->id_pemohon,

* @return \Illuminate\Http\Response 'id_berkas' => $berkas->id_berkas,

*/ 'minuta' => $namemn,

public function index() 'status_notaris' => 0,

{

// ];

$Notaris = Notaris::orderBy('created_at','desc')->get();

$Notaris= Notaris::create($Notaris);

return view('notaris.notaris',['notaris' => $Notaris]); // $notaris = 1;

}

if($Notaris){

/**

* Show the form for creating a new resource. $pemohon = Notaris::with('_pemohon')-

* >where('id_notaris',$Notaris->id_notaris)->first();

* @return \Illuminate\Http\Response

*/ $user = User::get();

public function create() foreach ($user as $usr) {

{ # code...

// if($usr->role == "Biro PLH"){

$pemohon = pemohon::select('*') $notif_notaris = [

->leftJoin('berkas as 'id_notif' => IdGenerator::generate(['table' =>

b','pemohons.id_pemohon','=','b.id_pemohon') 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

->get(); =>'N','reset_on_prefix_change'=>'true']),

return view('notaris.add_notaris',['pemohon'=>$pemohon]); 'message' => "Minuta Notaris atas nama

} ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk

diperiksa dan dicetak #Salam Biro Pembangunan dan Lingkungan

/** Hidup.",

* Store a newly created resource in storage. 'send_to' => $usr->id_user,

* 'status' => 0,

* @param \Illuminate\Http\Request $request ];

* @return \Illuminate\Http\Response $success = Notifikasi::create($notif_notaris);

*/ }

public function store(Request $request) }

{}

// //penerima notifikasi

$validator = Validator::make($request->all(), [ // $id_user =

pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;

'minuta' => 'required|mimes:pdf', // dd($pemohon->_pemohon[0]->id_user);

LXI

$id_user = pemohon::where('id_pemohon',$pemohon- }
>_pemohon[0]->id_pemohon)->first()->id_user; }
public function notaris_timeline()
$user = User::where('id_user',$id_user)->first(); {

$user->notify(new NotifikasiWA($berkas,'mnotaris')); //
$Notaris = Notaris::get();

$preview = new EmailNotaris($berkas); return view('notaris.notaris_timeline',['notaris' => $Notaris]);
Mail::to($user->email)->send($preview); }

return redirect('notaris')->with('alert-success','Berhasil public function verify_notaris(Request $request,$id)
{
menambah data.');
// $now = now();
}else{
$data = [
return redirect('notaris/create')->with('alert','Gagal 'status_notaris' => 1,

menambah data.'); ];
// $data = 1;
} $data = Notaris::where('id_notaris',$id)->update($data);

}

/** if($data){
* Display the specified resource.
* $pemohon = Notaris::with('_pemohon')-
* @param int $id
* @return \Illuminate\Http\Response >where('id_notaris',$id)->first();
*/
public function show($id) $user = User::get();
{
foreach ($user as $usr) {
//
} # code...

/** if($usr->role == "Pemohon"){
* Show the form for editing the specified resource.
* $pesan_pemohonnota = [
* @param int $id
* @return \Illuminate\Http\Response 'id_notif' => IdGenerator::generate(['table' =>
*/
public function edit($id) 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
{
=>'N','reset_on_prefix_change'=>'true']),
//
} 'message' => "Minuta Notaris atas nama

/** ".$pemohon->_pemohon[0]->nm_pt." telah di VERIFIKASI oleh
* Update the specified resource in storage.
* Biro PLH, Mohon menunggu untuk tahap berikutnya.",
* @param \Illuminate\Http\Request $request
* @param int $id 'send_to' => $usr->id_user,
* @return \Illuminate\Http\Response
*/ 'status' => 0,
public function update(Request $request, $id)
{ ];

// $success = Notifikasi::create($pesan_pemohonnota);
}
}
/**
* Remove the specified resource from storage. }
*
* @param int $id }
* @return \Illuminate\Http\Response
*/ $id_user = pemohon::where('id_pemohon',$pemohon-
public function destroy(Request $request, $id) >_pemohon[0]->id_pemohon)->first()->id_user;
{
// delete $user = User::where('id_user',$id_user)->first();

$notaris = Notaris::where('id_notaris',$id)->get()->first(); $user->notify(new NotifikasiWA($pemohon,'Verifikasi
Minuta Notaris'));

$preview = new EmailAcceptnotaris($pemohon);

Mail::to($user->email)->send($preview);

return redirect('notaris')->with('alert-success','Berhasil

mengubah data.');

}else{

return redirect('notaris')->with('alert','Gagal mengubah

data.');

}

}

if($notaris){ public function reject_notaris(Request $request,$id)
$notaris->delete(); {

Session::flash('message', 'Successfully deleted the Perbal!'); $data = [
return redirect('notaris')->with('alert-success','Successfully 'status_notaris' =>2,
deleted the notaris!');
}else{ ];
return redirect('notaris')->with('alert-success','Data has been
deleted!');

LXII

<th>Nama Pemohon</th>

$data = Notaris::where('id_notaris',$id)->update($data); <th>Minuta Notaris</th>

<th>Action</th>

if($data){ </tr>

$pemohon = Notaris::with('_pemohon')- </thead>

>where('id_notaris',$id)->first(); <tbody>

<?php $no = 1; ?>

$user = User::get(); @foreach($notaris as $row)

<tr>

foreach ($user as $usr) { <td>{{ $no }}</td>

# code... <td><a href="berkas/{{ $row->_berkas->id_berkas

if($usr->role == "Pemohon"){ }}">{{ $row->_berkas->_pemohon[0]->nm_pemohon }} a/n {{

$pesan_pemohonnotareject = [ $row->_berkas->_pemohon[0]->nm_pt }}</a></td>

'id_notif' => IdGenerator::generate(['table' => <td>{{ $row->minuta }}</td>

'notifS','field'=>'id_notif', 'length' => 5, 'prefix'

=>'N','reset_on_prefix_change'=>'true']), <td>

'message' => "Minuta Notaris atas nama <a href="{{ ('admin/Minuta-Notaris/'. $row-

".$pemohon->_pemohon[0]->nm_pt." telah di tolak oleh Biro PLH,>minuta) }} " class="border border-primary"><i>Download

Mohon untuk diperiksa lebih lanjut dan mohon di upload kembali</i></a>

minuta notaris jika data sudah sesuai.", <br><p></p>

'send_to' => $usr->id_user, <form action="{{ URL::to('notaris/'. $row-

'status' => 0, >id_notaris) }}" method="post" style="float: center;">

]; @method('DELETE')

$success = @csrf

Notifikasi::create($pesan_pemohonnotareject); <button class="border border-primary"

} onclick="return confirm('Anda Yakin ingin Menghapus data

} ini?')"><i>Delete</i></button>

} <br><p></p>

@if(session('role')=='Biro PLH')

@if($row->status_notaris==0)

$id_user = pemohon::where('id_pemohon',$pemohon- <a class="btn border border-primary"

>_pemohon[0]->id_pemohon)->first()->id_user; style="margin-bottom: 20px;" id="{{ $row->id_notaris }}"

name="verify_notaris"

$user = User::where('id_user',$id_user)->first(); onclick="update_data(this.id,this.name)">Accept</a>

<br>

$user->notify(new NotifikasiWA($pemohon,'Verifikasi <a href="#" class="btn border border-primary"

Rejectnotaris')); style="margin-bottom: 20px;" id="{{ $row->id_notaris }}"

name="reject_notaris" onclick="update_data(this.id,this.name)">

$preview = new EmailRejectnotaris($pemohon); <i aria-hidden="true">Decline</i>

</a>

Mail::to($user->email)->send($preview);

</div>

@endif

return redirect('notaris')->with('alert-success','Berhasil @endif

mengubah data.'); </form>

}else{ </td>

return redirect('notaris')->with('alert','Gagal mengubah </tr>

data.'); <?php $no++; ?>

} @endforeach

} </tbody>

}

-View Notaris </table>

@extends('backend.dashboard') </div>

@section('title','Minuta Notaris') </div>

@section('content') </div>

<!-- DataTales Example --> @endsection

<div class="card shadow mb-4"> 9. Laporan

<div class="card-header py-3"> -Laporan Controller

<h6 class="m-0 font-weight-bold text-<?php

primary">@yield('title')</h6>

</div> namespace App\Http\Controllers;

<div class="card-body">

@if(session('role') == "Pemohon") use Illuminate\Http\Request;

<a href="{{ url('notaris/create') }}" class="btn btn-successuse Illuminate\Support\Facades\DB;

btn-square" style="margin-bottom: 20px;background-color:use App\Berkas;

orange;"> use App\pemohon;

<i class="tombol-action" >+Tambah data</i> use App\Perbal;

</a> use App\Laporan;

@endif use PDF;

<div class="table-responsive"> use Dompdf\Dompdf;

<table class="table table-bordered" id="dataTable"use Dompdf\Options;

width="100%" cellspacing="0">

<thead>

class LaporanController extends Controller

<tr> {

<th>No</th>

LXIII

public function index() <div class="col">

{ <div class="text-left">

// <p style="font-size:80%;">DATE: {{ NOW()-

$berkas = Berkas::with('_pemohon')->get(); >format('Y-m-d') }} </p> <br>

$perbals = Perbal::with('_berkas') </div>

->get(); </div>

</div>

</div>

return view('laporan.laporan',['berkas' => $berkas,'perbals' =>

$perbals]); <hr>

} <p style="font-size:80%;">Laporan Berkas

Permohonan PPK :</p>

// <div class="card-body">

public function cetak_pdf(){ <div class="table-responsive">

// dd(public_path('admin/img/logo.png')); <table class="table table-bordered"

$options = new Options(); id="dataTable" width="100%" cellspacing="0">

$options->set('isRemoteEnabled', TRUE); <thead>

$dompdf = new Dompdf($options);

$contxt = stream_context_create([ <tr style="font-size:70%;">

'ssl' => [ <th>No</th>

'verify_peer' => FALSE, <th>Nomor IPPR</th>

'verify_peer_name' => FALSE, <th>Nama Pemohon</th>

'allow_self_signed'=> TRUE <th>Tanggal IPPR</th>

] <th>Nomor Surat</th>

]); <th>Keterangan Permohonan</th>

$dompdf->setHttpContext($contxt); <th>Status</th>

</tr>

$laporan = Laporan::get(); </thead>

$berkas = Berkas::with('_pemohon')->get(); <tbody>

$perbals = Perbal::with('_berkas') <?php $no = 1; ?>

->get(); @foreach($berkas as $row)

// dd($size,$detail_data); <tr style="font-size:70%;">

$pdf = <td>{{ $no }}</td>

PDF::loadview('laporan.view_laporan',['berkas'=>$berkas,'perbals' <td>{{ $row->noippr }}</td>

=>$perbals]); <td>{{ $row->_pemohon[0]-

return $pdf->stream(); >nm_pemohon }} a/n {{ $row->_pemohon[0]->nm_pt }}</td>

// $date = date('d-m-Y'); <td>{{ $row->tgl_ippr }}</td>

// return $pdf->download('view_laporan-'.$berkas->noippr.'- <td>{{ $row->no_srt }}</td>

'.$date.'.pdf'); <td>{{ $row->_pemohon[0]-

} >ket_permohonan }}</td>

} <td>{{ ($row->status_berkas == 0 ?

-View Laporan "On Progress" : ($row->status_berkas== 1 ? "Done" : "Off

<!DOCTYPE html> Progress")) }}</td>

<html> </tr>

<head> </tr>

<title>Laporan Berkas Permohonan PPK</title> <?php $no++; ?>

</style> @endforeach

</tbody>

</head> </table>

<body> </div>

<div class="container"> <div class="row">

<div class="col-md-12">

<div class="row"> <div class="panel panel-default">

<div class="col-xs-12"> <div class="panel-heading">

<div class="text-left"> <hr>

<div class="row"> <p style="font-

<div class="col-8"> size:80%;">Laporan Perbal PPK :</p>

<h4>Biro Pembangunan dan Lingkungan <div class="table-responsive">

Hidup</h4> <table class="table table-

<!-- <h2>We Support Your Style</h2> --> bordered" id="dataTable" width="100%" cellspacing="0">

<p style="font-size:80%;">Jl. Medan Merdeka <thead>

Selatan No.8-9 Blok F Lt.2,<br>

Jakarta, Indonesia <br> <tr style="font-

Telepon : +62 21 382 3252 / 382 3361 Email :size:70%;">

[email protected] </p> <th>No</th>

</div> <th>Nomor

perbal</th>

<th>Nama

<div class="col-20"> Pemohon</th>

<div class="ml-8 float-right text-right"> <th>Tanggal

<img src="{{ public_path('admin/img/logo.png')perbal</th>

}}" alt="logo" width="50px" height="50px"> <th>Verifikasi Biro

</div> Hukum</th>

</div> <th>Verifikasi Asbang

</div> LH</th>

<div class="row">

LXIV

<th>Verifikasi Biro

Umum</th>

<th>Status</th>

</tr>

</thead>

<tbody>

<?php $no = 1; ?>

@foreach($perbals as

$perbal)

<tr style="font-

size:70%;">

<td>{{ $no }}</td>

<td>{{ $perbal-

>no_perbal }}</a></td>

<td>{{ $perbal-

>_berkas->_pemohon[0]->nm_pemohon }}</td>

<td>{{ $perbal-

>tgl_perbal }}</td>

<td>{{ ($perbal-

>verify_hukum== 0 ? "on progress" : ($perbal->verify_hukum== 1

? "Accept" : "Decline")) }}</td>

<td>{{ ($perbal-

>verify_asbanglh== 0 ? "on progress" : ($perbal-

>verify_asbanglh== 1 ? "Accept" : "Decline")) }}</td>

<td>{{ ($perbal-

>verify_umum== 0 ? "on progress" : ($perbal->verify_umum== 1

? "Accept" : "Decline")) }}</td>

<td>{{ ($perbal-

>status_perbal == 0 ? "On Progress" : ($perbal->status_perbal== 1

? "Done" : "Off Progress")) }}</td>

</tr>
<?php $no++; ?>
@endforeach
</tbody>
</table>
</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

<div class="row">

<div class="col">

<div class="blog-post">

<div class="text-left" style="font-

size:80%;">

Hormat kami, <br><br>

<p><b style="font-

size:80%;">Biro Pembangunan Lingkungan Hidup.</br></p>

</div>

</div><!-- /.blog-post -->

</div>

</div>

<div class="page-break"></div>

LXV


Click to View FlipBook Version