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

revision 2641 by torben, Mon Aug 10 08:59:14 2015 UTC revision 2708 by torben, Sun Sep 27 18:20:41 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 27  public class Database { Line 25  public class Database {
25          Connection conn;          Connection conn;
26          PreparedStatement saveStmt;          PreparedStatement saveStmt;
27                    
28          List<GeoPoint> alleAdresser;          List<Adresse> alleAdresser;
29          Adresse alleIkkeDaekkede[];          Adresse alleIkkeDaekkede[];
30                    
31          Map<Short,List<GeoPoint>> daekkedeAdresserHO = new HashMap<Short,List<GeoPoint>>();          Map<Short,List<Adresse>> daekkedeAdresserHO = new HashMap<Short,List<Adresse>>();
32                    
33                    
34                    
# Line 50  public class Database { Line 48  public class Database {
48          public Database(SafeProperties conf)  throws SQLException,IOException {          public Database(SafeProperties conf)  throws SQLException,IOException {
49                  this.conn = getConnection( conf );                        this.conn = getConnection( conf );      
50    
51                  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`) "+
52                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";
53    
54                  saveStmt = conn.prepareStatement(sql);                            saveStmt = conn.prepareStatement(sql);          
55    
# Line 101  public class Database { Line 99  public class Database {
99                                  "FROM fulddaekning.adressetabel a " +                                  "FROM fulddaekning.adressetabel a " +
100                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +
101                                  "WHERE rute IS NULL " +  //Ingen dækning                                  "WHERE rute IS NULL " +  //Ingen dækning
102                                  "AND a.postnr BETWEEN ? AND ? " +                                  //"AND a.postnr BETWEEN ? AND ? " +
103                                  "AND a.postnr NOT BETWEEN 3900 and 3999 " + //Skip greenland                                  "AND a.postnr BETWEEN 8000 and 8600 " +
104                                  "AND a.postnr NOT BETWEEN 9000 AND 9499 " + // Skip nordjylland (DAO)                                  //"AND a.postnr BETWEEN 9000 AND 9300 " +
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                  PreparedStatement stmt = conn.prepareStatement(sql);                  PreparedStatement stmt = conn.prepareStatement(sql);
111                  stmt.setInt(1, minPostnr);                  //stmt.setInt(1, minPostnr);
112                  stmt.setInt(2, maxPostnr);                  //stmt.setInt(2, maxPostnr);
113    
114                  List<Adresse> list = hentAdresseListe( stmt );                  List<Adresse> list = hentAdresseListe( stmt );
115                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );
# Line 146  public class Database { Line 145  public class Database {
145    
146                    
147                    
148          public Map<Short, List<GeoPoint>> getDaekkedeAdresserHO() {          public Map<Short, List<Adresse>> getDaekkedeAdresserHO() {
149                  return daekkedeAdresserHO;                  return daekkedeAdresserHO;
150          }          }
151                    
# Line 169  public class Database { Line 168  public class Database {
168                    
169                          List<Adresse> list = hentAdresseListe( stmt );                          List<Adresse> list = hentAdresseListe( stmt );
170                                                    
171                          alleAdresser = new ArrayList<GeoPoint>();                          alleAdresser = new ArrayList<Adresse>();
172                          alleAdresser.addAll(list);                          alleAdresser.addAll(list);
173                                                    
174                          for(Adresse addr : list) {                          for(Adresse addr : list) {
175                                  short ho = addr.ho;                                  short ho = addr.ho;
176                                  List<GeoPoint> hoListe = daekkedeAdresserHO.get(ho);                                  List<Adresse> hoListe = daekkedeAdresserHO.get(ho);
177                                  if ( hoListe == null) {                                  if ( hoListe == null) {
178                                          hoListe = new ArrayList<GeoPoint>();                                          hoListe = new ArrayList<Adresse>();
179                                          daekkedeAdresserHO.put(ho, hoListe);                                                                              daekkedeAdresserHO.put(ho, hoListe);                                    
180                                  }                                  }
181                                                                    
# Line 202  public class Database { Line 201  public class Database {
201                  saveStmt.setInt(4, orgAdresse.gadeid);                  saveStmt.setInt(4, orgAdresse.gadeid);
202                  saveStmt.setShort(5, orgAdresse.husnr);                  saveStmt.setShort(5, orgAdresse.husnr);
203                  saveStmt.setString(6, orgAdresse.husnrbogstav);                  saveStmt.setString(6, orgAdresse.husnrbogstav);
204                  saveStmt.setDouble(7, orgAdresse.latitude);                  saveStmt.setString(7, orgAdresse.rute);
205                  saveStmt.setDouble(8, orgAdresse.longitude);  
206                  saveStmt.setString(9, orgAdresse.rute);  
207                    saveStmt.setInt(8, bedsteAdresse.id);
208                    saveStmt.setShort(9, bedsteAdresse.postnr);
209                  saveStmt.setInt(10, bedsteAdresse.id);                  saveStmt.setString(10, bedsteAdresse.adresse);
210                  saveStmt.setShort(11, bedsteAdresse.postnr);                  saveStmt.setInt(11, bedsteAdresse.gadeid);
211                  saveStmt.setString(12, bedsteAdresse.adresse);                  saveStmt.setShort(12, bedsteAdresse.husnr);
212                  saveStmt.setInt(13, bedsteAdresse.gadeid);                  saveStmt.setString(13, bedsteAdresse.husnrbogstav);
213                  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);  
214    
215                  saveStmt.setDouble(19, bedsteAfstand);                  saveStmt.setDouble(15, bedsteAfstand);
216    
217                  saveStmt.addBatch();                  saveStmt.addBatch();
218                  batchCount++;                  batchCount++;

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

  ViewVC Help
Powered by ViewVC 1.1.20