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

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

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

dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java revision 2641 by torben, Mon Aug 10 08:59:14 2015 UTC dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/Database.java revision 2736 by torben, Fri Oct 2 09:34:36 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 50  public class Database { Line 50  public class Database {
50          public Database(SafeProperties conf)  throws SQLException,IOException {          public Database(SafeProperties conf)  throws SQLException,IOException {
51                  this.conn = getConnection( conf );                        this.conn = getConnection( conf );      
52    
53                  String sql = "INSERT INTO fulddaekning.afstand_anden_rute_ny (orgId,orgPostnr, orgAdresse,orgGadeid,orgHusnr,orgHusnrBogstav,orgLatitude,orgLongitude,orgRute,id,postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,afstand,`timestamp`) "+                  String sql = "INSERT INTO fulddaekning.afstand_anden_rute_ny (orgId,orgPostnr, orgAdresse,orgGadeid,orgHusnr,orgHusnrBogstav,orgRute,id,postnr,adresse,gadeid,husnr,husnrbogstav,rute,afstand,`timestamp`) "+
54                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";
55    
56                  saveStmt = conn.prepareStatement(sql);                            saveStmt = conn.prepareStatement(sql);          
57    
# 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 102  public class Database { Line 102  public class Database {
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 ? " +
                                 "AND a.postnr NOT BETWEEN 3900 and 3999 " + //Skip greenland  
                                 "AND a.postnr NOT BETWEEN 9000 AND 9499 " + // Skip nordjylland (DAO)  
105                                  "AND latitude IS NOT NULL " +                                  "AND latitude IS NOT NULL " +
106                                  "AND longitude IS NOT NULL " +                                  "AND longitude IS NOT NULL " +
107                                  "AND gadeid IS NOT NULL " +                                  "AND gadeid IS NOT NULL " +
108                                  "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') ";                                                "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') "
109                                    //"LIMIT 2500"
110                                    ;              
111                    
112                    if (LookupMain.test_mode == true) {
113                            sql = sql + " LIMIT 100 ";
114                    }
115                    
116                  PreparedStatement stmt = conn.prepareStatement(sql);                  PreparedStatement stmt = conn.prepareStatement(sql);
117                  stmt.setInt(1, minPostnr);                  stmt.setInt(1, minPostnr);
118                  stmt.setInt(2, maxPostnr);                  stmt.setInt(2, maxPostnr);
# Line 140  public class Database { Line 145  public class Database {
145                                                    
146                                                    
147                  }                  }
148                  return alleIkkeDaekkede;                  return new ConcurrentLinkedQueue<Adresse>( list );
149          }          }
150                    
151    
152                    
153                    
154          public Map<Short, List<GeoPoint>> getDaekkedeAdresserHO() {          public Map<Short, List<Adresse>> getDaekkedeAdresserHO() {
155                  return daekkedeAdresserHO;                  return daekkedeAdresserHO;
156          }          }
157                    
# Line 169  public class Database { Line 174  public class Database {
174                    
175                          List<Adresse> list = hentAdresseListe( stmt );                          List<Adresse> list = hentAdresseListe( stmt );
176                                                    
177                          alleAdresser = new ArrayList<GeoPoint>();                          alleAdresser = new ArrayList<Adresse>();
178                          alleAdresser.addAll(list);                          alleAdresser.addAll(list);
179                                                    
180                          for(Adresse addr : list) {                          for(Adresse addr : list) {
181                                  short ho = addr.ho;                                  short ho = addr.ho;
182                                  List<GeoPoint> hoListe = daekkedeAdresserHO.get(ho);                                  List<Adresse> hoListe = daekkedeAdresserHO.get(ho);
183                                  if ( hoListe == null) {                                  if ( hoListe == null) {
184                                          hoListe = new ArrayList<GeoPoint>();                                          hoListe = new ArrayList<Adresse>();
185                                          daekkedeAdresserHO.put(ho, hoListe);                                                                              daekkedeAdresserHO.put(ho, hoListe);                                    
186                                  }                                  }
187                                                                    
# Line 202  public class Database { Line 207  public class Database {
207                  saveStmt.setInt(4, orgAdresse.gadeid);                  saveStmt.setInt(4, orgAdresse.gadeid);
208                  saveStmt.setShort(5, orgAdresse.husnr);                  saveStmt.setShort(5, orgAdresse.husnr);
209                  saveStmt.setString(6, orgAdresse.husnrbogstav);                  saveStmt.setString(6, orgAdresse.husnrbogstav);
210                  saveStmt.setDouble(7, orgAdresse.latitude);                  saveStmt.setString(7, orgAdresse.rute);
211                  saveStmt.setDouble(8, orgAdresse.longitude);  
212                  saveStmt.setString(9, orgAdresse.rute);  
213                    saveStmt.setInt(8, bedsteAdresse.id);
214                    saveStmt.setShort(9, bedsteAdresse.postnr);
215                  saveStmt.setInt(10, bedsteAdresse.id);                  saveStmt.setString(10, bedsteAdresse.adresse);
216                  saveStmt.setShort(11, bedsteAdresse.postnr);                  saveStmt.setInt(11, bedsteAdresse.gadeid);
217                  saveStmt.setString(12, bedsteAdresse.adresse);                  saveStmt.setShort(12, bedsteAdresse.husnr);
218                  saveStmt.setInt(13, bedsteAdresse.gadeid);                  saveStmt.setString(13, bedsteAdresse.husnrbogstav);
219                  saveStmt.setShort(14, bedsteAdresse.husnr);                  saveStmt.setString(14, bedsteAdresse.rute);
                 saveStmt.setString(15, bedsteAdresse.husnrbogstav);  
                 saveStmt.setDouble(16, bedsteAdresse.latitude);  
                 saveStmt.setDouble(17, bedsteAdresse.longitude);  
                 saveStmt.setString(18, bedsteAdresse.rute);  
220    
221                  saveStmt.setDouble(19, bedsteAfstand);                  saveStmt.setDouble(15, bedsteAfstand);
222    
223                  saveStmt.addBatch();                  saveStmt.addBatch();
224                  batchCount++;                  batchCount++;

Legend:
Removed from v.2641  
changed lines
  Added in v.2736

  ViewVC Help
Powered by ViewVC 1.1.20