MIF_E31211810/app/Http/Controllers/PenjualanController.php

86 lines
2.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Penjualan;
use Illuminate\Http\Request;
class PenjualanController extends Controller
{
public function cetak()
{
$data['title'] = 'Laporan Data Penjualan';
$data['rows'] = Penjualan::leftJoin('tb_produk', 'tb_produk.kode_produk', '=', 'tb_penjualan.kode_produk')
->orderBy('tb_penjualan.kode_produk')
->orderBy('tanggal', 'DESC')
->get();
return view('penjualan.cetak', $data);
}
public function index(Request $request)
{
$data['q'] = $request->input('q');
$data['title'] = 'Data Penjualan';
$data['limit'] = 25;
$data['rows'] = Penjualan::where('nama_produk', 'like', '%' . $data['q'] . '%')
->orWhere('tb_penjualan.kode_produk', 'like', '%' . $data['q'] . '%')
->leftJoin('tb_produk', 'tb_produk.kode_produk', '=', 'tb_penjualan.kode_produk')
->orderBy('tanggal', 'DESC')
->paginate($data['limit'])->withQueryString();
return view('penjualan.index', $data);
}
public function create()
{
$data['title'] = 'Tambah Penjualan';
return view('penjualan.create', $data);
}
public function store(Request $request)
{
$request->validate([
'tanggal' => 'required',
'kode_produk' => 'required',
'jumlah' => 'required',
], [
'tanggal.required' => 'Tanggal harus diisi',
'kode_produk.required' => 'Produk harus diisi',
'jumlah.required' => 'Jumlah harus diisi',
]);
$penjualan = new Penjualan($request->all());
$penjualan->save();
return redirect('penjualan')->with('message', 'Data berhasil ditambah!');
}
public function edit(Penjualan $penjualan)
{
$data['row'] = $penjualan;
$data['title'] = 'Ubah Penjualan';
return view('penjualan.edit', $data);
}
public function update(Request $request, Penjualan $penjualan)
{
$request->validate([
'tanggal' => 'required',
'kode_produk' => 'required',
'jumlah' => 'required',
], [
'tanggal.required' => 'Tanggal harus diisi',
'kode_produk.required' => 'Produk harus diisi',
'jumlah.required' => 'Jumlah harus diisi',
]);
$penjualan->tanggal = $request->tanggal;
$penjualan->kode_produk = $request->kode_produk;
$penjualan->jumlah = $request->jumlah;
$penjualan->save();
return redirect('penjualan')->with('message', 'Data berhasil diubah!');
}
public function destroy(Penjualan $penjualan)
{
$penjualan->delete();
return redirect('penjualan')->with('message', 'Data berhasil dihapus!');
}
}