From 34d662f4de38648ed958615208ddbda0ec56c240 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Thu, 2 Mar 2017 11:13:42 +0100 Subject: [PATCH] new format of prc controles and flying team data --- .../appointment/parse/PrcControlParser.java | 46 ++++------------- .../appointment/parse/PrcFlyingParser.java | 47 +++++++----------- .../parse/PrcControlParserTest.java | 6 +-- .../parse/PrcFlyingParserTest.java | 10 ++-- .../testFiles/prcControlesExample.xlsx | Bin 9506 -> 9560 bytes .../testFiles/prcFlyingTeam.xlsx | Bin 9791 -> 9840 bytes 6 files changed, 36 insertions(+), 73 deletions(-) diff --git a/appointment-import/src/main/java/smash/appointment/parse/PrcControlParser.java b/appointment-import/src/main/java/smash/appointment/parse/PrcControlParser.java index e0c6e4f5..e5802c23 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/PrcControlParser.java +++ b/appointment-import/src/main/java/smash/appointment/parse/PrcControlParser.java @@ -11,7 +11,7 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseScreeningNumber(Row row) { - String number = getString(row.getCell(16)); + String number = getString(row.getCell(13)); if (number.trim().isEmpty()) { return ""; } else { @@ -36,7 +36,7 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseNdNumber(Row row) { - return getString(row.getCell(14)); + return getString(row.getCell(12)); } @Override @@ -51,7 +51,7 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseBirthDate(Row row) { - return ""; + return parseDateOfBirth(row.getCell(11)); } @Override @@ -61,7 +61,7 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseAddDate(Row row) { - return getDate(row.getCell(8), Calendar.getInstance()); + return getDate(row.getCell(9), Calendar.getInstance()); } @Override @@ -76,60 +76,37 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseMail(Row row) { - return getString(row.getCell(5)); + return getString(row.getCell(8)); } @Override protected String parsePhone3(Row row) { - String phones[] = getPhones(row); - if (phones.length > 2) { - return phones[2].trim(); - } return ""; } - private String[] getPhones(Row row) { - return getString(row.getCell(4)).split("/"); - } - @Override protected String parsePhone2(Row row) { - String phones[] = getPhones(row); - if (phones.length > 1) { - return phones[1].trim(); - } - return ""; + return getString(row.getCell(7)); } @Override protected String parsePhone1(Row row) { - String phones[] = getPhones(row); - return phones[0].trim(); + return getString(row.getCell(6)); } @Override protected String parseCity(Row row) { - String string = getString(row.getCell(3)); - int spaceIndex = string.indexOf(" "); - if (spaceIndex > 0) { - return string.substring(spaceIndex).trim(); - } - return string; + return getString(row.getCell(4)); } @Override protected String parseCountry(Row row) { - return ""; + return getString(row.getCell(5)); } @Override protected String parseZipCode(Row row) { - String string = getString(row.getCell(3)); - int spaceIndex = string.indexOf(" "); - if (spaceIndex > 0) { - return string.substring(0,spaceIndex); - } - return ""; + return getString(row.getCell(3)); } @Override @@ -139,7 +116,7 @@ public class PrcControlParser extends SubjectParser { @Override protected String parseRemarks(Row row) { - String remark1 = getString(row.getCell(9)); + String remark1 = getString(row.getCell(10)); String remark2 = ""; String result = ""; @@ -180,5 +157,4 @@ public class PrcControlParser extends SubjectParser { protected boolean parseResigned(Row row) { return false; } - } diff --git a/appointment-import/src/main/java/smash/appointment/parse/PrcFlyingParser.java b/appointment-import/src/main/java/smash/appointment/parse/PrcFlyingParser.java index efb92ca2..9fa28ec2 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/PrcFlyingParser.java +++ b/appointment-import/src/main/java/smash/appointment/parse/PrcFlyingParser.java @@ -11,7 +11,7 @@ public class PrcFlyingParser extends SubjectParser { @Override protected String parseScreeningNumber(Row row) { - String number = getString(row.getCell(25)); + String number = getString(row.getCell(21)); if (number.trim().isEmpty()) { return ""; } else { @@ -20,13 +20,13 @@ public class PrcFlyingParser extends SubjectParser { } else if (number.length() == 2) { number = "0" + number; } - return "P-" + number; + return "F-" + number; } } @Override protected String parseName(Row row) { - return ""; + return getString(row.getCell(1)); } @Override @@ -36,7 +36,7 @@ public class PrcFlyingParser extends SubjectParser { @Override protected String parseNdNumber(Row row) { - return getString(row.getCell(23)); + return getString(row.getCell(20)); } @Override @@ -51,7 +51,7 @@ public class PrcFlyingParser extends SubjectParser { @Override protected String parseBirthDate(Row row) { - return parseDateOfBirth(row.getCell(27)); + return parseDateOfBirth(row.getCell(22)); } @Override @@ -61,75 +61,62 @@ public class PrcFlyingParser extends SubjectParser { @Override protected String parseAddDate(Row row) { - return getDate(row.getCell(11),Calendar.getInstance()); + return getDate(row.getCell(12),Calendar.getInstance()); } @Override protected String parseReferal(Row row) { - return getString(row.getCell(10)); + return getString(row.getCell(11)); } @Override protected String parseDiagnosisYear(Row row) { - return getString(row.getCell(8)); + return ""; } @Override protected String parseMail(Row row) { - return getString(row.getCell(6)); + return getString(row.getCell(8)); } @Override protected String parsePhone3(Row row) { - String phones[] = getPhones(row); - if (phones.length > 2) { - return phones[2].trim(); - } return ""; } - private String[] getPhones(Row row) { - return getString(row.getCell(5)).split("/"); - } - @Override protected String parsePhone2(Row row) { - String phones[] = getPhones(row); - if (phones.length > 1) { - return phones[1].trim(); - } - return ""; + return getString(row.getCell(7)); } @Override protected String parsePhone1(Row row) { - String phones[] = getPhones(row); - return phones[0].trim(); + return getString(row.getCell(6)); } @Override protected String parseCity(Row row) { - return getString(row.getCell(3)); + return getString(row.getCell(4)); } @Override protected String parseCountry(Row row) { - return getString(row.getCell(4)); + return getString(row.getCell(5)); } @Override protected String parseZipCode(Row row) { - return getString(row.getCell(2)); + return getString(row.getCell(3)); } @Override protected String parseAddress(Row row) { - return getString(row.getCell(1)); + return getString(row.getCell(2)); } @Override protected String parseRemarks(Row row) { - String remark1 = getString(row.getCell(7)); + String remark1 = getString(row.getCell(9)); String remark2 = getString(row.getCell(18)); String result = ""; @@ -144,7 +131,7 @@ public class PrcFlyingParser extends SubjectParser { @Override protected String parseDiagnosis(Row row) { - return getString(row.getCell(9)); + return getString(row.getCell(10)); } @Override diff --git a/appointment-import/src/test/java/smash/appointment/parse/PrcControlParserTest.java b/appointment-import/src/test/java/smash/appointment/parse/PrcControlParserTest.java index 9558de7c..8c44d431 100644 --- a/appointment-import/src/test/java/smash/appointment/parse/PrcControlParserTest.java +++ b/appointment-import/src/test/java/smash/appointment/parse/PrcControlParserTest.java @@ -42,17 +42,17 @@ public class PrcControlParserTest extends TestBase { assertEquals("DDD", subject.getAddress()); assertEquals("L-2423", subject.getZipCode()); assertEquals("Luxembourg", subject.getCity()); - assertEquals("", subject.getCountry()); + assertEquals("Luxembourg", subject.getCountry()); assertEquals("123", subject.getPhone1()); assertEquals("456", subject.getPhone2()); - assertEquals("789", subject.getPhone3()); + assertEquals("", subject.getPhone3()); assertEquals("mail@mail.lu", subject.getMail()); assertEquals("", subject.getDiagnosisYear()); assertEquals("", subject.getDiagnosis()); assertEquals("", subject.getReferal()); assertEquals("2016-03-29", subject.getAddDate()); assertEquals("ND3333", subject.getNdNumber()); - assertEquals("", subject.getBirthDate()); + assertEquals("1999-09-10", subject.getBirthDate()); } diff --git a/appointment-import/src/test/java/smash/appointment/parse/PrcFlyingParserTest.java b/appointment-import/src/test/java/smash/appointment/parse/PrcFlyingParserTest.java index ba4224e9..222e092c 100644 --- a/appointment-import/src/test/java/smash/appointment/parse/PrcFlyingParserTest.java +++ b/appointment-import/src/test/java/smash/appointment/parse/PrcFlyingParserTest.java @@ -35,9 +35,9 @@ public class PrcFlyingParserTest extends TestBase { assertTrue(entries.size() > 0); Subject subject = entries.get(0); - assertEquals("P-222", subject.getScreeningNumber()); - assertEquals("DOE John", subject.getSurname()); - assertEquals("", subject.getName()); + assertEquals("F-222", subject.getScreeningNumber()); + assertEquals("DOE", subject.getSurname()); + assertEquals("John", subject.getName()); assertTrue(subject.getRemarks().contains("notes")); assertEquals("8, rue des Nowhere", subject.getAddress()); assertEquals("F-57100", subject.getZipCode()); @@ -45,9 +45,9 @@ public class PrcFlyingParserTest extends TestBase { assertEquals("France", subject.getCountry()); assertEquals("001234325435", subject.getPhone1()); assertEquals("666", subject.getPhone2()); - assertEquals("777", subject.getPhone3()); + assertEquals("", subject.getPhone3()); assertEquals("mail@address.lu", subject.getMail()); - assertEquals("1998", subject.getDiagnosisYear()); + assertEquals("", subject.getDiagnosisYear()); assertEquals("BLA", subject.getDiagnosis()); assertEquals("DR", subject.getReferal()); assertEquals("2016-07-06", subject.getAddDate()); diff --git a/appointment-import/testFiles/prcControlesExample.xlsx b/appointment-import/testFiles/prcControlesExample.xlsx index 2277978b4984e2871171b48d30d06cc32d9ee31e..a3143cb40d39499dd598cea9f473fe6c49f1f2f3 100644 GIT binary patch delta 2963 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 delta 2906 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 R|ElZ2!6YRZG{pZ3{tNT0OkDr~ diff --git a/appointment-import/testFiles/prcFlyingTeam.xlsx b/appointment-import/testFiles/prcFlyingTeam.xlsx index 56646dc463b43ec98bbf36b20c83cade9069ac44..a3296b81a92b108d4d31115c134211c19223c306 100644 GIT binary patch delta 3083 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 Q5>XtQRe+ydpZ|~YKPQaEDF6Tf delta 3056 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 -- GitLab