/[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

dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressReport.java revision 2860 by torben, Thu Jan 28 10:57:26 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressReport.java revision 2950 by torben, Tue Feb 16 09:40:51 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold;  package dk.daoas.adressevedligehold.fileupload;
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  /*  /*
21   * TODO: detail rapport pr postnr   *
  * TODO: ved mangel oversigten - skeln mellem om det er nye/CREATED eller om det er gamle kendte adresser  
22   */   */
23    
24  public class AddressReport {  public class AddressReport {
# Line 73  public class AddressReport { Line 74  public class AddressReport {
74                  }                  }
75          }          }
76                    
77            private static TaskLogger logger = TaskLogger.getInstance();
78            
79          AddressManager addrManager;          AddressManager addrManager;
80          List<Address> addressList;          List<Address> addressList;
81          int entryCount;          int entryCount;
# Line 80  public class AddressReport { Line 83  public class AddressReport {
83          AddressSource source;          AddressSource source;
84          TimingHelper timer;          TimingHelper timer;
85          boolean writeBack;          boolean writeBack;
86            int duplicateCount;
87                    
88          //TODO: Afviste adresser  
89          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 ) {
90                  this.addrManager = addrManager;                  this.addrManager = addrManager;
91                  addressList = addrManager.getAddressList();                  addressList = addrManager.getAddressList();
92                  this.entryCount = entryCount;                  this.entryCount = entryCount;
# Line 90  public class AddressReport { Line 94  public class AddressReport {
94                  this.source = source;                  this.source = source;
95                  this.timer = timer;                  this.timer = timer;
96                  this.writeBack = writeBack;                  this.writeBack = writeBack;
97                                    this.duplicateCount = duplicateCount;
98          }          }
99                    
100          public void sendRapport() {          public void sendRapport() {
101                  System.out.println("Sending mail");                  logger.info("Sending mail");
102                                    
103                  String reportData = getReportData();                  String reportData = getReportData();
104                  String subject = "Indlæsnings rapport for " + source.getDistributor();                  String subject = "Indlæsnings rapport for " + source.getDistributor();
# Line 105  public class AddressReport { Line 109  public class AddressReport {
109                    
110          public static void sendMail(String subject, String htmlBody) {          public static void sendMail(String subject, String htmlBody) {
111                 Properties props = new Properties();                 Properties props = new Properties();
112                  props.put("mail.smtp.host", "10.30.1.28");                  props.put("mail.smtp.host", "mail.dao.int");
113                  //props.put("mail.smtp.host", "192.168.12.10");                  //props.put("mail.smtp.host", "192.168.12.10");
114                                    
115                  try {                  try {
# Line 125  public class AddressReport { Line 129  public class AddressReport {
129                                                                    
130                                                    
131                  } catch (MessagingException e) {                  } catch (MessagingException e) {
132                                  System.out.println("Unable to send report mail " + e.getMessage() );                                  logger.warning("Unable to send report mail ", e );
133                          }                                        }              
134          }          }
135                    
# Line 135  public class AddressReport { Line 139  public class AddressReport {
139                  WeekEntry total = new WeekEntry();                  WeekEntry total = new WeekEntry();
140                  HashMap<Short, WeekEntry> postnrEntries = new HashMap<Short,WeekEntry>();                  HashMap<Short, WeekEntry> postnrEntries = new HashMap<Short,WeekEntry>();
141                                    
142                    int createFailCount = 0;
143                                    
144                  int antalUdenKommunekodeNy = 0;                  int antalUdenGadeid = 0;
145                  int antalUdenKommunekode = 0;                  int antalUdenKommunekode = 0;
146                  int antalUdenLatitude = 0;                  int antalUdenLatitude = 0;
147                  int antalUdenDBKBane = 0;                  int antalUdenDBKBane = 0;
148                                    
149                  // first gather the intel                  // first gather the intel
150                  for (Address a : addressList) {                  for (Address a : addressList) {
151                          if (a.kommunekode == 0 || a.vejkode == 0) {                          
152                                  if (a.state == AddressState.CREATED) {                          if (a.state == AddressState.CREATE_FAIL) {
153                                          antalUdenKommunekodeNy++;                                  createFailCount++;
154                                  }                                  continue;                      
155                                                            }
156                            
157                            if (a.gadeid == 0) {
158                                    antalUdenGadeid++;
159                            }
160                            
161                            if (a.kommunekode == 0 || a.vejkode == 0) {                            
162                                  antalUdenKommunekode++;                                  antalUdenKommunekode++;
163                          }                          }
164                                                    
# Line 168  public class AddressReport { Line 179  public class AddressReport {
179                                  postnrEntries.put(a.postnr, weekEntry);                                  postnrEntries.put(a.postnr, weekEntry);
180                          }                          }
181                                                    
182    
183                                                    
184                          if (a.state == AddressState.CREATED) {                          if (a.state == AddressState.CREATED) {
185                                  weekEntry.incrementCreated();                                  weekEntry.incrementCreated();
# Line 193  public class AddressReport { Line 205  public class AddressReport {
205                  sb.append("Tidsforbrug: ").append( timer.getElapsed() ).append("ms. <br>");                  sb.append("Tidsforbrug: ").append( timer.getElapsed() ).append("ms. <br>");
206                  sb.append("Skriv til DB: ").append( writeBack ).append("<br>");                  sb.append("Skriv til DB: ").append( writeBack ).append("<br>");
207                  sb.append("Antal entries: " ).append( entryCount ).append("<br>");                  sb.append("Antal entries: " ).append( entryCount ).append("<br>");
208                  sb.append("Antal afviste: " ).append( addrManager.getAfvistAntal() ).append("<br>");                  sb.append("Antal afviste: " ).append( addrManager.getRejectedCount() ).append("<br>");
209                    sb.append("Antal dubletter: " ).append( duplicateCount ).append("<br>");
210                    sb.append("Antal fejlede inserts: ").append(createFailCount).append("<br>");
211                    sb.append("Filen indeholder data til: ");
212                    if (ugedage.mandag) sb.append("Mandag, ");
213                    if (ugedage.tirsdag) sb.append("Tirsdag, ");
214                    if (ugedage.onsdag) sb.append("Onsdag, ");
215                    if (ugedage.torsdag) sb.append("Torsdag, ");
216                    if (ugedage.fredag) sb.append("Fredag, ");
217                    if (ugedage.lordag) sb.append("Lørdag, ");
218                    if (ugedage.sondag) sb.append("Søndag, ");
219                    sb.append("<br>");
220                                    
221                  sb.append("<h2>Data Mangler</h2>\n");                  sb.append("<h2>Data Mangler</h2>\n");
222                  sb.append("<pre>");                  sb.append("<pre>");
223                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");
224                    sb.append("Mangler gadeid: ").append(antalUdenGadeid).append("\n");
225                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");
226                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");
227                  sb.append("</pre>");                  sb.append("</pre>");
# Line 212  public class AddressReport { Line 236  public class AddressReport {
236                  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>");
237                  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>");
238                  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>");
239                    sb.append("</table>");
240                    
241                    sb.append("<br>");
242                    sb.append("<h2>Nye/Ukendte gader</h2>");
243                    sb.append("<table>");
244                    sb.append("<tr><th>Gadeid</th><th>Vejnavn</th></tr>");
245                    for( Entry<Integer,String> unknownStreet : addrManager.getUnknownStreets().entrySet() ) {
246                            sb.append("<tr><td>").append(unknownStreet.getKey()).append("</td><td>").append(unknownStreet.getValue()).append("</td></tr>");
247                    }
248                    sb.append("</table>");
249                                    
250                                    
251                  sb.append("</table><br>\n");                  sb.append("</table><br>\n");

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

  ViewVC Help
Powered by ViewVC 1.1.20