MIF_E31212289/app/Http/Controllers/ManajemenBibitAyamMasukCont...

113 lines
3.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\ManajemenBibitAyamMasuk;
use App\Models\DataKandang;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Events\MyEvent;
class ManajemenBibitAyamMasukController extends Controller
{
public function index()
{
$data = ManajemenBibitAyamMasuk::
with('kandang',"kandang.peternakan")
->orderBy("manajemen_bibit_ayam_masuk.id","DESC")
->get();
// dd($data);
$type_menu = "Manajemen Bibit Ayam Masuk";
return view('manajemenbibitayammasuk.index', compact('type_menu', 'data'));
}
public function create()
{
$kandang = DataKandang::with("peternakan")
->leftJoin(DB::raw('(SELECT id_kandang from manajemen_bibit_ayam_masuk where ISNULL(status)) as
pakai_kandang'),
function($join)
{
$join->on('data_kandang.id', '=', 'pakai_kandang.id_kandang');
}
)
->where("id_kandang","=",NULL)
->get();
$type_menu = "Manajemen Bibit Ayam Masuk";
return view('manajemenbibitayammasuk.create', compact('type_menu', 'kandang'));
}
public function store(Request $request)
{
$request->validate([
'tanggal' => 'required',
'jumlah_bibit' => 'required',
'id_kandang' => 'required',
]);
ManajemenBibitAyamMasuk::create($request->all());
$data = [
'id_kandang' =>$request->id_kandang,
'jenis' => 'bibit'
];
event(new MyEvent($data));
return redirect()->route('manajemenbibitayammasuk.index')->with('success', 'Data added successfully!');
}
public function edit($id)
{
$data = ManajemenBibitAyamMasuk::with('kandang')->findOrFail($id);
// $kandang = DataKandang::with("peternakan")->get();
$query = '(SELECT id_kandang from manajemen_bibit_ayam_masuk where ISNULL(status) AND id_kandang != "'.$data->id_kandang.'") as
pakai_kandang';
$kandang = DataKandang::with("peternakan")
->leftJoin(DB::raw($query),
function($join)
{
$join->on('data_kandang.id', '=', 'pakai_kandang.id_kandang');
}
)
->where("id_kandang","=",NULL)
->get();
$type_menu = "Manajemen Bibit Ayam Masuk";
return view('manajemenbibitayammasuk.edit', compact('type_menu', 'data', 'kandang'));
}
public function update(Request $request, $id)
{
$data = ManajemenBibitAyamMasuk::findOrFail($id);
$request->validate([
'tanggal' => 'required',
'jumlah_bibit' => 'required',
'id_kandang' => 'required',
]);
$data->update($request->all());
return redirect()->route('manajemenbibitayammasuk.index')->with('success', 'Data updated successfully!');
}
public function destroy($id)
{
$data = ManajemenBibitAyamMasuk::findOrFail($id);
$data->delete();
return redirect()->route('manajemenbibitayammasuk.index')->with('success', 'Data deleted successfully!');
}
public function status($id)
{
$data = ManajemenBibitAyamMasuk::findOrFail($id);
$data->update(['status'=>1]);
return redirect()->route('manajemenbibitayammasuk.index')->with('success', 'Data Update successfully!');
}
public function cetak($id)
{
$data = ManajemenBibitAyamMasuk::with('panen','panen.sopir','kandang','kandang.peternakan','perkembangan')->findOrFail($id);
// dd($data);
return view('manajemenbibitayammasuk.cetak', compact('data'));
}
}