/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(PaymentRequest $request, $poheadId) { // $purchaseorder = Purchaseorder::findOrFail($poheadId); $poitems = $purchaseorder->poitems; $priceTotal = 0.0; foreach ($poitems as $poitem) { $priceTotal += $poitem->unitprice * $poitem->qty_ordered; } $pricePaied = Payment::where('pohead_id', $poheadId)->sum('amount'); if ($priceTotal <= $pricePaied) { return '已完成付款'; } $input = Request::all(); Payment::create($input); return redirect('purchase/purchaseorders/' . $poheadId . '/payments'); }
public function receiving($id) { $poitems = Purchaseorder::find($id)->poitems; foreach ($poitems as $poitem) { $forQtyReceive = $poitem->qty_ordered - $poitem->qty_received; if ($forQtyReceive > 0.0) { $itemsite = $poitem->itemsite; if ($itemsite == null) { return $poitem->item->item_number . '无库存记录'; } // if ($itemsite->qtyonhand < $forQtyReceive) // return $soitem->item->item_number . ', 库存已不够,无法发货。'; // create receive record $data = ['orderitem_id' => $poitem->id, 'quantity' => $forQtyReceive, 'recvdate' => Carbon::now()]; Recvitem::create($data); // update soitem qtyshipped $poitem->qty_received = $poitem->qty_received + $forQtyReceive; $poitem->save(); // update itemsite qtyonhand $itemsite->qtyonhand = $itemsite->qtyonhand + $forQtyReceive; $itemsite->save(); } } return redirect('purchase/purchaseorders'); }