Fixes for imports - date formating

This commit is contained in:
David Bomba 2022-11-02 09:49:40 +11:00
parent 9e8edad92c
commit befc9170fb
3 changed files with 34 additions and 14 deletions

View File

@ -44,6 +44,30 @@ class BaseTransformer
$this->company = $company;
}
public function parseDate($date)
{
try{
$parsed_date = Carbon::parse($date);
return $parsed_date->format('Y-m-d');
}
catch(\Exception $e){
$parsed_date = date('Y-m-d', strtotime($date));
if($parsed_date == '1970-01-01')
return now()->format('Y-m-d');
return $parsed_date;
}
}
public function getString($data, $field)
{
return isset($data[$field]) && $data[$field] ? trim($data[$field]) : '';

View File

@ -57,10 +57,10 @@ class InvoiceTransformer extends BaseTransformer
'discount' => $this->getFloat($invoice_data, 'invoice.discount'),
'po_number' => $this->getString($invoice_data, 'invoice.po_number'),
'date' => isset($invoice_data['invoice.date'])
? date('Y-m-d', strtotime(str_replace("/","-",$invoice_data['invoice.date'])))
? $this->parseDate($invoice_data['invoice.date'])
: now()->format('Y-m-d'),
'due_date' => isset($invoice_data['invoice.due_date'])
? date('Y-m-d', strtotime(str_replace("/","-",$invoice_data['invoice.due_date'])))
? $this->parseDate($invoice_data['invoice.due_date'])
: null,
'terms' => $this->getString($invoice_data, 'invoice.terms'),
'public_notes' => $this->getString(
@ -140,10 +140,7 @@ class InvoiceTransformer extends BaseTransformer
$transformed['payments'] = [
[
'date' => isset($invoice_data['payment.date'])
? date(
'Y-m-d',
strtotime($invoice_data['payment.date'])
)
? $this->parseDate($invoice_data['payment.date'])
: date('y-m-d'),
'transaction_reference' => $this->getString(
$invoice_data,
@ -159,10 +156,7 @@ class InvoiceTransformer extends BaseTransformer
$transformed['payments'] = [
[
'date' => isset($invoice_data['payment.date'])
? date(
'Y-m-d',
strtotime($invoice_data['payment.date'])
)
? $this->parseDate($invoice_data['payment.date'])
: date('y-m-d'),
'transaction_reference' => $this->getString(
$invoice_data,
@ -182,10 +176,7 @@ class InvoiceTransformer extends BaseTransformer
$transformed['payments'] = [
[
'date' => isset($invoice_data['payment.date'])
? date(
'Y-m-d',
strtotime($invoice_data['payment.date'])
)
? $this->parseDate($invoice_data['payment.date'])
: date('y-m-d'),
'transaction_reference' => $this->getString(
$invoice_data,

View File

@ -23,6 +23,7 @@ use App\Libraries\MultiDB;
use App\Models\Client;
use App\Models\Company;
use App\Models\Vendor;
use App\Utils\Ninja;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
@ -81,6 +82,10 @@ class CSVIngest implements ShouldQueue
$engine->finalizeImport();
$this->checkContacts();
if(Ninja::isHosted())
app('queue.worker')->shouldQuit = 1;
}
private function checkContacts()