MIF_E31211972/app/Http/Controllers/BarangMasukController.php

223 lines
6.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Kopi;
use App\Models\Suplier;
use App\Models\BarangMasuk;
use Illuminate\Http\Request;
use Carbon\Carbon;
class BarangMasukController extends Controller
{
/**
* Display a listing of the resource.
*/
function tonToKg($tons) {
return $tons * 1000;
}
public function getKode()
{
$produk = BarangMasuk::latest()->first();
if ($produk == null) {
$produk = 0;
} else {
$produk = $produk->id;
}
$produk++;
$huruf = "KM";
$tanggal = date('ymd');
$kodeproduk = $huruf . $tanggal . sprintf("%04s", $produk);
return $kodeproduk;
}
public function cetakstruk($id){
$data = BarangMasuk::where('id', $id)->get();
$kodebarang = $data[0]->kode_barang;
$barcode = \DNS1D::getBarcodePNG($kodebarang, 'C39');
return view('admin.pages.barang.cetakstruk', compact('data', 'barcode'));
}
public function cetaklaporangbarangmasuk()
{
$data = BarangMasuk::all();
$viewData = [
'barangMasuk' => $data
];
$html = view('admin.pages.barang.cetakpdfbarangmasuk', $viewData)->render();
$mpdf = new \Mpdf\Mpdf(['orientation' => 'L']); // perbaiki
$mpdf->WriteHTML($html);
$mpdf->Output('laporan-barang-masuk.pdf', 'I');
return view('admin.pages.barang.cetakpdfbarangmasuk', $viewData);
}
public function index()
{
$data = BarangMasuk::all();
return view('admin.pages.barang.barangmasuk', compact('data'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$kopi = Kopi::all();
$supplier = Suplier::all();
return view('admin.pages.barang.createbarangmasuk', compact('kopi', 'supplier'));
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
// dd($request);
$validateData = $request->validate([
'id_supplier' => 'required',
'id_kopi' => 'required',
'satuan' => 'required',
'jumlah' => 'required'
]);
$supplier = Suplier::where('id', $request->id_supplier)->pluck('nama')->first();
$kopi = Kopi::where('id', $request->id_kopi)->first();
// dd($kopi->harga_jual);
$validateData['kode_barang'] = $this->getKode();
$validateData['nama_supplier'] = $supplier;
$validateData['id_user'] = 1;
$validateData['nama_user'] = 'admin';
$validateData['nama_kopi'] = $kopi->nama_kopi;
$validateData['harga_beli'] = $kopi->harga_beli;
$validateData['harga'] = 0; // HAPUS
if ($request->satuan == 'kg') {
$validateData['jumlah'] = $request->jumlah;
}elseif ($request->satuan == 'ton') {
$validateData['jumlah'] = $this->tonToKg($request->jumlah);
}
$totalHarga = $validateData['jumlah'] * $kopi->harga_beli;
$validateData['total_harga'] = $totalHarga;
$validateData['tanggal_masuk'] = date('Ymd');
$tanggalSaatIni = Carbon::now();
$tanggalSatuTahun = $tanggalSaatIni->copy()->addYear();
$tanggalSatuTahunFormat = $tanggalSatuTahun->format('Y-m-d');
$validateData['tanggal_kadaluarsa'] = $tanggalSatuTahunFormat;
$stokKopi = $kopi->stok;
$stokKopi += $validateData['jumlah'];
Kopi::where('id', $kopi->id)->update([
'stok' => $stokKopi
]);
BarangMasuk::create($validateData);
return redirect('/barangmasuk')->with('success', 'data berhasil ditambahkan');
}
/**
* Display the specified resource.
*/
public function show($id)
{
$data = BarangMasuk::find($id);
return view('admin.pages.barang.detailbarangmasuk', compact('data'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$supplier = Suplier::all();
$kopi = Kopi::all();
$data = BarangMasuk::find($id);
return view('admin.pages.barang.editbarangmasuk', compact('data', 'supplier', 'kopi'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
// $validateData = $request->validate([
// 'id_supplier' => 'required',
// 'id_kopi' => 'required',
// 'satuan' => 'required',
// 'jumlah' => 'required'
// ]);
// $supplier = Suplier::where('id', $request->id_supplier)->pluck('nama')->first();
// $kopi = Kopi::where('id', $request->id_kopi)->first();
// // dd($kopi->harga_jual);
// $validateData['nama_supplier'] = $supplier;
// $validateData['id_user'] = 1;
// $validateData['nama_user'] = 'admin';
// $validateData['nama_kopi'] = $kopi->nama_kopi;
// $validateData['harga_beli'] = $kopi->harga_beli;
// $validateData['harga'] = 0; // HAPUS
// if ($request->satuan == 'kg') {
// $validateData['jumlah'] = $request->jumlah;
// }elseif ($request->satuan == 'ton') {
// $validateData['jumlah'] = $this->tonToKg($request->jumlah);
// }
// $totalHarga = $validateData['jumlah'] * $kopi->harga_beli;
// $validateData['total_harga'] = $totalHarga;
// $validateData['tanggal_masuk'] = date('Ymd');
// $tanggalSaatIni = Carbon::now();
// $tanggalSatuTahun = $tanggalSaatIni->copy()->addYear();
// $tanggalSatuTahunFormat = $tanggalSatuTahun->format('Y-m-d');
// $validateData['tanggal_kadaluarsa'] = $tanggalSatuTahunFormat;
// $stokKopi = $kopi->stok;
// $stokKopi += $validateData['jumlah'];
// dd($validateData);
// Kopi::where('id', $kopi->id)->update([
// 'stok' => $stokKopi
// ]);
// BarangMasuk::where('id', $id)->update($validateData);
// return redirect('/barangmasuk')->with('success', 'data berhasil diubah');
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
BarangMasuk::destroy($id);
return redirect('/barangmasuk')->with('delete', 'data berhasil dihapus');
}
}