Merhaba,
Elimde alttaki fonksiyon mevcut. DEĞİŞTİRMEK İSTEDİĞİM KISIM olarak yazılan kısımda due_amount 0 dan küçük olursa işlemi iptal ettiriyor. Ben bunu kaldırmak istiyorum yani 0 ın altına düşmesine izin versin. Bir üstteki matematiksel işlemi uyguladım ancak çalışmadı. Ne yapmam gerekiyor? İyi forumlar teşekkürler
public function store(Store $request)
{
$user = $request->user();
$currentCompany = $user->currentCompany();
$Maaslar = Maaslar::where('id', '=', $request->maaslars_id)->first();
$MaaslarAddMoney = Maaslar::where('id', '=', $request->maaslars_id)->update([
'prim' => (int) $Maaslar->prim + (int) $request->amount
]);
// Create Payment and Store in Database
$payment = Payment::create([
'payment_date' => $request->payment_date,
'payment_number' => $request->payment_number,
'customer_id' => $request->customer_id,
'company_id' => $currentCompany->id,
'invoice_id' => $request->invoice_id,
'payment_method_id' => $request->payment_method_id,
'amount' => $request->amount,
'notes' => $request->notes,
'private_notes' => $request->private_notes,
'maaslars_id' => $request->maaslars_id,
]);
// Find the Invoice which belongs to Payment
$invoice = Invoice::findOrFail($payment->invoice_id);
// Update the status to complete and paid if the payment amount
// is the same with the amount of invoice
if ($invoice->due_amount == $payment->amount) {
$invoice->status = Invoice::STATUS_COMPLETED;
$invoice->paid_status = Invoice::STATUS_PAID;
$invoice->due_amount = 0;
// If it is partially paid then set status to partially paid
} else if ($invoice->due_amount != $payment->amount) {
$invoice->due_amount = (int) $invoice->due_amount - (int)$payment->amount;
// DEĞİŞTİRMEK İSTEDİĞİM KISIM
if ($invoice->due_amount < 0) {
$payment->delete();
return redirect()->back()->withErrors(['amount' => __('messages.invalid_amount')]);
}
// Set status to partially paid
$invoice->paid_status = Invoice::STATUS_PARTIALLY_PAID;
}
// Update the Invoice
$invoice->save();
// custom field values
$payment->addCustomFields($request->custom_fields);
session()->flash('alert-success', __('messages.payment_added'));
return redirect()->route('payments');
}