location('toko/pesanan/data'); $datatabel->table_name('tableku'); $datatabel->create_row([ 'no','id pesanan', 'nama pemesan', 'alamat', 'tanggal diambil','action']); $datatabel->order_set('0,3,4,5'); $show = $datatabel->create(); return view('toko.pesanan.index', ['datatable'=> $show]); } public function pesanan($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" => [ "*" ], 'where' => [ ['perusahaan', '=', Session::get("toko-user")['nama_perusahaan']], ['status', '=', 'belum'], ], 'limit' => [ 'start' => gugusDatatable::post('start'), 'end' => gugusDatatable::post('length') ], 'search' => [ 'value' => gugusDatatable::search(), 'row' => [ 'id_pesanan' ,'nama_pemesan' ,'tanggal_diambil' ] ], 'table-draw' => gugusDatatable::post('draw'), 'table-show' => [ 'key' => 'id', 'data' => [ 'id_pesanan' ,'nama_pemesan' ,'alamat_pemesan' ,'tanggal_diambil' ] ], "custom-button" => [ "link" => [ "icon" => "check", "class" => "btn btn-info", "link" => "toko/pesanan/selesai/", "key" => "id", "text" => "selesai" ] ], "custom-button2" => [ "link" => [ "icon" => "tasks", "class" => "btn btn-info", "link" => "toko/pesanan/tambah_data/", "key" => "id_pesanan", "text" => "data pesanan" ] ], "action" => "standart", 'order' => [ 'order-default' => ['tanggal_diambil', 'DESC'], 'order-data' => $setorder, 'order-option' => [ "1" => "id_pesanan", "2" => "nama_pemesan", ], ], ] ); $datatable->table_show(); }elseif ($action == "update") { $dataedit = DB::table($this->table1)->where('id', '=', $keyword)->get()[0]; return view("toko.pesanan.update", ['data'=> $dataedit]); }elseif ($action == "delete") { $id_pesanan = DB::table($this->table1)->where('id', '=', $_POST['id'])->get()[0]->id_pesanan; $data_pesanan = DB::table("data_pesanan")->where([ ['id_pesanan', '=', $id_pesanan] ,['perusahaan', '=', Session::get("toko-user")['nama_perusahaan']] ])->get(); foreach ($data_pesanan as $keys => $value) { $idBarang = DB::table("akun")->where([ ["id_akun", "=", $value->id_barang] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $total_stock = $idBarang->get()[0]->total_stock; $total_stock += $value->banyak_barang; $update = $idBarang->update( [ 'total_stock' => $total_stock ] ); if ($update) { DB::table("data_pesanan")->where("id", "=", $value->id)->delete(); } } $dataedit = DB::table($this->table1)->where('id', '=', $_POST['id'])->delete(); } } public function simpan(){ DB::table($this->table1)->insert([ 'id_pesanan' => $_POST['id_pesanan'] ,'nama_pemesan' => $_POST['nama_pemesan'] ,'alamat_pemesan' => $_POST['alamat_pemesan'] ,'tanggal_diambil' => $_POST['tanggal_diambil'] ,'perusahaan' => Session::get("toko-user")['nama_perusahaan'] ,'created_at' => date("Y-m-d H:i:s") ]); return redirect('toko/pesanan/tambah_data/'.$_POST['id_pesanan']); } public function update() { DB::table($this->table1) ->where('id', '=', $_POST['id']) ->update( [ 'id_pesanan' => $_POST['id_pesanan'] ,'nama_pemesan' => $_POST['nama_pemesan'] ,'alamat_pemesan' => $_POST['alamat_pemesan'] ,'tanggal_diambil' => $_POST['tanggal_diambil'] , 'perusahaan' => Session::get("toko-user")['nama_perusahaan'] , 'updated_at' => date("Y-m-d H:i:s") ] ); return redirect('toko/pesanan/tambah_data/'.$_POST['id_pesanan']); } private $table2 = "data_pesanan"; public function tambah_data($id_pesanan){ Session::put("id-pesanan", $id_pesanan); $datatabel = new createDatatable; $datatabel->location('toko/pesanan/tambah_data/show_data'); $datatabel->table_name('tableku'); $datatabel->create_row([ 'no','nama barang', 'harga barang', 'tottal barang', 'harga total','action']); $datatabel->order_set('0,3,4,5'); $show = $datatabel->create(); return view('toko.pesanan.tambah_pesanan', ['datatable'=> $show, 'id_pesanan' => $id_pesanan]); } public function show_data($action = 'show', $keyword = ''){ if ($action == "show") { if (isset($_POST['order'])): $setorder = $_POST['order']; else: $setorder = ''; endif; $datatable = new gugusDatatable; $datatable->datatable( [ "table" => $this->table2, "select" => [ $this->table2 => ['id','id_pesanan', 'banyak_barang'] ,'akun' => ['nama_akun as nama_barang'] , "harga_jual" => ['harga_per_satuan as harga'] ], 'where' => [ [$this->table2.'.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']], ['akun.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']], ['harga_jual.perusahaan', '=', Session::get("toko-user")['nama_perusahaan']], [$this->table2.'.id_pesanan', '=', Session::get("id-pesanan")], ] ,'leftJoin' => [ "akun" => [$this->table2.'.id_barang', '=', 'akun.id_akun'], "harga_jual" => [$this->table2.'.id_barang', '=', 'harga_jual.id_barang'], ] ,'limit' => [ 'start' => gugusDatatable::post('start'), 'end' => gugusDatatable::post('length') ], 'search' => [ 'value' => gugusDatatable::search(), 'row' => [ 'id_pesanan' ] ], 'table-draw' => gugusDatatable::post('draw'), 'table-show' => [ 'key' => 'id', 'data' => [ 'nama_barang' ,'harga' ,'banyak_barang' ,'harga * banyak_barang' ] ], "action" => "delete-only", 'order' => [ 'order-default' => [$this->table2.'.id', 'DESC'], 'order-data' => $setorder, 'order-option' => [ "1" => "id_pesanan", ], ], ] ); $datatable->table_show(); }elseif ($action == "delete") { $data_pesanan = DB::table($this->table2)->where('id', '=', $_POST['id'])->get(); $banyak_barang = DB::table($this->table2)->where('id', '=', $_POST['id'])->get()[0]->banyak_barang; $id_barang = DB::table($this->table2)->where('id', '=', $_POST['id'])->get()[0]->id_barang; // dump($id_barang); $akun = DB::table("akun")->where([ ["id_akun", "=", $id_barang] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $akunData = $akun->get()[0]; $total_stock = $akunData->total_stock; $total_stock += $banyak_barang; $update = $akun->update( [ 'total_stock' => $total_stock ] ); if ($update) { $dataedit = DB::table($this->table2)->where('id', '=', $_POST['id'])->delete(); } } } public function tambah_data_cek(){ $id = $_POST['idBarang']; $banyak = $_POST['banyakBarang']; $dapatkanDataAkun = DB::table("akun")->where([ ['id_akun', '=', $id] ,['perusahaan', '=', Session::get("toko-user")['nama_perusahaan']] ])->get()[0]->total_stock; if ($dapatkanDataAkun < $_POST['banyakBarang']) { echo 'kurang'; }else{ echo 'tersedia'; } } public function simpan_data(){ $simpan = DB::table($this->table2)->insert([ 'id_pesanan' => $_POST['id_pesanan'] ,'id_barang' => $_POST['id_barang'] ,'banyak_barang' => $_POST['banyak_barang'] ,'perusahaan' => Session::get("toko-user")['nama_perusahaan'] ,'created_at' => date("Y-m-d H:i:s") ]); $akun = DB::table("akun")->where([ ["id_akun", "=", $_POST['id_barang']] ,["perusahaan", "=", Session::get("toko-user")['nama_perusahaan']] ]); $akunData = $akun->get()[0]; $total_stock = $akunData->total_stock; $total_stock -= $_POST['banyak_barang']; $update = $akun->update( [ 'total_stock' => $total_stock ] ); if ($update) { echo 'success'; } } public function selesai($key) { DB::table($this->table1)->where('id', '=', $key)->update([ 'status' => 'selesai' ]); return redirect('toko/pesanan'); } public function urgent() { $getdata = DB::select("SELECT * FROM pesanan WHERE perusahaan = '".Session::get("toko-user")['nama_perusahaan']."' AND status = 'belum' ORDER BY tanggal_diambil DESC LIMIT 0, 5"); $data = "