--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressReport.java 2016/02/05 08:01:18 2924 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java 2016/07/06 09:47:59 3059 @@ -1,35 +1,32 @@ -package dk.daoas.adressevedligehold; +package dk.daoas.adressevedligehold.coveragefileupload; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map.Entry; -import java.util.Properties; -import javax.mail.Message; -import javax.mail.MessagingException; -import javax.mail.Session; -import javax.mail.Transport; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; +import org.apache.commons.lang3.builder.CompareToBuilder; +import dk.daoas.adressevedligehold.MailSender; import dk.daoas.adressevedligehold.beans.Address; import dk.daoas.adressevedligehold.beans.Address.AddressState; import dk.daoas.adressevedligehold.tasks.TaskLogger; import dk.daoas.adressevedligehold.util.TimingHelper; /* - * TODO: detail rapport pr postnr - * TODO: ved mangel oversigten - skeln mellem om det er nye/CREATED eller om det er gamle kendte adresser + * */ public class AddressReport { - + static class NumEntry { int open = 0; int closed = 0; int modified = 0; int created = 0; - + public void updateFromState(AddressState st) { if (st == AddressState.OPENED) open++; @@ -53,7 +50,7 @@ NumEntry fre = new NumEntry(); NumEntry lor = new NumEntry(); NumEntry son = new NumEntry(); - + public void incrementFromOther(WeekEntry other) { man.updateFromOther(other.man); tir.updateFromOther(other.tir); @@ -63,7 +60,7 @@ lor.updateFromOther(other.lor); son.updateFromOther(other.son); } - + public void incrementCreated() { man.created++; tir.created++; @@ -74,9 +71,9 @@ son.created++; } } - + private static TaskLogger logger = TaskLogger.getInstance(); - + AddressManager addrManager; List
addressList; int entryCount; @@ -85,8 +82,8 @@ TimingHelper timer; boolean writeBack; int duplicateCount; - - //TODO: Afviste adresser + + public AddressReport(AddressManager addrManager, int entryCount, EntryUgedage ugedage, AddressSource source, TimingHelper timer, boolean writeBack, int duplicateCount ) { this.addrManager = addrManager; addressList = addrManager.getAddressList(); @@ -97,91 +94,68 @@ this.writeBack = writeBack; this.duplicateCount = duplicateCount; } - + public void sendRapport() { logger.info("Sending mail"); - + String reportData = getReportData(); String subject = "Indlæsnings rapport for " + source.getDistributor(); - AddressReport.sendMail(subject, reportData); - - } - - public static void sendMail(String subject, String htmlBody) { - Properties props = new Properties(); - props.put("mail.smtp.host", "10.30.1.28"); - //props.put("mail.smtp.host", "192.168.12.10"); - - try { - // create some properties and get the default Session - Session session = Session.getDefaultInstance(props, null); - session.setDebug(false); - - MimeMessage msg = new MimeMessage(session); - msg.setFrom( new InternetAddress("no-reply@daoas.dk") ); - - - msg.setRecipient(Message.RecipientType.TO, new InternetAddress("thn@daoas.dk") );//TODO: mulighed for at ændre modtager mail - msg.setSubject( subject ); - msg.setContent(htmlBody, "text/html; charset=utf-8"); - - Transport.send(msg); - - - } catch (MessagingException e) { - logger.warning("Unable to send report mail ", e ); - } + String newOpenCloseAttachment = getAttachement(); + + MailSender.sendMailWithAttachment(subject, reportData, "Details.csv", newOpenCloseAttachment); + } - - + + + public String getReportData() { - + WeekEntry total = new WeekEntry(); HashMap"); sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n"); @@ -226,19 +200,19 @@ sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n"); sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n"); sb.append(""); - - + + sb.append("
Mandag | Tirsdag | Onsdag | Torsdag | Fredag | Lørdag | Søndag | |
Oprettet: | ").append(total.man.created).append(" | ").append(total.tir.created).append(" | ").append(total.ons.created).append(" | ").append(total.tor.created).append(" | ").append(total.fre.created).append(" | ").append(total.lor.created).append(" | ").append(total.son.created).append(" |
Åbnet: | ").append(total.man.open).append(" | ").append(total.tir.open).append(" | ").append(total.ons.open).append(" | ").append(total.tor.open).append(" | ").append(total.fre.open).append(" | ").append(total.lor.open).append(" | ").append(total.son.open).append(" |
Ændret: | ").append(total.man.modified).append(" | ").append(total.tir.modified).append(" | ").append(total.ons.modified).append(" | ").append(total.tor.modified).append(" | ").append(total.fre.modified).append(" | ").append(total.lor.modified).append(" | ").append(total.son.modified).append(" |
Lukket: | ").append(total.man.closed).append(" | ").append(total.tir.closed).append(" | ").append(total.ons.closed).append(" | ").append(total.tor.closed).append(" | ").append(total.fre.closed).append(" | ").append(total.lor.closed).append(" | ").append(total.son.closed).append(" |
").append(unknownStreet.getKey()).append(" | ").append(unknownStreet.getValue()).append(" |