Fixes for purchase order to expense

This commit is contained in:
David Bomba 2022-07-07 22:09:39 +10:00
parent 771cfed8f6
commit 44ec3fdd50
5 changed files with 22 additions and 30 deletions

View File

@ -101,16 +101,12 @@ class InvoiceSum
private function calculateCustomValues()
{
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge1, $this->invoice->custom_surcharge_tax1);
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge1);
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge2, $this->invoice->custom_surcharge_tax2);
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge2);
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge3, $this->invoice->custom_surcharge_tax3);
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge3);
// $this->total_taxes += $this->valuerTax($this->invoice->custom_surcharge4, $this->invoice->custom_surcharge_tax4);
$this->total_custom_values += $this->valuer($this->invoice->custom_surcharge4);
$this->total += $this->total_custom_values;
@ -155,7 +151,7 @@ class InvoiceSum
*/
private function calculateBalance()
{
//$this->invoice->balance = $this->balance($this->getTotal(), $this->invoice);
$this->setCalculatedAttributes();
return $this;
@ -174,22 +170,6 @@ class InvoiceSum
{
$this->total += $this->total_taxes;
// if (is_numeric($this->invoice->custom_value1)) {
// $this->total += $this->invoice->custom_value1;
// }
// if (is_numeric($this->invoice->custom_value2)) {
// $this->total += $this->invoice->custom_value2;
// }
// if (is_numeric($this->invoice->custom_value3)) {
// $this->total += $this->invoice->custom_value3;
// }
// if (is_numeric($this->invoice->custom_value4)) {
// $this->total += $this->invoice->custom_value4;
// }
return $this;
}

View File

@ -367,6 +367,10 @@ class PurchaseOrderController extends BaseController
$purchase_order = $this->purchase_order_repository->save($request->all(), $purchase_order);
$purchase_order = $purchase_order->service()
->triggeredActions($request)
->save();
event(new PurchaseOrderWasUpdated($purchase_order, $purchase_order->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
return $this->itemResponse($purchase_order);

View File

@ -42,9 +42,6 @@ class StoreExpenseRequest extends Request
if(!empty($this->client_id))
$rules['client_id'] = 'bail|sometimes|exists:clients,id,company_id,'.auth()->user()->company()->id;
if(!empty($this->purchase_order_id))
$rules['purchase_order_id'] = 'bail|sometimes|exists:purchase_orders,id,company_id,'.auth()->user()->company()->id;
return $this->globalRules($rules);
}
@ -62,10 +59,6 @@ class StoreExpenseRequest extends Request
$input['currency_id'] = (string)auth()->user()->company()->settings->currency_id;
}
if (array_key_exists('purchase_order_id', $input) && is_string($input['purchase_order_id'])) {
$input['purchase_order_id'] = $this->decodePrimaryKey($input['purchase_order_id']);
}
if(array_key_exists('color', $input) && is_null($input['color']))
$input['color'] = '';

View File

@ -28,13 +28,25 @@ class PurchaseOrderExpense
{
$expense = ExpenseFactory::create($this->purchase_order->company_id, $this->purchase_order->user_id);
$expense->amount = $this->purchase_order->amount;
$expense->amount = $this->purchase_order->uses_inclusive_taxes ? $this->purchase_order->amount : ($this->purchase_order->amount - $this->purchase_order->total_taxes);
$expense->date = now();
$expense->vendor_id = $this->purchase_order->vendor_id;
$expense->public_notes = $this->purchase_order->public_notes;
$expense->purchase_order_id = $this->purchase_order->id;
$expense->uses_inclusive_taxes = $this->purchase_order->uses_inclusive_taxes;
$expense->calculate_tax_by_amount = true;
$tax_map = $this->purchase_order->calc()->getTaxMap();
$expense->tax_amount1 = $this->purchase_order->total_taxes;
$expense->tax_name1 = ctrans("texts.tax");
$expense->save();
$this->purchase_order->expense_id = $expense->id;
$this->purchase_order->save();
return $expense;
}

View File

@ -130,6 +130,9 @@ class PurchaseOrderService
{
$this->markSent();
if($this->purchase_order->expense()->exists())
return $this;
$expense = (new PurchaseOrderExpense($this->purchase_order))->run();
return $expense;