--- 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; + }