component:
public $wh_id; public $Item_IDData_02 = []; public $group_01; public $group_02; public $item_id; public $Measurement_IDb; public $quantity; public $quantity1; public $place_id; public $description; // public $order_list; public $user_id; public $item_in; public $wh_in; public $wh_out; public $wh_direct; public $available_item;
public function __construct()
{
$this->user_id = Auth::user()->id;
}
public function save()
{
$this->validate([
'wh_id' => 'required',
'item_id' => 'required',
'Measurement_IDb' => 'required',
'quantity' => 'required',
'place_id' => 'required',
]);
book_item_tempModel::create([
'wh_id' => $this->wh_id,
'item_id' => $this->item_id,
'Measurement_IDb' => $this->Measurement_IDb,
'quantity' => $this->quantity,
'place_id' => $this->place_id,
'description' => $this->description,
'usersID' => $this->user_id,
]);
$this->reset();
$this->dispatch('refreshpage');
}
public function updated()
{
$wh_in = wh_inModel::where('Item_ID', $this->item_id)
->where('Wh_ID', $this->wh_id)->sum('Quantity');
$wh_out = wh_outModel::where('Item_ID', $this->item_id)->where('Wh_ID', $this->wh_id)->sum('Quantity');
$wh_direct = wh_directModel::where('Item_ID', $this->item_id)->where('Wh_ID', $this->wh_id)->sum('Quantity');
$booked = bookItems::where('item_id', $this->item_id)->where('wh_id', $this->wh_id)->sum('quantity');
// dd($wh_direct);
$available_item = $wh_in - $wh_out - $wh_direct - $booked;
$this->available_item = $available_item;
// $this->wh_direct = $wh_direct;
$this->quantity = floatval($this->quantity);
}
public function updatedWhId()
{
$this->Item_IDData_02 = wh_inModel::with('item_id')
->select('Item_ID')
->where('Wh_ID', $this->wh_id)
->groupBy('Item_ID')
->get();
}
public function render()
{
$data = [
'warehouses' => wh_inModel::select('Wh_ID')->groupBy('Wh_ID')->get(),
'items' => wh_inModel::with('item_id')
->select('Item_ID')
// ->where('Wh_ID', $this->wh_id)
->groupBy('Item_ID')
->get(),
'book_items' => bookItems::with('item_idRel', 'Measurement_Rel', 'wh_Rel')->get(),
// 'groups_1' => item_idModel::select('Group_01')->distinct()->orderBy('Group_01', 'asc')->get(),
// 'groups_2' => item_idModel::select('Group_02')->distinct()->where('Group_01', 'LIKE', '%' . $this->group_01 . '%')->orderBy('Group_02', 'asc')->get(),
'wh_in' => wh_inModel::where('Item_ID', $this->item_id)->sum('Quantity'),
// 'measurements' => item_idModel::with('Measurement_Rel')->where('Item_ID' ,'LIKE','%' . $this->item_id_1 . '%')->get(),
// 'measurements_item' => item_idModel::findorfail($this->item_measure),
'measurements' => measurementModel::all(),
'places' => placeModel::all(),
'available_item' => $this->available_item,
];
return view('livewire.book-items.add-new-item', $data);
}