Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Http/Controllers/RekeningController.php

<?php

namespace App\Http\Controllers;

use App\Helpers\helpers;
use App\Imports\RekeningImport;
use App\Models\HistoryTransaksi;
use App\Models\KodeRekening;
use App\Models\Rekening;
use App\Models\SubKegiatan;
use App\Models\TahunRekening;
use App\Models\Transaksi;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use Maatwebsite\Excel\Facades\Excel;

class RekeningController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index(Request $request)
    {

        if(!helpers::hakAkses('Rekening','view')){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }

        // $history = HistoryTransaksi::get();
        // dd($history);
        if($request->get('page') == "import") {
            $data['title'] = "Import Data Rekening";
            return view('data_dasar.rekening.import', $data);
        } else {
            $post = new Rekening;
            $tableName = $post->getTable();
            $column = Schema::getColumnListing($tableName);
            //dd($column);
            if($request->get('cari')) {
                $cari = $request->get('cari');
                $data['Rekening'] = Rekening::orderBy('created_at','DESC');
                // $data['KodeRekening'] = KodeRekening::orderBy('created_at','ASC');
                foreach($column as $a => $value) {
                    // echo $value;
                    if($a == 0) {
                        $data['Rekening'] = $data['Rekening']->where($value,'like',"%".$request->get('cari')."%");
                    } else {
                        $data['Rekening'] = $data['Rekening']->orWhere($value,'like',"%".$request->get('cari')."%");
                    }
                    // else if($a == 1) {
                    //     $data['Rekening'] = $data['Rekening']->orWhereHas('kode_rekening', function($kode) use($cari) {
                    //         $kode->Where('kode','like',"%".$cari."%");
                    //     });
                    // }
                }
                $data['Rekening'] = $data['Rekening']->paginate();
            } else {
                $data['Rekening'] = Rekening::orderBy('created_at','DESC')->paginate();
            }
            // $data['Rekening'] = Rekening::paginate();
            $data['title'] = "Data Rekening";
            // $data['Sub'] = SubKegiatan::get();
            // dd($data['Sub']);
            return view('data_dasar.rekening.index', $data);
        }
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create(Request $request)
    {
        if(!helpers::hakAkses('Rekening','create')){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $data['title'] = "Tambah Rekening";
        $data['tahun'] = TahunRekening::orderBy('tahun', 'DESC')->get();
        // $data['KodeRekening'] = KodeRekening::all();
        if($request->get('rekening')) {
            // $kode = Rekening::find($request->get('rekening'));
            $sub_kegiatan = SubKegiatan::where('rekening_id',$request->get('rekening'))->get();
            return response()->json([
                'sub_kegiatan' => $sub_kegiatan,
            ]);
        } else if($request->get('sub_kegiatan')) {
            $sub_kegiatan = SubKegiatan::find($request->get('sub_kegiatan'));
            return response()->json([
                'sub' => $sub_kegiatan,
            ]);
        } else {
            return view('data_dasar.rekening.tambah', $data);
        }
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        if(Request('page') == "import") {
            $rekening = new RekeningImport;
            Excel::import($rekening, $request->file('import'));
            if($rekening->getStatusData() == false) {
                return redirect('/rekening?page=import')->with('error', "Mohon maaf terjadi kesalahan karena beberapa data dibagian colom Tahun Rekening datanya tidak tersedia!");
            } else {
                return redirect('/rekening')->with('success', "Berhasil menambah data Rekening ");
            }
        //
        } else {
            $rules = [
                // 'username' => 'required|unique:users|unique:korcams|unique:korlabs|unique:kortps',
                'kode' => 'required',
                'nama' => 'required',
                'jumlah' => 'required',
                'tahun' => 'required',
            ];

            $validate = $request->validate($rules, [
                'kode.required' => 'Kode Wajib Di Isi.',
                'nama.required' => 'Nama Wajib Di Isi.',
                'jumlah.required' => 'Jumlah Wajib Di Isi.',
                'tahun.required' => 'Tahun Wajib Di Isi.',
            ]);
            try {
                if(!helpers::hakAkses('Rekening','create')){
                    return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
                }
                $data = Rekening::create([
                    // 'kode_rekening_id' => $request->kode,
                    'kode' => $request->kode,
                    'nama' => $request->nama,
                    // 'tahun' => $request->tahun,
                    'jumlah' => str_replace(',', '', $request->jumlah),
                    'sisa' => str_replace(',', '', $request->jumlah),
                    'tahun_rekening_id' => $request->tahun,
                ]);

                if(isset($request->sub_kegiatan)) {
                    foreach($request->sub_kegiatan as $a => $value) {
                        SubKegiatan::create([
                            'nama' => $request->sub_kegiatan[$a],
                            'jumlah' => $request->jumlahB[$a],
                            'sisa' => $request->jumlahB[$a],
                            'rekening_id' => $data->id,
                        ]);
                    }
                }

                return redirect('/rekening')->with('success', "Berhasil menambah data Rekening ");
            } catch (\Throwable $th) {
                return redirect()->back()->with('error', 'Terjadi kesalahan!');
            }
        }
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        if(!helpers::hakAkses('Rekening','view')){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        // $data['KodeRekening'] = KodeRekening::all();
        $data['Rekening'] = Rekening::find($id);
        $data['tahun'] = TahunRekening::orderBy('tahun', 'DESC')->get();
        $data['title'] = "Detail Data Rekening";
        return view('data_dasar.rekening.show', $data);
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        if(!helpers::hakAkses('Rekening','update')){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        // $data['KodeRekening'] = KodeRekening::all();
        $data['Rekening'] = Rekening::find($id);
        $data['tahun'] = TahunRekening::orderBy('tahun', 'DESC')->get();
        $data['title'] = "Edit Rekening";
        return view('data_dasar.rekening.edit', $data);
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        //
        $rules = [
            // 'username' => 'required|unique:users|unique:korcams|unique:korlabs|unique:kortps',
            'kode' => 'required',
            'nama' => 'required',
            'jumlah' => 'required',
            'tahun' => 'required',
        ];

        $validate = $request->validate($rules, [
            'kode.required' => 'Kode Wajib Di Isi.',
            'nama.required' => 'Nama Wajib Di Isi.',
            'jumlah.required' => 'Jumlah Wajib Di Isi.',
            'tahun.required' => 'Tahun Wajib Di Isi.',
        ]);
        try {
            if(!helpers::hakAkses('Rekening','update')){
                return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }

            $rekenings = Transaksi::where('rekening_id', $id)->whereHas('sub_kegiatan', function($sub) use($id) {
                $sub->where('rekening_id', $id);
            })->get();
            // $rekening = Rekening::find($request->kode);
            $subtotal = 0;
            foreach($rekenings as $a) {
                $subtotal = $subtotal + $a->rekening;
            }
            // $sisa = $rekening->sisa ;

            $data = Rekening::where('id', $id)->update([
                // 'kode_rekening_id' => $request->kode,
                'kode' => $request->kode,
                'nama' => $request->nama,
                //'tahun' => $request->tahun,
                'jumlah' => str_replace(',', '', $request->jumlah),
                'sisa' => str_replace(',', '', $request->jumlah),
                'tahun_rekening_id' => $request->tahun,
            ]);

            if(isset($request->sub_kegiatan)) {
                $delete = SubKegiatan::where('rekening_id', $id)->delete();
                foreach($request->sub_kegiatan as $a => $value) {
                    SubKegiatan::create([
                        'nama' => $request->sub_kegiatan[$a],
                        'jumlah' => $request->jumlahB[$a],
                        'sisa' => $request->jumlahB[$a],
                        'rekening_id' => $id,
                    ]);
                }
            }

            return redirect('/rekening')->with('success', "Berhasil merubah Data Rekening ");
        } catch (\Throwable $th) {
            return redirect()->back()->with('error', 'Terjadi kesalahan!');
        }
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        try {
            if(!helpers::hakAkses('Rekening','delete')){
                return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }
            $data = Rekening::find($id);
            $data->delete();
            return redirect('/rekening')->with('success', "Berhasil menghapus Data Rekening ");
        } catch (\Throwable $th) {
            return redirect()->back()->with('error', 'Terjadi kesalahan!');
        }
    }
}

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