get(); $produk = Produk::all(); return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori', 'produk')); } public function store(Request $request) { $request->validate([ 'orderCode' => 'required', 'namaPemesan' => 'required', 'orderMenus' => 'required', ], [ 'orderCode.required' => 'Kode pesanan tidak boleh kosong', 'namaPemesan.required' => 'Nama pemesan tidak boleh kosong', 'orderMenus.required' => 'Pesanan tidak boleh kosong', ]); try { DB::beginTransaction(); $orderMenusQty = 0; $orderMenusRupiah = 0; foreach ($request->orderMenus as $key => $value) { $orderMenusQty += $value['qty']; $orderMenusRupiah += $value['total']; } $pesananDatas = [ 'kode_pesanan' => $request->orderCode, 'nama_pemesan' => $request->namaPemesan, 'status_pesanan' => '1', 'tanggal_pesanan' => date('Y-m-d H:i:s'), 'keterangan_pesanan' => $request->keteranganPesanan ?? null, 'total_pesanan' => $orderMenusQty, 'total_bayar' => $orderMenusRupiah, 'grand_total' => $request->totalDiskon, 'nominal_bayar' => $request->nominalBayar, 'diskon_persen' => $request->diskon, 'nominal_kembali' => $request->kembali, 'status_bayar' => '1', 'user_id' => '1', ]; $pesananModels = \App\Models\Pesanan::create($pesananDatas); foreach ($request->orderMenus as $key => $value) { $oderDatas = [ 'pesanan_id' => $pesananModels->id, 'produk_id' => $value['id'], 'nama_produk' => $value['nama'], 'jumlah_produk' => $value['qty'], 'harga_produk' => $value['harga'], 'total_harga_produk' => $value['total'], ]; $detailPesananModels = \App\Models\DetailPesanan::create($oderDatas); } DB::commit(); // return url link page print return ['url' => route('transaksi.print', $pesananModels->id) . '?print=true', 'message' => 'Pesanan berhasil ditambahkan']; } catch (\Throwable $th) { DB::rollBack(); dd($th->getMessage()); return redirect()->back()->with('error', 'Terjadi kesalahan'); } return redirect()->back()->with('success', 'Pesanan berhasil ditambahkan'); } public function print($id) { $pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($id); return view('pages.Kasir.print', compact('pesanan')); } public function detail($id) { $pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($id); return view('pages.Kasir.detail', compact('pesanan')); } public function selectPaket($KODE) { $produk = Produk::where('kode_produk', $KODE)->get(); dd($produk); return response()->json($produk); } }