fadlyshafa

Untitled

Apr 5th, 2020
399
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Dashboard;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7.  
  8. use App\User;
  9. use App\Models\Users_nilai;
  10. use App\Models\Biodata;
  11. use App\Models\Data_sekolah_sebelumnya;
  12. use App\Models\Data_nilai_raport;
  13. use App\Models\Data_prestasi_siswa;
  14.  
  15. class Peserta_controller extends Controller
  16. {
  17.     public function index(){
  18.         $title = 'Data peserta';
  19.         $data = User::withCount('biodata_r')->whereNull('role')->orderBy('name','asc')->get();
  20.  
  21.         return view('dashboard.peserta.index',compact('title','data'));
  22.     }
  23.  
  24.     public function export($id){
  25.         $dt = User::find($id);
  26.         $title = 'Data Peserta '.$dt->name;
  27.         // dd($dt);
  28.         \Excel::create($title, function($excel) use($dt,$title) {
  29.             $excel->sheet('Sheetname', function($sheet) use($dt,$title) {
  30.  
  31.                 $sheet->loadView('dashboard.peserta.excel')->with('dt',$dt)->with('title',$title);
  32.  
  33.             });
  34.         })->export('xls');
  35.     }
  36.  
  37.     public function excel(Request $request){
  38.         if($request->hasFile('sample_file')){
  39.             $path = $request->file('sample_file')->getRealPath();
  40.             $data = \Excel::load($path)->get();
  41.             // dd($data);
  42.             if($data->count()){
  43.                 // $uuid = \Uuid::generate(4);
  44.                 // $gr = $this->create_header_gr();
  45.                 // dd($gr);
  46.                 foreach ($data as $key => $vl) {
  47.                     $nisn = (String)$vl->nisn;
  48.                     $nilai_baca_quran = (Int)$vl->nilai_baca_quran;
  49.                     $nilai_test_akademik = (Int)$vl->nilai_test_akademik;
  50.  
  51.                     Users_nilai::insert([
  52.                         'nisn'=>$nisn,
  53.                         'nilai_baca_quran'=>$nilai_baca_quran,
  54.                         'nilai_test_akademik'=>$nilai_test_akademik,
  55.                         'created_at'=>date('Y-m-d H:i:s'),
  56.                         'updated_at'=>date('Y-m-d H:i:s')
  57.                     ]);
  58.                 }
  59.             }
  60.         }
  61.         \Session::flash('sukses','Nilai berhasil di import');
  62.         return redirect()->back();
  63.     }
  64.  
  65.     public function diverifikasi(){
  66.         $title = 'Data peserta yang sudah di verifikasi';
  67.         $data = User::withCount('biodata_r')->where('is_verifikasi',1)->orderBy('name','asc')->get();
  68.  
  69.         return view('dashboard.peserta.index',compact('title','data'));
  70.     }
  71.  
  72.     public function belum_verifikasi(){
  73.         $title = 'Data peserta yang belum di verifikasi';
  74.         $data = User::withCount('biodata_r')->whereNull('is_verifikasi')->orderBy('name','asc')->get();
  75.  
  76.         return view('dashboard.peserta.index',compact('title','data'));
  77.     }
  78.  
  79.     public function edit($id){
  80.         $title = 'Edit Data peserta';
  81.         $dt = User::with('biodata_r')->find($id);
  82.  
  83.         return view('dashboard.peserta.edit',compact('title','dt'));
  84.     }
  85.  
  86.     public function update(Request $request,$id){
  87.         // $this->validate($request,[
  88.         //     'name'=>'required',
  89.         //     'nik'=>'required',
  90.         //     'tempat_lahir'=>'required',
  91.         //     'no_telp'=>'required',
  92.         //     'jenis_kelamin'=>'required',
  93.         //     'tanggal_lahir'=>'required',
  94.         //     'email'=>'required'
  95.         // ]);
  96.  
  97.         try {
  98.             $data['name'] = $request->name;
  99.             // $data['nisn'] = $request->nisn;
  100.             $data['email'] = $request->email;
  101.             $data['password'] = bcrypt('123');
  102.             $data['id_registrasi'] = 'REG-'.rand();
  103.             $data['jenis_kelamin'] = $request->jenis_kelamin;
  104.             // $data['nisn'] = $request->nik;
  105.      
  106.             //cek poto
  107.             $file = $request->file('photo');
  108.             if($file){
  109.                 $file->move('uploads',$file->getClientOriginalName());
  110.                 $data['photo'] = 'uploads/'.$file->getClientOriginalName();
  111.             }
  112.  
  113.             // biodata
  114.             // $biodata['nik'] = $request->nik;
  115.             $biodata['tempat_lahir'] = $request->tempat_lahir;
  116.             $biodata['tanggal_lahir'] = date('Y-m-d',strtotime($request->tanggal_lahir));
  117.             $biodata['no_hp'] = $request->no_telp;
  118.             $biodata['created_at'] = date('Y-m-d H:i:s');
  119.             $biodata['updated_at'] = date('Y-m-d H:i:s');
  120.  
  121.             // sekolah sebelumnya
  122.             $sekolah['asal_sekolah'] = $request->asal_sekolah;
  123.             $sekolah['nama'] = $request->nama_sekolah_asal;
  124.             $sekolah['npsn'] = $request->npsn;
  125.             $sekolah['alamat'] = $request->alamat_sekolah_asal;
  126.             $sekolah['created_at'] = date('Y-m-d H:i:s');
  127.             $sekolah['updated_at'] = date('Y-m-d H:i:s');
  128.  
  129.             $nilai['agama_5_1'] = $request->agama_5_1;
  130.             $nilai['agama_5_2'] = $request->agama_5_2;
  131.             $nilai['agama_6_1'] = $request->agama_6_1;
  132.             $nilai['bahasa_5_1'] = $request->bahasa_5_1;
  133.             $nilai['bahasa_5_2'] = $request->bahasa_5_2;
  134.             $nilai['bahasa_6_1'] = $request->bahasa_6_1;
  135.             $nilai['matematika_5_1'] = $request->matematika_5_1;
  136.             $nilai['matematika_5_2'] = $request->matematika_5_2;
  137.             $nilai['matematika_6_1'] = $request->matematika_6_1;
  138.             $nilai['ipa_5_1'] = $request->ipa_5_1;
  139.             $nilai['ipa_5_2'] = $request->ipa_5_2;
  140.             $nilai['ipa_6_1'] = $request->ipa_6_1;
  141.             $nilai['ips_5_1'] = $request->ips_5_1;
  142.             $nilai['ips_5_2'] = $request->ips_5_2;
  143.             $nilai['ips_6_1'] = $request->ips_6_1;
  144.             $nilai['created_at'] = date('Y-m-d H:i:s');
  145.             $nilai['updated_at'] = date('Y-m-d H:i:s');
  146.  
  147.             // prestasi
  148.             $prestasi['prestasi'] = $request->prestasi;
  149.             $prestasi['peringkat_prestasi'] = $request->peringkat_prestasi;
  150.             $prestasi['tingkat_prestasi'] = $request->tingkat_prestasi;
  151.             $prestasi['tahun_prestasi'] = $request->tahun_prestasi;
  152.             // insert
  153.            
  154.             \DB::transaction(function()use($data,$biodata,$sekolah,$nilai,$prestasi,$id){
  155.                 // $id_user = User::insertGetId($data);
  156.                 User::where('id',$id)->update($data);
  157.  
  158.                 // $biodata['users'] = $id_user;
  159.                 // Biodata::insert($biodata);
  160.                 Biodata::where('users',$id)->update($biodata);
  161.  
  162.                 // $sekolah['users'] = $id_user;
  163.                 // Data_sekolah_sebelumnya::insert($sekolah);
  164.                 Data_sekolah_sebelumnya::where('users',$id)->update($sekolah);
  165.  
  166.                 // $nilai['users'] = $id_user;
  167.                 // Data_nilai_raport::insert($nilai);
  168.                 Data_nilai_raport::where('users',$id)->update($nilai);
  169.  
  170.                 // $prestasi['users'] = $id_user;
  171.                 // Data_prestasi_siswa::insert($prestasi);
  172.                 Data_prestasi_siswa::where('users',$id)->update($prestasi);
  173.             });
  174.      
  175.             \Session::flash('sukses','Data berhasil disimpan');
  176.         } catch (\Exception $e) {
  177.             // dd($e->getMessage());
  178.             \Session::flash('gagal',$e->getMessage());
  179.         }
  180.  
  181.         return redirect()->back();
  182.     }
  183.  
  184.     public function delete($id){
  185.         try {
  186.             User::where('id',$id)->delete();
  187.             \Session::flash('sukses','Data berhasil dihapus');
  188.         } catch (\Exception $e) {
  189.             \Session::flash('gagal',$e->getMessage());
  190.         }
  191.  
  192.         return redirect()->back();
  193.     }
  194.  
  195.     public function lulus($id){
  196.         try {
  197.             User::where('id',$id)->update([
  198.                 'is_lulus'=>1
  199.             ]);
  200.  
  201.             \Session::flash('sukses','Peserta Diterima');
  202.         } catch (\Exception $e) {
  203.             \Session::flash('gagal',$e->getMessage());
  204.         }
  205.  
  206.         return redirect('peserta');
  207.     }
  208. }
RAW Paste Data