/[projects]/dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java
ViewVC logotype

Diff of /dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java

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

revision 2643 by torben, Fri Aug 14 10:56:32 2015 UTC revision 2711 by torben, Sun Sep 27 19:43:24 2015 UTC
# Line 1  Line 1 
1  package dk.daoas.fulddaekning;  package dk.daoas.fulddaekning;
2    
 import geocode.GeoPoint;  
   
3  import java.io.IOException;  import java.io.IOException;
4  import java.sql.Connection;  import java.sql.Connection;
5  import java.sql.DriverManager;  import java.sql.DriverManager;
# Line 13  import java.util.HashMap; Line 11  import java.util.HashMap;
11  import java.util.List;  import java.util.List;
12  import java.util.Map;  import java.util.Map;
13  import java.util.Properties;  import java.util.Properties;
14    import java.util.Queue;
15  import java.util.Set;  import java.util.Set;
16  import java.util.TreeSet;  import java.util.TreeSet;
17    import java.util.concurrent.ConcurrentLinkedQueue;
18  import java.util.logging.Logger;  import java.util.logging.Logger;
19    
20    
# Line 27  public class Database { Line 27  public class Database {
27          Connection conn;          Connection conn;
28          PreparedStatement saveStmt;          PreparedStatement saveStmt;
29                    
30          List<GeoPoint> alleAdresser;          List<Adresse> alleAdresser;
31          Adresse alleIkkeDaekkede[];          Adresse alleIkkeDaekkede[];
32                    
33          Map<Short,List<GeoPoint>> daekkedeAdresserHO = new HashMap<Short,List<GeoPoint>>();          Map<Short,List<Adresse>> daekkedeAdresserHO = new HashMap<Short,List<Adresse>>();
34                    
35                    
36                    
# Line 93  public class Database { Line 93  public class Database {
93          }          }
94    
95    
96          public Adresse[] hentAlleIkkedaekkedeAdresser(int minPostnr, int maxPostnr)  throws SQLException {          public Queue<Adresse> hentAlleIkkedaekkedeAdresser(int minPostnr, int maxPostnr)  throws SQLException {
97                                    
98                  logger.info("Henter alle IKKE-daekkede adresser");                  logger.info("Henter alle IKKE-daekkede adresser");
99    
# Line 101  public class Database { Line 101  public class Database {
101                                  "FROM fulddaekning.adressetabel a " +                                  "FROM fulddaekning.adressetabel a " +
102                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +
103                                  "WHERE rute IS NULL " +  //Ingen dækning                                  "WHERE rute IS NULL " +  //Ingen dækning
104                                  "AND a.postnr BETWEEN ? AND ? " +                                  //"AND a.postnr BETWEEN ? AND ? " +
105                                  "AND a.postnr NOT BETWEEN 3900 and 3999 " + //Skip greenland                                  "AND a.postnr BETWEEN 8000 and 8600 " +
106                                  "AND a.postnr NOT BETWEEN 9000 AND 9549 " + // Skip nordjylland (DAO)                                  //"AND a.postnr BETWEEN 9000 AND 9300 " +
107                                  "AND latitude IS NOT NULL " +                                  "AND latitude IS NOT NULL " +
108                                  "AND longitude IS NOT NULL " +                                  "AND longitude IS NOT NULL " +
109                                  "AND gadeid IS NOT NULL " +                                  "AND gadeid IS NOT NULL " +
110                                  "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') ";                                                "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') " +
111                                    "LIMIT 2500";          
112                  PreparedStatement stmt = conn.prepareStatement(sql);                  PreparedStatement stmt = conn.prepareStatement(sql);
113                  stmt.setInt(1, minPostnr);                  //stmt.setInt(1, minPostnr);
114                  stmt.setInt(2, maxPostnr);                  //stmt.setInt(2, maxPostnr);
115    
116                  List<Adresse> list = hentAdresseListe( stmt );                  List<Adresse> list = hentAdresseListe( stmt );
117                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );
# Line 140  public class Database { Line 141  public class Database {
141                                                    
142                                                    
143                  }                  }
144                  return alleIkkeDaekkede;                  return new ConcurrentLinkedQueue<Adresse>( list );
145          }          }
146                    
147    
148                    
149                    
150          public Map<Short, List<GeoPoint>> getDaekkedeAdresserHO() {          public Map<Short, List<Adresse>> getDaekkedeAdresserHO() {
151                  return daekkedeAdresserHO;                  return daekkedeAdresserHO;
152          }          }
153                    
# Line 169  public class Database { Line 170  public class Database {
170                    
171                          List<Adresse> list = hentAdresseListe( stmt );                          List<Adresse> list = hentAdresseListe( stmt );
172                                                    
173                          alleAdresser = new ArrayList<GeoPoint>();                          alleAdresser = new ArrayList<Adresse>();
174                          alleAdresser.addAll(list);                          alleAdresser.addAll(list);
175                                                    
176                          for(Adresse addr : list) {                          for(Adresse addr : list) {
177                                  short ho = addr.ho;                                  short ho = addr.ho;
178                                  List<GeoPoint> hoListe = daekkedeAdresserHO.get(ho);                                  List<Adresse> hoListe = daekkedeAdresserHO.get(ho);
179                                  if ( hoListe == null) {                                  if ( hoListe == null) {
180                                          hoListe = new ArrayList<GeoPoint>();                                          hoListe = new ArrayList<Adresse>();
181                                          daekkedeAdresserHO.put(ho, hoListe);                                                                              daekkedeAdresserHO.put(ho, hoListe);                                    
182                                  }                                  }
183                                                                    

Legend:
Removed from v.2643  
changed lines
  Added in v.2711

  ViewVC Help
Powered by ViewVC 1.1.20