From 8cfe0af502afcc9cc8f63000f3ad42bb5ccbaf00 Mon Sep 17 00:00:00 2001 From: Ruben Verhoef Date: Thu, 26 Mar 2020 20:51:07 +0100 Subject: [PATCH] New saving acount function, supports account numbers with chars and make it easier to link when account numbers are the same but name are different --- app/Import/Specifics/IngDescription.php | 27 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/Import/Specifics/IngDescription.php b/app/Import/Specifics/IngDescription.php index a8cd78a2c7..584a129840 100644 --- a/app/Import/Specifics/IngDescription.php +++ b/app/Import/Specifics/IngDescription.php @@ -150,16 +150,23 @@ class IngDescription implements SpecificInterface private function MoveSavingsAccount(): void { $matches = []; - if ('' === (string) $this->row[3]) { - if (preg_match('/(Naar|Van) (.*rekening) ([0-9]+)/', $this->row[8], $matches)) { - $matches[3] = sprintf("%010d", $matches[3]); - $this->row[1] = $matches[2]; // Savings account name - $this->row[3] = $matches[3]; // Savings account number - $this->row[8] = preg_replace('/(Naar|Van) (.*rekening) ([0-9]+)/', '', $this->row[8]); // Remove the savings account content from description - } elseif (preg_match('/(Naar|Van) (.*rekening) ([0-9]+)/', $this->row[1], $matches)) { - $matches[3] = sprintf("%010d", $matches[3]); - $this->row[1] = $matches[2]; // Savings account name - $this->row[3] = $matches[3]; // Savings account number + + if (preg_match('/(Naar|Van) (.*rekening) ([A-Za-z0-9]+)/', $this->row[8], $matches)) { // Search for saving acount at 'Mededelingen' column + $this->row[1] = $this->row[1] . ' ' . $matches[2] . ' ' . $matches[3]; // Current name + Saving acount name + Acount number + if ('' === (string) $this->row[3]) { // if Saving account number does not yet exists + $this->row[3] = $matches[3]; // Copy savings account number + } + $this->row[8] = preg_replace('/(Naar|Van) (.*rekening) ([A-Za-z0-9]+)/', '', $this->row[8]); // Remove the savings account content from description + } elseif (preg_match('/(Naar|Van) (.*rekening) ([A-Za-z0-9]+)/', $this->row[1], $matches)) { // Search for saving acount at 'Naam / Omschrijving' column + $this->row[1] = $matches[2] . ' ' . $matches[3]; // Saving acount name + Acount number + if ('' === (string) $this->row[3]) { // if Saving account number does not yet exists + $this->row[3] = $matches[3]; // Copy savings account number + } + } + + if ('' !== (string)$this->row[3]) { // if Saving account number exists + if (! preg_match('/[A-Za-z]/', $this->row[3])) { // if Saving account number has no characters + $this->row[3] = sprintf("%010d", $this->row[3]); // Make the number 10 digits } } }