protected function saveFinance($client, $sum, $number_of_waybill, $registry, $date_of_registry, $keyStek) { $finance = new Finance(); $finance->client = $client; $finance->sum = $sum; $finance->number_of_waybill = $number_of_waybill; $finance->type_of_funding = "Первый платеж"; //$finance->date_of_funding $finance->registry = $registry; $finance->date_of_registry = $date_of_registry; $finance->status = "К финансированию"; if ($finance->save()) { foreach ($keyStek as $key) { $deliveryToFinance = new DeliveryToFinance(); $deliveryToFinance->delivery_id = $key; $deliveryToFinance->finance_id = $finance->id; $deliveryToFinance->save(); } } }
public function toClientRepayment($deliveries, $repayment) { $messageArray = []; $callback = 'success'; $messageShot = 'Успешно! '; foreach ($deliveries as $delivery) { $id = $delivery['delivery']; $sum = $delivery['sum']; $delivery = Delivery::find($id); $finance = new Finance(); $finance->client = $delivery->client->name; $finance->sum = $sum; $finance->number_of_waybill = 1; $finance->type_of_funding = "Перечислено клиенту"; //$finance->date_of_funding $finance->registry = $delivery->registry; $finance->date_of_registry = $delivery->date_of_registry; $finance->status = "К финансированию"; if ($finance->save()) { $return = $delivery->return; $returnType = $repayment->type; if ($returnType === 0) { if ($return === '' || $return == 'Д') { $returnHandler = 'Д'; } else { $returnHandler = 'К/Д'; } } else { if ($return === '' || $return == 'К') { $returnHandler = 'К'; } else { $returnHandler = 'К/Д'; } } $delivery->return = $returnHandler; $delivery->save(); $deliveryToFinance = new DeliveryToFinance(); $deliveryToFinance->delivery_id = $delivery->id; $deliveryToFinance->finance_id = $finance->id; $deliveryToFinance->save(); if ($sum > $repayment->balance) { $repayment->balance = 0; } else { $repayment->balance = $repayment->balance - $sum; } $repayment->save(); } $message = 'Денежные средства по накладной ' . $delivery->waybill . ' перечислены клиенту'; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot]); } return $messageArray; }