/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java
ViewVC logotype

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2860 by torben, Thu Jan 28 10:57:26 2016 UTC revision 2938 by torben, Fri Feb 12 22:44:24 2016 UTC
# Line 2  package dk.daoas.adressevedligehold; Line 2  package dk.daoas.adressevedligehold;
2    
3  import java.util.HashMap;  import java.util.HashMap;
4  import java.util.List;  import java.util.List;
5    import java.util.Map.Entry;
6  import java.util.Properties;  import java.util.Properties;
7    
8  import javax.mail.Message;  import javax.mail.Message;
# Line 13  import javax.mail.internet.MimeMessage; Line 14  import javax.mail.internet.MimeMessage;
14    
15  import dk.daoas.adressevedligehold.beans.Address;  import dk.daoas.adressevedligehold.beans.Address;
16  import dk.daoas.adressevedligehold.beans.Address.AddressState;  import dk.daoas.adressevedligehold.beans.Address.AddressState;
17    import dk.daoas.adressevedligehold.tasks.TaskLogger;
18  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
19    
20  /*  /*
# Line 73  public class AddressReport { Line 75  public class AddressReport {
75                  }                  }
76          }          }
77                    
78            private static TaskLogger logger = TaskLogger.getInstance();
79            
80          AddressManager addrManager;          AddressManager addrManager;
81          List<Address> addressList;          List<Address> addressList;
82          int entryCount;          int entryCount;
# Line 80  public class AddressReport { Line 84  public class AddressReport {
84          AddressSource source;          AddressSource source;
85          TimingHelper timer;          TimingHelper timer;
86          boolean writeBack;          boolean writeBack;
87            int duplicateCount;
88                    
89          //TODO: Afviste adresser          //TODO: Afviste adresser
90          public AddressReport(AddressManager addrManager, int entryCount, EntryUgedage ugedage, AddressSource source, TimingHelper timer, boolean writeBack ) {          public AddressReport(AddressManager addrManager, int entryCount, EntryUgedage ugedage, AddressSource source, TimingHelper timer, boolean writeBack, int duplicateCount ) {
91                  this.addrManager = addrManager;                  this.addrManager = addrManager;
92                  addressList = addrManager.getAddressList();                  addressList = addrManager.getAddressList();
93                  this.entryCount = entryCount;                  this.entryCount = entryCount;
# Line 90  public class AddressReport { Line 95  public class AddressReport {
95                  this.source = source;                  this.source = source;
96                  this.timer = timer;                  this.timer = timer;
97                  this.writeBack = writeBack;                  this.writeBack = writeBack;
98                                    this.duplicateCount = duplicateCount;
99          }          }
100                    
101          public void sendRapport() {          public void sendRapport() {
102                  System.out.println("Sending mail");                  logger.info("Sending mail");
103                                    
104                  String reportData = getReportData();                  String reportData = getReportData();
105                  String subject = "Indlæsnings rapport for " + source.getDistributor();                  String subject = "Indlæsnings rapport for " + source.getDistributor();
# Line 105  public class AddressReport { Line 110  public class AddressReport {
110                    
111          public static void sendMail(String subject, String htmlBody) {          public static void sendMail(String subject, String htmlBody) {
112                 Properties props = new Properties();                 Properties props = new Properties();
113                  props.put("mail.smtp.host", "10.30.1.28");                  props.put("mail.smtp.host", "mail.dao.int");
114                  //props.put("mail.smtp.host", "192.168.12.10");                  //props.put("mail.smtp.host", "192.168.12.10");
115                                    
116                  try {                  try {
# Line 125  public class AddressReport { Line 130  public class AddressReport {
130                                                                    
131                                                    
132                  } catch (MessagingException e) {                  } catch (MessagingException e) {
133                                  System.out.println("Unable to send report mail " + e.getMessage() );                                  logger.warning("Unable to send report mail ", e );
134                          }                                        }              
135          }          }
136                    
# Line 135  public class AddressReport { Line 140  public class AddressReport {
140                  WeekEntry total = new WeekEntry();                  WeekEntry total = new WeekEntry();
141                  HashMap<Short, WeekEntry> postnrEntries = new HashMap<Short,WeekEntry>();                  HashMap<Short, WeekEntry> postnrEntries = new HashMap<Short,WeekEntry>();
142                                    
143                    int createFailCount = 0;
144                                    
145                  int antalUdenKommunekodeNy = 0;                  int antalUdenGadeid = 0;
146                  int antalUdenKommunekode = 0;                  int antalUdenKommunekode = 0;
147                  int antalUdenLatitude = 0;                  int antalUdenLatitude = 0;
148                  int antalUdenDBKBane = 0;                  int antalUdenDBKBane = 0;
149                                    
150                  // first gather the intel                  // first gather the intel
151                  for (Address a : addressList) {                  for (Address a : addressList) {
152                          if (a.kommunekode == 0 || a.vejkode == 0) {                          
153                                  if (a.state == AddressState.CREATED) {                          if (a.state == AddressState.CREATE_FAIL) {
154                                          antalUdenKommunekodeNy++;                                  createFailCount++;
155                                  }                                  continue;                      
156                                                            }
157                            
158                            if (a.gadeid == 0) {
159                                    antalUdenGadeid++;
160                            }
161                            
162                            if (a.kommunekode == 0 || a.vejkode == 0) {                            
163                                  antalUdenKommunekode++;                                  antalUdenKommunekode++;
164                          }                          }
165                                                    
# Line 168  public class AddressReport { Line 180  public class AddressReport {
180                                  postnrEntries.put(a.postnr, weekEntry);                                  postnrEntries.put(a.postnr, weekEntry);
181                          }                          }
182                                                    
183    
184                                                    
185                          if (a.state == AddressState.CREATED) {                          if (a.state == AddressState.CREATED) {
186                                  weekEntry.incrementCreated();                                  weekEntry.incrementCreated();
# Line 193  public class AddressReport { Line 206  public class AddressReport {
206                  sb.append("Tidsforbrug: ").append( timer.getElapsed() ).append("ms. <br>");                  sb.append("Tidsforbrug: ").append( timer.getElapsed() ).append("ms. <br>");
207                  sb.append("Skriv til DB: ").append( writeBack ).append("<br>");                  sb.append("Skriv til DB: ").append( writeBack ).append("<br>");
208                  sb.append("Antal entries: " ).append( entryCount ).append("<br>");                  sb.append("Antal entries: " ).append( entryCount ).append("<br>");
209                  sb.append("Antal afviste: " ).append( addrManager.getAfvistAntal() ).append("<br>");                  sb.append("Antal afviste: " ).append( addrManager.getRejectedCount() ).append("<br>");
210                    sb.append("Antal dubletter: " ).append( duplicateCount ).append("<br>");
211                    sb.append("Antal fejlede inserts: ").append(createFailCount).append("<br>");
212                    sb.append("Filen indeholder data til: ");
213                    if (ugedage.mandag) sb.append("Mandag, ");
214                    if (ugedage.tirsdag) sb.append("Tirsdag, ");
215                    if (ugedage.onsdag) sb.append("Onsdag, ");
216                    if (ugedage.torsdag) sb.append("Torsdag, ");
217                    if (ugedage.fredag) sb.append("Fredag, ");
218                    if (ugedage.lordag) sb.append("Lørdag, ");
219                    if (ugedage.sondag) sb.append("Søndag, ");
220                    sb.append("<br>");
221                                    
222                  sb.append("<h2>Data Mangler</h2>\n");                  sb.append("<h2>Data Mangler</h2>\n");
223                  sb.append("<pre>");                  sb.append("<pre>");
224                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");
225                    sb.append("Mangler gadeid: ").append(antalUdenGadeid).append("\n");
226                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");
227                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");
228                  sb.append("</pre>");                  sb.append("</pre>");
# Line 212  public class AddressReport { Line 237  public class AddressReport {
237                  sb.append("<tr><td>Åbnet:</td><td>").append(total.man.open).append("</td><td>").append(total.tir.open).append("</td><td>").append(total.ons.open).append("</td><td>").append(total.tor.open).append("</td><td>").append(total.fre.open).append("</td><td>").append(total.lor.open).append("</td><td>").append(total.son.open).append("</td></tr>");                  sb.append("<tr><td>Åbnet:</td><td>").append(total.man.open).append("</td><td>").append(total.tir.open).append("</td><td>").append(total.ons.open).append("</td><td>").append(total.tor.open).append("</td><td>").append(total.fre.open).append("</td><td>").append(total.lor.open).append("</td><td>").append(total.son.open).append("</td></tr>");
238                  sb.append("<tr><td>Ændret:</td><td>").append(total.man.modified).append("</td><td>").append(total.tir.modified).append("</td><td>").append(total.ons.modified).append("</td><td>").append(total.tor.modified).append("</td><td>").append(total.fre.modified).append("</td><td>").append(total.lor.modified).append("</td><td>").append(total.son.modified).append("</td></tr>");                  sb.append("<tr><td>Ændret:</td><td>").append(total.man.modified).append("</td><td>").append(total.tir.modified).append("</td><td>").append(total.ons.modified).append("</td><td>").append(total.tor.modified).append("</td><td>").append(total.fre.modified).append("</td><td>").append(total.lor.modified).append("</td><td>").append(total.son.modified).append("</td></tr>");
239                  sb.append("<tr><td>Lukket:</td><td>").append(total.man.closed).append("</td><td>").append(total.tir.closed).append("</td><td>").append(total.ons.closed).append("</td><td>").append(total.tor.closed).append("</td><td>").append(total.fre.closed).append("</td><td>").append(total.lor.closed).append("</td><td>").append(total.son.closed).append("</td></tr>");                  sb.append("<tr><td>Lukket:</td><td>").append(total.man.closed).append("</td><td>").append(total.tir.closed).append("</td><td>").append(total.ons.closed).append("</td><td>").append(total.tor.closed).append("</td><td>").append(total.fre.closed).append("</td><td>").append(total.lor.closed).append("</td><td>").append(total.son.closed).append("</td></tr>");
240                    sb.append("</table>");
241                    
242                    sb.append("<br>");
243                    sb.append("<h2>Nye/Ukendte gader</h2>");
244                    sb.append("<table>");
245                    sb.append("<tr><th>Gadeid</th><th>Vejnavn</th></tr>");
246                    for( Entry<Integer,String> unknownStreet : addrManager.getUnknownStreets().entrySet() ) {
247                            sb.append("<tr><td>").append(unknownStreet.getKey()).append("</td><td>").append(unknownStreet.getValue()).append("</td></tr>");
248                    }
249                    sb.append("</table>");
250                                    
251                                    
252                  sb.append("</table><br>\n");                  sb.append("</table><br>\n");

Legend:
Removed from v.2860  
changed lines
  Added in v.2938

  ViewVC Help
Powered by ViewVC 1.1.20