Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/e-tepian.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/public_html/e-tepian.aplikasipos.info/app/Http/Controllers/OpdController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Opd;
use App\Models\MasterUrusan;
use App\Models\BidangUrusan;
use App\Models\BidangUrusanOpd;
use App\Helpers\Helper;
use Illuminate\Support\Facades\DB;
use Str;

class OpdController extends Controller
{

    public function __construct(){
        $this->middleware('role:admin')->only(['create','store','edit','update','destroy']);
    }
    public function index()
    {
        

        $opd = Opd::orderBy('kode', "ASC")->get();
        $title = "OPD";
        $url = "opd";
        $menu = "Master Data";
        
        return view('opd.index', compact('title', 'url', 'menu', 'opd'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
       
        $title = "OPD";
        $url = "opd";
        $menu = "Master Data";
        return view('opd.create', compact('title', 'url', 'menu'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
       
        // dd(Helper::formatPaguKomitmen($request->pagu_komitmen));

        $opd = Opd::create([
            'nama_perangkat_daerah' => $request->nama_perangkat_daerah,
            'kode' => trim($request->kode),
            'kategori' => $request->kategori,
            'pagu_komitmen_baru' => Str::replace(',','',Helper::formatPaguKomitmen($request->pagu_komitmen)),
        ]);

        // Helper::addUserLog('menambah data Perangkat Daerah '.$request->nama_perangkat_daerah,$opd->toArray());

        return redirect(route('opd.index'))->with('success', 'Data Berhasil Ditambah');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        

        $opd = Opd::find($id);
        $title = "OPD";
        $url = "opd";
        $menu = "Master Data";
        return view('opd.edit', compact('title', 'url', 'menu', 'opd'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        

        $opd = Opd::find($id);
        // $old = $opd->toArray();
        $opd->update([
            'nama_perangkat_daerah' => $request->nama_perangkat_daerah,
            'kode' => $request->kode,
            'kategori' => $request->kategori,
            'pagu_komitmen_baru' => Str::replace(',','',Helper::formatPaguKomitmen($request->pagu_komitmen)),
        ]);

        return redirect(route('opd.index'))->with('success', 'Data Berhasil Diubah');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        
        try {    
            $opd = Opd::find($id);            
            $nama_perangkat_daerah = $opd->nama_perangkat_daerah;
            $opd->delete();
            Helper::addUserLog('menghapus data Perangkat Daerah '.$nama_perangkat_daerah,$opd->toArray());        
        } catch (\Illuminate\Database\QueryException $e) {
            if($e->errorInfo[1] == 1451){
                return redirect(route('opd.index'))->with('gagal', 'Data Masih Digunakan');
            }  
        }

        return redirect(route('opd.index'))->with('success', 'Data Berhasil Dihapus');
    }

    public function getOpd()
    {
        $opd = Opd::with('urusan', 'urusan.masterUrusan')->get();

        // Ignore Relationship Because Appends
        $opd->each(function ($pd) {
            $pd->setAppends(['anggaran_apbd']);
            $pd->urusan->each(function ($un) {
                $un->setAppends(['anggaran_apbd']);
                $un->bidangUrusan->each(function ($bun) {
                    $bun->setAppends([]);
                });
                $un->masterUrusan->setAppends([]);
            }); 
        });

        
        return response()->json([
            'status' => 'success',
            'data' => $opd,
        ]);
        
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]