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

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

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

revision 2840 by torben, Mon Jan 25 10:25:22 2016 UTC revision 2905 by torben, Wed Feb 3 19:02:38 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 22  import dk.daoas.adressevedligehold.util. Line 24  import dk.daoas.adressevedligehold.util.
24    
25  public class AddressReport {  public class AddressReport {
26                    
27          class NumEntry {          static class NumEntry {
28                  int open = 0;                  int open = 0;
29                  int closed = 0;                  int closed = 0;
30                  int modified = 0;                  int modified = 0;
# Line 43  public class AddressReport { Line 45  public class AddressReport {
45                          this.created += other.created;                          this.created += other.created;
46                  }                  }
47          }          }
48          class WeekEntry {          static class WeekEntry {
49                  NumEntry man = new NumEntry();                  NumEntry man = new NumEntry();
50                  NumEntry tir = new NumEntry();                  NumEntry tir = new NumEntry();
51                  NumEntry ons = new NumEntry();                  NumEntry ons = new NumEntry();
# 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 94  public class AddressReport { Line 98  public class AddressReport {
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();
105                                    
106                                    AddressReport.sendMail(subject, reportData);
         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(reportData, "text/html; charset=utf-8");  
                           
                         Transport.send(msg);  
                           
                   
         } catch (MessagingException e) {  
                         System.out.println("Unable to send report mail " + e.getMessage() );  
                 }  
                   
107                                    
108          }          }
109                    
110            public static void sendMail(String subject, String htmlBody) {
111                   Properties props = new Properties();
112                    props.put("mail.smtp.host", "10.30.1.28");
113                    //props.put("mail.smtp.host", "192.168.12.10");
114                    
115                    try {
116                            // create some properties and get the default Session
117                            Session session = Session.getDefaultInstance(props, null);
118                            session.setDebug(false);
119                            
120                            MimeMessage msg = new MimeMessage(session);
121                                    msg.setFrom( new InternetAddress("no-reply@daoas.dk") );
122                                    
123                                    
124                                    msg.setRecipient(Message.RecipientType.TO, new InternetAddress("thn@daoas.dk") );//TODO: mulighed for at ændre modtager mail
125                                    msg.setSubject( subject );                      
126                                    msg.setContent(htmlBody, "text/html; charset=utf-8");
127                                    
128                                    Transport.send(msg);
129                                    
130                            
131                    } catch (MessagingException e) {
132                                    logger.warning("Unable to send report mail ", e );
133                            }              
134            }
135            
136            
137          public String getReportData() {          public String getReportData() {
138                    
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 165  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 190  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 fejlede inserts: ").append(createFailCount).append("<br>");
210                    sb.append("Filen indeholder data til: ");
211                    if (ugedage.mandag) sb.append("Mandag, ");
212                    if (ugedage.tirsdag) sb.append("Tirsdag, ");
213                    if (ugedage.onsdag) sb.append("Onsdag, ");
214                    if (ugedage.torsdag) sb.append("Torsdag, ");
215                    if (ugedage.fredag) sb.append("Fredag, ");
216                    if (ugedage.lordag) sb.append("Lørdag, ");
217                    if (ugedage.sondag) sb.append("Søndag, ");
218                    sb.append("<br>");
219                                    
220                  sb.append("<h2>Data Mangler</h2>\n");                  sb.append("<h2>Data Mangler</h2>\n");
221                  sb.append("<pre>");                  sb.append("<pre>");
222                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");                  sb.append("Mangler kommune/vejkode: ").append(antalUdenKommunekode).append("\n");
223                    sb.append("Mangler gadeid: ").append(antalUdenGadeid).append("\n");
224                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");                  sb.append("Mangler DBK bane: ").append(antalUdenDBKBane).append("\n");
225                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");                  sb.append("Mangler latitude/longitude: ").append(antalUdenLatitude).append("\n");
226                  sb.append("</pre>");                  sb.append("</pre>");
# Line 209  public class AddressReport { Line 235  public class AddressReport {
235                  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>");
236                  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>");
237                  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>");
238                    sb.append("</table>");
239                    
240                    sb.append("<br>");
241                    sb.append("<h2>Nye/Ukendte gader</h2>");
242                    sb.append("<table>");
243                    sb.append("<tr><th>Gadeid</th><th>Vejnavn</th></tr>");
244                    for( Entry<Integer,String> unknownStreet : addrManager.getUnknownStreets().entrySet() ) {
245                            sb.append("<tr><td>").append(unknownStreet.getKey()).append("</td><td>").append(unknownStreet.getValue()).append("</td></tr>");
246                    }
247                    sb.append("</table>");
248                                    
249                                    
250                  sb.append("</table><br>\n");                  sb.append("</table><br>\n");

Legend:
Removed from v.2840  
changed lines
  Added in v.2905

  ViewVC Help
Powered by ViewVC 1.1.20