main
Ilham Wara Nugroho 2026-04-07 14:43:31 +07:00
parent a0f5783681
commit 5a58b7a813
2 changed files with 111 additions and 6 deletions

View File

@ -172,6 +172,7 @@ class CSAPController extends Controller
*/
public function store(Request $request)
{
// dd($request->all());
$sekolahId = decode_id($request->sekolah);
if(session('group_alias') == 'penilai_kota'){
$status = 1;
@ -189,6 +190,60 @@ class CSAPController extends Controller
if($request['validasi'] == 1){
if(session('group_alias') == 'penilai_kota'){
if (@$request->hasFile('lampiran')) {
$file = $request->file('lampiran');
$destinationPath = public_path('uploads/lampiran');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
if($fileExtension != 'pdf'){
return response()->json(['validasi' => false,'message' => 'Maaf File Harus Berupa PDF!']);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$path = 'lampiran/' . $current . '/' . $newFilename;
// $uploaded = $file->move($path, $newFilename);
s3Assetupload('uploads/'.$path,$file);
$dok = DokumenAdministrasi::updateOrCreate([
'kuesioner_id' => $kuesioner->KuesionerId,
],[
'surat_lampiran_prov' => @$path,
]);
}
if (@$request->hasFile('berita_acara')) {
$file = $request->file('berita_acara');
$destinationPath = public_path('uploads/berita_acara');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
if($fileExtension != 'pdf'){
return response()->json(['validasi' => false,'message' => 'Maaf File Harus Berupa PDF!']);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$path = 'berita_acara/' . $current . '/' . $newFilename;
// $uploaded = $file->move($path, $newFilename);
s3Assetupload('uploads/'.$path,$file);
$dok = DokumenAdministrasi::updateOrCreate([
'kuesioner_id' => $kuesioner->KuesionerId,
],[
'berita_acara' => @$path,
]);
}
$kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first();
$kuesioner->catatan_usulan = $request['catatan_validasi'];
$kuesioner->status = 4;
@ -204,6 +259,8 @@ class CSAPController extends Controller
$log->status = 4;
$log->created_by = auth()->user()->id;
$log->save();
}elseif(session('group_alias') == 'penilai_provinsi'){
$kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first();
$kuesioner->catatan_usulan = $request['catatan_validasi'];

View File

@ -356,6 +356,28 @@
</select>
</div>
</div>
<div class="col-md-6 my-2">
<div class="form-group">
<label class="fw-500">Surat Lampiran Pengajuan Adiwiyata Tingkat Provinsi</label>
@if(session('group_alias') == 'penilai_kota')
<input id="lampiran" name="lampiran" type="file" class="form-control">
@endif
@if(@$kuesioner->dokumen->surat_lampiran_prov)
<a href="{{ url('fileasset?path=uploads/' . @$kuesioner->dokumen->surat_lampiran_prov) }}" class="btn btn-success">Download File</a>
@endif
</div>
</div>
<div class="col-md-6 my-2">
<div class="form-group">
<label class="fw-500">Berita Acara</label>
@if(session('group_alias') == 'penilai_kota')
<input id="berita_acara" name="berita_acara" type="file" class="form-control">
@endif
@if(@$kuesioner->dokumen->berita_acara)
<a href="{{ url('fileasset?path=uploads/' . @$kuesioner->dokumen->berita_acara) }}" class="btn btn-success">Download File</a>
@endif
</div>
</div>
<div class="col-md-12 my-2">
<div class="form-group">
<label class="fw-500">Catatan</label>
@ -375,6 +397,8 @@
</div>
@endif
@endif
<button id="btnSaveUsulan" class="btn btn-success {{ (count(@$penilaian) == count(@$page) ? '' : 'd-none') }}"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
</div>
</div>
@ -508,6 +532,7 @@
var validasi = $('#validasi').find(':selected').val();
var catatan_validasi = $('#catatan_validasi').val();
var lampiran = $('#lampiran').val();
if(validasi == ''){
toastr.error("Validasi Belum Dipilih", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
@ -517,18 +542,41 @@
return;
}
if(lampiran == ''){
toastr.error("Surat Lampiran Pengajuan Adiwiyata Tingkat Provinsi Belum Diupload", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
var formData = new FormData();
// append data biasa
formData.append('_token', '{{csrf_token()}}');
formData.append('validasi', validasi);
formData.append('catatan_validasi', catatan_validasi);
formData.append('sekolah', "{{encode_id(@$sekolah->MsSekolahId)}}");
var lampiran_input = $('#lampiran')[0].files[0];
var berita_acara_input = $('#berita_acara')[0].files[0];
// append file
formData.append('lampiran', lampiran_input);
formData.append('berita_acara', berita_acara_input);
$.ajax({
url: "{{route('modules.usulan.csap.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
processData: false, // WAJIB
contentType: false, // WAJIB
xhrFields: {
withCredentials: true
},
data: {
_token:'{{csrf_token()}}',
validasi: validasi,
catatan_validasi: catatan_validasi,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
data: formData,
// data: {
// _token:'{{csrf_token()}}',
// validasi: validasi,
// catatan_validasi: catatan_validasi,
// sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
// }, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner