From 2e3e0efb831510b81c48d98b63c90f1ec9bfa083 Mon Sep 17 00:00:00 2001 From: bison Date: Tue, 30 Aug 2016 14:22:48 +0200 Subject: [PATCH] Updating data on tbl_person with the same svnr but with a different person_id will generate the following svnr: + "v" + --- application/controllers/api/v1/person/Person.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/application/controllers/api/v1/person/Person.php b/application/controllers/api/v1/person/Person.php index 81e6b6f3b..ec72bcb41 100644 --- a/application/controllers/api/v1/person/Person.php +++ b/application/controllers/api/v1/person/Person.php @@ -74,17 +74,20 @@ class Person extends APIv1_Controller { if(isset($person["person_id"]) && !(is_null($person["person_id"])) && ($person["person_id"] != "")) { - $result = $this->PersonModel->update($person["person_id"], $person); - } - else - { - $result = $this->PersonModel->loadWhere(array("SUBSTRING(svnr FROM 1 FOR 10) = " => $person["svnr"])); + $result = $this->PersonModel->loadWhere(array( + "person_id != " => $person["person_id"], + "SUBSTRING(svnr FROM 1 FOR 10) = " => $person["svnr"]) + ); if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval) && count($result->retval) > 0) { $person["svnr"] = $person["svnr"] . "v" . count($result->retval); } + $result = $this->PersonModel->update($person["person_id"], $person); + } + else + { $result = $this->PersonModel->insert($person); }