Fixes for CSV import

This commit is contained in:
David Bomba 2021-12-01 08:46:19 +11:00
parent 04d2726c87
commit 4d8ef04247
2 changed files with 13 additions and 8 deletions

View File

@ -92,7 +92,7 @@ class InvoiceTransformer extends BaseTransformer {
'amount' => $this->getFloat( $invoice_data, 'invoice.amount' ), 'amount' => $this->getFloat( $invoice_data, 'invoice.amount' ),
], ],
]; ];
} elseif ( isset( $transformed['amount'] ) && isset( $transformed['balance'] ) ) { } elseif ( isset( $transformed['amount'] ) && isset( $transformed['balance'] ) && ($transformed['amount'] != $transformed['balance'])) {
$transformed['payments'] = [ $transformed['payments'] = [
[ [
'date' => isset( $invoice_data['payment.date'] ) ? date( 'Y-m-d', strtotime( $invoice_data['payment.date'] ) ) : date( 'y-m-d' ), 'date' => isset( $invoice_data['payment.date'] ) ? date( 'Y-m-d', strtotime( $invoice_data['payment.date'] ) ) : date( 'y-m-d' ),
@ -126,6 +126,8 @@ class InvoiceTransformer extends BaseTransformer {
} }
$transformed['line_items'] = $line_items; $transformed['line_items'] = $line_items;
nlog($transformed);
return $transformed; return $transformed;
} }
} }

View File

@ -332,18 +332,21 @@ class CSVImport implements ShouldQueue {
$invoice = $invoice->service()->markViewed()->save(); $invoice = $invoice->service()->markViewed()->save();
} }
if ( $invoice->status_id === Invoice::STATUS_SENT ) { if( $invoice->status_id === Invoice::STATUS_DRAFT ){
}
elseif ( $invoice->status_id === Invoice::STATUS_SENT ) {
$invoice = $invoice->service()->markSent()->save(); $invoice = $invoice->service()->markSent()->save();
} }
elseif ( $invoice->status_id <= Invoice::STATUS_SENT && $invoice->amount > 0 ) {
if ( $invoice->status_id <= Invoice::STATUS_SENT && $invoice->amount > 0 ) { if ( $invoice->balance <= 0 ) {
if ( $invoice->balance < $invoice->amount ) {
$invoice->status_id = Invoice::STATUS_PARTIAL;
$invoice->save();
} elseif ( $invoice->balance <= 0 ) {
$invoice->status_id = Invoice::STATUS_PAID; $invoice->status_id = Invoice::STATUS_PAID;
$invoice->save(); $invoice->save();
} }
elseif ( $invoice->balance != $invoice->amount ) {
$invoice->status_id = Invoice::STATUS_PARTIAL;
$invoice->save();
}
} }