--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/dawa/DawaTask.java 2016/04/19 19:55:19 3008
+++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/dawa/DawaTask.java 2016/04/29 11:23:06 3029
@@ -3,9 +3,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
-import java.util.TreeSet;
import dk.daoas.adressevedligehold.MailSender;
import dk.daoas.adressevedligehold.beans.Address;
@@ -13,6 +11,7 @@
import dk.daoas.adressevedligehold.db.DatabaseCoverageUpdate;
import dk.daoas.adressevedligehold.tasks.Task;
import dk.daoas.adressevedligehold.tasks.TaskLogger;
+import dk.daoas.adressevedligehold.util.CountMap;
import dk.daoas.adressevedligehold.util.DeduplicateHelper;
import dk.daoas.adressevedligehold.util.TimingHelper;
@@ -24,13 +23,16 @@
public class DawaTask extends Task {
- final String kommentarTemplate = "Oprettet via DAWA";
+ final static String KOMMENTAR_TEMPLATE = "Oprettet via DAWA";
private TaskLogger logger = TaskLogger.getInstance();
private short regionCode;
private String regionName;
+ int antalBehandlede = 0;
+ int antalKommuner = 0;
+
DatabaseCoverageUpdate db = new DatabaseCoverageUpdate();
@@ -82,6 +84,8 @@
int totalAntalUkendt = 0;
int totalAntalDobbelt = 0;
+ antalKommuner = kommuner.size();
+
StringBuilder sb = new StringBuilder();
@@ -94,20 +98,23 @@
List
dawaListe = dawa.adresserIKommune(kommunekode);
// stage 3 søg
- Set ukendteDAV = new TreeSet<>();
- Set dobbeltGadeidDAV = new TreeSet<>();
+ CountMap ukendteDAV = new CountMap();
+ CountMap dobbeltGadeidDAV = new CountMap();
List nyeAdresser = new ArrayList<>();
for (Address dawaAddr : dawaListe) {
String dav = getDAVid(dawaAddr);
DawaGade gade = search.get(dav);
if (gade == null) {
- ukendteDAV.add(dav + " " + dawaAddr.vejnavn);
+ String key = dav + " " + dawaAddr.vejnavn;
+ ukendteDAV.increment(key);
continue;
}
if (gade.gadeids.size() != 1) {
- dobbeltGadeidDAV.add(dav + " " + dawaAddr.vejnavn);
+ String key = dav + " " + dawaAddr.vejnavn;
+ dobbeltGadeidDAV.increment(key);
+ continue;
}
boolean fundet = false;
@@ -121,7 +128,7 @@
if (fundet == false) {
dawaAddr.gadeid = gade.gadeids.iterator().next();
dawaAddr.state = AddressState.CREATED;
- dawaAddr.kommentar = kommentarTemplate;
+ dawaAddr.kommentar = KOMMENTAR_TEMPLATE;
nyeAdresser.add(dawaAddr);
}
}
@@ -129,7 +136,7 @@
db.saveNewAddresses(nyeAdresser);
- logger.info("Save to db done - sending report mail");
+ logger.info("Save to db done - adding to report mail");
List saveOK = new ArrayList<>();
List saveFail = new ArrayList<>();
@@ -145,9 +152,14 @@
totalAntalFejl += saveFail.size();
totalAntalUkendt += ukendteDAV.size();
totalAntalDobbelt += dobbeltGadeidDAV.size();
+
+
+ antalBehandlede++;
sb.append("Kommune: " + kommunenavn + "
\n");
+
+ sb.append("Kommunekode: " + kommunekode + "
\n");
sb.append("Antal Inserts: " + saveOK.size() + "
\n");
sb.append("Antal insert fails: " + saveFail.size() + "
\n");
sb.append("Antal ukendte dav: " + ukendteDAV.size() + "
\n");
@@ -160,16 +172,16 @@
addressTable(sb, saveFail);
sb.append("Ukendte DAV:
\n");
- for (String dav : ukendteDAV) {
- sb.append(dav + "
\n");
+ for (Map.Entry dav : ukendteDAV.entrySet()) {
+ sb.append(dav.getKey() + " : " + dav.getValue() + "
\n");
}
sb.append("Dobbelt gadeid DAV:
\n");
- for (String dav : dobbeltGadeidDAV) {
- sb.append(dav + "
\n");
- }
-
+ for (Map.Entry dav : dobbeltGadeidDAV.entrySet()) {
+ sb.append(dav.getKey() + " : " + dav.getValue() + "
\n");
+ }
}
+ logger.info("Sendingreport mail");
headerSB.append("Antal Inserts: " + totalAntalNye + "
\n");
headerSB.append("Antal insert fails: " + totalAntalFejl + "
\n");
@@ -216,7 +228,12 @@
@Override
public double getPercentCompleted() {
- return 0;
+ if (antalKommuner == 0) {
+ return 0;
+ }
+
+ return (antalBehandlede / ((double)antalKommuner) ) * 100.0;
+
}