223 lines
6.4 KiB
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');
|
|
}
|
|
}
|