diff --git a/appointment-import/src/main/java/smash/appointment/parse/Subject.java b/appointment-import/src/main/java/smash/appointment/parse/Subject.java index 5e76186c2fe92f2455d2a91a45c61b21e20a63a6..b39a2ce5128b3cd3e7d3db04628e3429d6086d24 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/Subject.java +++ b/appointment-import/src/main/java/smash/appointment/parse/Subject.java @@ -331,7 +331,7 @@ public class Subject { public void setPhone3(String phone3) { if (phone3 != null && phone3.length() > 20) { logger.warn("Invalid phone. Ignoring: " + phone3); - } else if (phone3!=null){ + } else if (phone3 != null) { this.phone3 = phone3.replace(",", ""); } } @@ -474,14 +474,14 @@ public class Subject { setDiagnosisYear(getMergedValue("diagnosisYear", this.getDiagnosisYear(), subject.getDiagnosisYear(), errorPrefix)); setDiagnosis(getMergedValue("diagnosis", this.getDiagnosis(), subject.getDiagnosis(), errorPrefix)); setReferal(getMergedValue("referal", this.getReferal(), subject.getReferal(), errorPrefix)); - setAddDate(getMergedValue("addDate", this.getAddDate(), subject.getAddDate(), errorPrefix)); + setAddDate(getMergedValue("addDate", this.getAddDate(), subject.getAddDate(), errorPrefix, true)); setmPowerId(getMergedValue("mPowerId", this.getmPowerId(), subject.getmPowerId(), errorPrefix)); setType(getMergedValue("type", this.getType(), subject.getType(), errorPrefix)); setResigned(this.isResigned() || subject.isResigned()); setDead(this.isDead() || subject.isDead()); setPostponed(this.isPostponed() || subject.isPostponed()); // override only when to be seen by flying team - if (subject.getToBeSeenAt()!=null && subject.getToBeSeenAt().equals("F")) { + if (subject.getToBeSeenAt() != null && subject.getToBeSeenAt().equals("F")) { setToBeSeenAt(subject.getToBeSeenAt()); } addLanguages(subject.getLanguages()); @@ -501,14 +501,22 @@ public class Subject { } private String getMergedValue(String string, String existingValue, String newValue, String errorPrefix) { + return getMergedValue(string, existingValue, newValue, errorPrefix, false); + } + + private String getMergedValue(String string, String existingValue, String newValue, String errorPrefix, boolean ignoreMessage) { if (existingValue == null || existingValue.trim().isEmpty()) { return newValue; } else if (newValue == null || newValue.trim().isEmpty()) { return existingValue; - } else if (existingValue.trim().equalsIgnoreCase(newValue.trim())) { + } else if (existingValue.trim().toLowerCase().contains(newValue.trim().toLowerCase())) { return existingValue; + } else if (newValue.trim().toLowerCase().contains(existingValue.trim().toLowerCase())) { + return newValue; } else { - logger.warn(errorPrefix + "New " + string + " differs from old one. (new: " + newValue + ", " + existingValue + "). Skipping"); + if (!ignoreMessage) { + logger.warn(errorPrefix + "New " + string + " differs from old one. (new: " + newValue + ", " + existingValue + "). Skipping"); + } return existingValue; } }