main
ilhamwara 2025-08-07 10:11:49 +07:00
parent 6866d9e30a
commit 84c92d41a0
21 changed files with 162 additions and 31 deletions

View File

@ -225,9 +225,13 @@ if (!function_exists('kuesionerLogStatus')) {
$log = KuesionerLog::where('kuesioner_id',$KuesionerId)->orderBy('KuesionerLogId','DESC')->first();
if($plain == 'plain'){
$progress = str_replace('_',' ',\Str::title($log->step));
}else{
if($log->status == 11){
$progress = '<span class="badge bg-success-light text-success">Terbit SK</span>';
}else{
$progress = '<span class="badge bg-warning-light text-warning">'.str_replace('_',' ',\Str::title($log->step)).'</span>';
}
}
return $progress;
}
}
@ -716,6 +720,12 @@ if (!function_exists('formKriteria')) {
$status = 1;
}elseif(session('group_alias') == 'penilai_provinsi'){
$status = 2;
}else{
if(@$type == 'kota'){
$status = 1;
}elseif(@$type == 'provinsi'){
$status = 2;
}
}
foreach($kriteria as $keyKriteria => $data){

View File

@ -50,6 +50,7 @@ class CustomLoginController extends Controller
'telp' => @$user->profile->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
'kabupaten_id' => @$user->ms_kabupaten_id,
'group_alias' => @$user->group->alias,
'group_name' => @$user->group->name,
];

View File

@ -66,7 +66,13 @@ class HomeController extends Controller
public function gridUsulan(Request $request)
{
if(session('kabupaten_id') != ''){
$usulan = Kuesioner::whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->where('tahun',date('Y'))->get();
}else{
$usulan = Kuesioner::where('tahun',date('Y'))->get();
}
$_data = [];
foreach ($usulan as $key => $row) {
$action = '';
@ -104,6 +110,7 @@ class HomeController extends Controller
'nama_sekolah' => @$sekolah,
'npsn' => @$row->sekolah->npsn,
'kab' => @$row->sekolah->kabupaten->name,
'kecamatan' => @$row->sekolah->kecamatan->name,
'usulan_sebelumnya' => @$usulanAwal,
'pengajuan_usulan' => @$jenis_usulan,
];

View File

@ -47,7 +47,14 @@ class KuesionerController extends Controller
public function grid(Request $request)
{
$kuesioner = Kuesioner::orderBy('created_at','DESC')->get();
if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->where('tahun',date('Y'))->get();
}else{
$kuesioner = Kuesioner::where('tahun',date('Y'))->get();
}
foreach ($kuesioner as $key => $row) {
$action = '';
@ -81,6 +88,8 @@ class KuesionerController extends Controller
$status = '<span class="badge bg-success-light text-success">Sudah Diverifikasi</span>';
}elseif($row->status == 2){
$status = '<span class="badge bg-danger-light text-danger">Ditolak</span>';
}elseif($row->status == 11){
$status = '<span class="badge bg-primary-light text-primary">Terbit SK</span>';
}else{
$log = KuesionerLog::where('kuesioner_id',$row->KuesionerId)->orderBy('created_at','DESC')->first();
$status = '<span class="badge bg-warning-light text-warning">'.str_replace('_',' ',\Str::title($log->step)).'</span>';
@ -99,6 +108,7 @@ class KuesionerController extends Controller
'nama' => $sekolah,
'status_level' => '<span style="width:100%" class="badge bg-success-light text-success">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'kecamatan' => $row->sekolah->kecamatan->name,
'alamat_sekolah' => $row->sekolah->alamat_sekolah,
'tingkat_sekolah' => $row->sekolah->tingkat->name,
'status_sekolah' => $row->sekolah->status,

View File

@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use App\Models\Master\MasterGroup;
use App\Models\Master\Kabupaten;
use App\Models\ProfileSekolah as Profile;
class UserController extends Controller
@ -62,6 +63,7 @@ class UserController extends Controller
'role' => @$row->group->name,
'username' => @$row->username,
'email' => @$row->email,
'wilayah' => @$row->kabupaten->name,
'created_at' => dateTime(@$row->created_at),
'action' => @$action,
];
@ -95,6 +97,7 @@ class UserController extends Controller
'email' => 'required|unique:users,email,'.$keyId.'|email',
'name' => 'required|max:50',
'group' => 'required',
'ms_kabupaten_id' => 'required',
'username' => 'required|unique:users,username,'.$keyId,
'password' => 'nullable|min:8|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/|regex:/[@$!%*#?&]/', //min 8 char, maks 15 char, min 1 symbol, min 1 uppercase, min 1 lowercase, 1 number
],[
@ -107,6 +110,7 @@ class UserController extends Controller
$user->email = $request->email;
$user->username = $request->username;
$user->ms_group_id = decode_id($request->group);
$user->ms_kabupaten_id = decode_id($request->ms_kabupaten_id);
if(@$request->password){
$user->password = Hash::make($request->password);
}
@ -117,6 +121,7 @@ class UserController extends Controller
'email' => 'required|unique:users,email|email',
'name' => 'required|max:50',
'group' => 'required',
'ms_kabupaten_id' => 'required',
'username' => 'required|unique:users,username',
'password' => 'required|min:8|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/|regex:/[@$!%*#?&]/', //min 8 char, maks 15 char, min 1 symbol, min 1 uppercase, min 1 lowercase, 1 number
],[
@ -129,6 +134,7 @@ class UserController extends Controller
$user->email = $request->email;
$user->username = $request->username;
$user->ms_group_id = decode_id($request->group);
$user->ms_kabupaten_id = decode_id($request->ms_kabupaten_id);
if(@$request->password){
$user->password = Hash::make($request->password);
}
@ -181,6 +187,7 @@ class UserController extends Controller
$data['keyId'] = $id;
$data['item'] = User::with('profile')->where('id',$keyId)->first();
$data['group'] = MasterGroup::where('MsGroupId','!=',1)->get();
$data['kabupaten'] = Kabupaten::all();
return view($this->template.'.form',$data);
}
@ -231,6 +238,7 @@ class UserController extends Controller
'telp' => @$user->profile->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
'kabupaten_id' => @$user->ms_kabupaten_id,
'group_alias' => @$user->group->alias,
'group_name' => @$user->group->name,
];

View File

@ -31,9 +31,15 @@ class AdministrasiController extends Controller
{
if(session('group_alias') == 'sekolah'){
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}else{
if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}else{
$kuesioner = Kuesioner::where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}
}
foreach ($kuesioner as $key => $row) {
@ -144,6 +150,7 @@ class AdministrasiController extends Controller
'labelDok' => $labelDok,
'status_level' => '<span style="width:100%" class="badge bg-secondary">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'kecamatan' => $row->sekolah->kecamatan->name,
'penghargaan' => $penghargaan,
'jenis_usulan' => '<span class="badge bg-success-light">'.$jenis_usulan.'</span>',
'usulan' => $fileUsulan,

View File

@ -77,14 +77,23 @@ class CSAKController extends Controller
public function grid(Request $request)
{
$kuesioner = Kuesioner::where('level',0)->orderBy('created_at','DESC')->get();
// $kuesioner = Kuesioner::where('level',0)->orderBy('created_at','DESC')->get();
if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::where('level',0)->whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}else{
$kuesioner = Kuesioner::where('level',0)->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}
foreach ($kuesioner as $key => $row) {
$action = '';
if((access('is_create', $this->route.'.*')) || (access('is_update', $this->route.'.*'))){
if($row->status == 3){
// if($row->status == 3){
$action .= '<a href="'.url('usulan/csak/update/'.encode_id($row->ms_sekolah_id)).'" data-toggle="tooltip" title="View Data" class="btn btn-xs btn-block btn-primary"><i class="fal fa-edit text-white"></i></a>';
}
// }
}
if($row->level == 0){
@ -128,6 +137,7 @@ class CSAKController extends Controller
'nama' => $sekolah,
'status_level' => '<span style="width:100%" class="badge bg-secondary text-secondary">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'kecamatan' => $row->sekolah->kecamatan->name,
'penghargaan' => $penghargaan,
'penilaian' => $penilaian,
'progress' => kuesionerLogStatus($row->KuesionerId),

View File

@ -78,7 +78,14 @@ class CSAPController extends Controller
public function grid(Request $request)
{
$kuesioner = Kuesioner::where('level',1)->orderBy('created_at','DESC')->get();
if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::where('level',1)->whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}else{
$kuesioner = Kuesioner::where('level',1)->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}
foreach ($kuesioner as $key => $row) {
$action = '';
@ -133,6 +140,7 @@ class CSAPController extends Controller
'npsn' => $row->sekolah->npsn,
'nama' => $sekolah,
'wilayah' => $row->sekolah->kabupaten->name,
'kecamatan' => $row->sekolah->kecamatan->name,
'penilaian' => $penilaian,
'progress' => kuesionerLogStatus($row->KuesionerId),
'action' => $action,

View File

@ -59,7 +59,11 @@ class ProfileController extends Controller
public function grid(Request $request)
{
$profile = Profile::groupBy('ms_sekolah_id')->pluck('ms_sekolah_id')->toArray();
if(session('kabupaten_id') != ''){
$sekolah = Sekolah::whereIn('MsSekolahId',$profile)->where('ms_kabupaten_id',session('kabupaten_id'))->get();
}else{
$sekolah = Sekolah::whereIn('MsSekolahId',$profile)->get();
}
foreach ($sekolah as $key => $row) {
$action = '';
@ -114,6 +118,7 @@ class ProfileController extends Controller
'npsn' => $row->npsn,
'nama' => $row->nama_sekolah,
'status_level' => '<span class="badge bg-success-light text-success">Level '.levelAdiwiyata($row->npsn).'</span>',
'kecamatan' => $row->kecamatan->name,
'wilayah' => $row->kabupaten->name,
'tanggal_level' => '-',
'penghargaan' => $penghargaan,

View File

@ -55,4 +55,9 @@ class User extends Authenticatable
{
return $this->belongsTo(\App\Models\Master\MasterGroup::class,'ms_group_id','MsGroupId');
}
public function kabupaten()
{
return $this->belongsTo(\App\Models\Master\Kabupaten::class,'ms_kabupaten_id','MsKabupatenId');
}
}

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('users', function (Blueprint $table) {
$table->integer('ms_kabupaten_id')->nullable();
$table->foreign('ms_kabupaten_id')->references('MsKabupatenId')->on('ms_kabupaten')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('users', function (Blueprint $table) {
//
});
}
};

View File

@ -179,6 +179,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama_sekolah">Nama Sekolah</th>
<th data-field="kab">Kab/Kota</th>
<th data-field="kecamatan">Kecamatan</th>
<th data-field="usulan_sebelumnya">Usulan Sebelumnya</th>
<th data-field="pengajuan_usulan">Pengajuan Usulan</th>
</tr>

View File

@ -135,6 +135,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="kecamatan">Kecamatan</th>
<!-- <th data-field="penghargaan">Penghargaan Terakhir</th> -->
<th data-field="status">Status</th>
</tr>

View File

@ -77,6 +77,22 @@
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label" for="fname">Wilayah</label>
<div class="col-12 pr-1">
<select name="ms_kabupaten_id" class="form-control @error('ms_kabupaten_id') is-invalid @enderror" required>
<option value="">-Pilih Wilayah-</option>
@foreach($kabupaten as $data_kabupaten)
<option {{@$item->ms_kabupaten_id == $data_kabupaten->MsKabupatenId ? 'selected' : ''}} value="{{encode_id($data_kabupaten->MsKabupatenId)}}">{{$data_kabupaten->name}}</option>
@endforeach
</select>
@error('ms_kabupaten_id')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Password Baru</label>

View File

@ -52,6 +52,7 @@
<th data-field="role">Role</th>
<th data-field="email">Email</th>
<th data-field="name">Name</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="created_at">Created At</th>
</tr>
</thead>

View File

@ -134,6 +134,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="kecamatan">Kecamatan</th>
<th data-field="status_level">Status Level</th>
<!-- <th data-field="tanggal_level">Tanggal Level</th> -->
<!-- <th data-field="penghargaan">Penghargaan Terakhir</th> -->

View File

@ -135,6 +135,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="kecamatan">Kecamatan</th>
<th data-field="usulan" width="60%">File</th>
<th data-field="labelDok">Status</th>
</tr>

View File

@ -243,11 +243,13 @@
{!! formKriteria(1,$sekolah->MsSekolahId,'kota') !!}
</div>
</div>
@if(session('group_id') == 6)
@if(@$kuesioner->status < 4)
<div class="col-md-12 mt-3">
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
@endif
</div>
</div>
</div>
@ -288,11 +290,13 @@
<textarea class="form-control" id="catatan_validasi" name="catatan_validasi" placeholder="Catatan">{{@$kuesioner->catatan_usulan}}</textarea>
</div>
</div>
@if(session('group_id') == 6)
@if(@$kuesioner->status < 4)
<div class="col-md-12 my-2">
<button id="btnSaveUsulan" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
@endif
</div>
</div>
</div>

View File

@ -134,6 +134,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="kecamatan">Kecamatan</th>
<!-- <th data-field="tingkat_sekolah">Dokumen Administrasi</th> -->
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>

View File

@ -247,11 +247,13 @@
{!! formKriteria(1,$sekolah->MsSekolahId,'provinsi') !!}
</div>
</div>
@if(session('group_id') == 7)
@if(@$kuesioner->status <= 4)
<div class="col-md-12 mt-3">
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
@endif
</div>
</div>
</div>
@ -296,11 +298,13 @@
<textarea class="form-control" id="catatan_validasi" name="catatan_validasi" placeholder="Catatan">{{@$kuesioner->catatan_usulan}}</textarea>
</div>
</div>
@if(session('group_id') == 7)
@if(@$kuesioner->status <= 4)
<div class="col-md-12 my-2">
<button id="btnSaveUsulan" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
@endif
</div>
</div>
</div>

View File

@ -134,6 +134,7 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="kecamatan">Kecamatan</th>
<!-- <th data-field="tingkat_sekolah">Dokumen Administrasi</th> -->
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>