location('toko/stock-barang/data'); $datatabel->table_name('tableku'); $datatabel->create_row(['no', 'id barang', 'nama barang','harga barang', 'total barang', 'tanggal beli', 'action']); $datatabel->order_set('0,3,4,5,6'); $show = $datatabel->create(); return view('toko.stock_barang.index', ['datatable'=> $show]); } public function stockBarang($action = 'show', $keyword = '') { if ($action == "show") { if (isset($_POST['order'])): $setorder = $_POST['order']; else: $setorder = ''; endif; $datatable = new gugusDatatable; $datatable->datatable( [ "table" => $this->table1, "select" => [ $this->table1 => ['*'], 'akun' => ['nama_akun'] ], 'leftJoin' => [ 'akun' => [$this->table1.'.id_barang', '=', 'akun.id_akun'] ] ,'where' => [ [$this->table1.'.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']] ,['akun.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']] ], 'limit' => [ 'start' => gugusDatatable::post('start'), 'end' => gugusDatatable::post('length') ], 'search' => [ 'value' => gugusDatatable::search(), 'row' => [ $this->table1.'.id_barang' ,'akun.nama_akun' ,$this->table1.'.harga_barang' ,$this->table1.'.total_barang' ,$this->table1.'.tanggal_beli' ] ], 'table-draw' => gugusDatatable::post('draw'), 'table-show' => [ 'key' => 'id', 'data' => [ 'id_barang' ,'nama_akun' ,'harga_barang' ,'total_barang' ,'tanggal_beli' ] ], "action" => "standart", 'order' => [ 'order-default' => [$this->table1.'.id_barang', 'ASC'], 'order-data' => $setorder, 'order-option' => [ "1" => $this->table1.".id_barang", "2" => "akun.nama_akun", ], ], ] ); $datatable->table_show(); }elseif ($action == "update") { $dataedit = DB::table($this->table1)->where('id', '=', $keyword)->get()[0]; return view("toko.stock_barang.update", ['data'=> $dataedit]); }elseif ($action == "delete") { $dataIni = DB::table($this->table1)->where([ ["id", "=", $_POST['id']] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ])->get()[0]; $total_barang = $dataIni->total_barang; $id_barang = $dataIni->id_barang; $dataAkun = DB::table("akun")->where([ ["id_akun", "=", $id_barang] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $total_stock = $dataAkun->get()[0]->total_stock; $total_stock -= $total_barang; $update = $dataAkun->update( [ 'total_stock' => $total_stock ] ); if ($update) { $dataedit = DB::table($this->table1)->where('id', '=', $_POST['id'])->delete(); } } } public function simpan(){ DB::table($this->table1)->insert([ 'id_barang' => $_POST['id_barang'] ,'harga_satuan' => $_POST['harga_satuan'] ,'harga_barang' => $_POST['harga_barang'] ,'total_barang' => $_POST['total_barang'] ,'tanggal_beli' => $_POST['tanggal_beli'] ,'perusahaan' => Session::get("toko-user")['nama_perusahaan'] ,'created_at' => date("Y-m-d H:i:s") ]); $dataAkun = DB::table("akun")->where([ ["id_akun", "=", $_POST['id_barang']] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $total_stock = $dataAkun->get()[0]->total_stock; $total_stock += $_POST['total_barang']; $update = $dataAkun->update( [ 'total_stock' => $total_stock ] ); if ($update) { return redirect('toko/stock-barang'); } } public function update() { $total_barang_lama = DB::table($this->table1)->where([ ["id", "=", $_POST['id']] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ])->get()[0]->total_barang; DB::table($this->table1) ->where('id', '=', $_POST['id']) ->update( [ 'id_barang' => $_POST['id_barang'] ,'harga_satuan' => $_POST['harga_satuan'] ,'harga_barang' => $_POST['harga_barang'] ,'total_barang' => $_POST['total_barang'] ,'tanggal_beli' => $_POST['tanggal_beli'] , 'perusahaan' => Session::get("toko-user")['nama_perusahaan'] , 'updated_at' => date("Y-m-d H:i:s") ] ); $dataAkun = DB::table("akun")->where([ ["id_akun", "=", $_POST['id_barang']] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $total_stock = $dataAkun->get()[0]->total_stock; $total_stock -= $total_barang_lama; $total_stock += $_POST['total_barang']; $update = $dataAkun->update( [ 'total_stock' => $total_stock ] ); return redirect('toko/stock-barang'); } }