/[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 2711 by torben, Sun Sep 27 19:43:24 2015 UTC dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/Database.java revision 2743 by torben, Wed Oct 7 18:57:53 2015 UTC
# Line 36  public class Database { Line 36  public class Database {
36                    
37                    
38    
39            DeduplicateHelper<String> vejnavnCache = new DeduplicateHelper<String>();
40          DeduplicateHelper<String> husnrbogstavCache = new DeduplicateHelper<String>();          DeduplicateHelper<String> husnrbogstavCache = new DeduplicateHelper<String>();
41          DeduplicateHelper<String> ruteCache = new DeduplicateHelper<String>();          DeduplicateHelper<String> ruteCache = new DeduplicateHelper<String>();
42                    
# Line 68  public class Database { Line 68  public class Database {
68          }                }      
69                    
70          public void renameResultTables() throws SQLException {          public void renameResultTables() throws SQLException {
71                    if (LookupMain.test_mode == true) {
72                            throw new RuntimeException("Can not rename tables in test mode");
73                    }
74    
75                  Constants consts = Constants.getInstance();                  Constants consts = Constants.getInstance();
76                  String ext = consts.getTableExtension();                  String ext = consts.getTableExtension();
77                                    
# Line 97  public class Database { Line 101  public class Database {
101                                    
102                  logger.info("Henter alle IKKE-daekkede adresser");                  logger.info("Henter alle IKKE-daekkede adresser");
103    
104                  String sql = "SELECT id,a.postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " +                  String sql = "SELECT id,a.postnr,vejnavn,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " +
105                                  "FROM fulddaekning.adressetabel a " +                                  "FROM fulddaekning.adressetabel a " +
106                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +
107                                  "WHERE rute IS NULL " +  //Ingen dækning                                  "WHERE rute IS NULL " +  //Ingen dækning
108                                  //"AND a.postnr BETWEEN ? AND ? " +                                  "AND a.postnr BETWEEN ? AND ? " +
                                 "AND a.postnr BETWEEN 8000 and 8600 " +  
                                 //"AND a.postnr BETWEEN 9000 AND 9300 " +  
109                                  "AND latitude IS NOT NULL " +                                  "AND latitude IS NOT NULL " +
110                                  "AND longitude IS NOT NULL " +                                  "AND longitude IS NOT NULL " +
111                                  "AND gadeid IS NOT NULL " +                                  "AND gadeid IS NOT NULL " +
112                                  "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') " +                                  "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') "
113                                  "LIMIT 2500";                                            ;              
114                    
115                    if (LookupMain.test_mode == true) {
116                            sql = sql + " LIMIT 100 ";
117                    }
118                    
119                  PreparedStatement stmt = conn.prepareStatement(sql);                  PreparedStatement stmt = conn.prepareStatement(sql);
120                  //stmt.setInt(1, minPostnr);                  stmt.setInt(1, minPostnr);
121                  //stmt.setInt(2, maxPostnr);                  stmt.setInt(2, maxPostnr);
122    
123                  List<Adresse> list = hentAdresseListe( stmt );                  List<Adresse> list = hentAdresseListe( stmt );
124                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );                  alleIkkeDaekkede = list.toArray( new Adresse[ list.size() ] );
# Line 153  public class Database { Line 160  public class Database {
160                    
161          public int hentAlleDaekkedeAdresser() throws SQLException {          public int hentAlleDaekkedeAdresser() throws SQLException {
162                  if ( alleAdresser == null ) {                  if ( alleAdresser == null ) {
163                          String sql = "SELECT id,a.postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " +                          String sql = "SELECT id,a.postnr,vejnavn,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " +
164                                          "FROM fulddaekning.adressetabel a " +                                          "FROM fulddaekning.adressetabel a " +
165                                          "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +                                          "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +
166                                          "WHERE rute IS NOT NULL " +                                          "WHERE rute IS NOT NULL " +
167                                          "AND latitude IS NOT NULL " +                                          "AND latitude IS NOT NULL " +
168                                          "AND longitude IS NOT NULL " +                                          "AND longitude IS NOT NULL " +
169                                          "AND a.distributor = ? ";                                          "AND a.distributor = ? ";
170    
171                            if (LookupMain.test_mode == true) {
172                                    sql = sql + " AND a.postnr BETWEEN 6000 and 7200 ";
173                            }
174                    
175                          // Forward only + concur_read_only + fetchsize tvinger driver til at hente en række af gangen (bedre performance ved store result sets)                          // Forward only + concur_read_only + fetchsize tvinger driver til at hente en række af gangen (bedre performance ved store result sets)
176                          // Se http://dev.mysql.com/doc/connector-j/en/connector-j-reference-implementation-notes.html                          // Se http://dev.mysql.com/doc/connector-j/en/connector-j-reference-implementation-notes.html
# Line 192  public class Database { Line 203  public class Database {
203                    
204    
205          public synchronized void gemResultat(Adresse orgAdresse, Adresse bedsteAdresse, double bedsteAfstand) throws SQLException {          public synchronized void gemResultat(Adresse orgAdresse, Adresse bedsteAdresse, double bedsteAfstand) throws SQLException {
206                  /*String sql = "INSERT INTO fulddaekning.afstand_anden_rute_thn (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_thn (orgId,orgPostnr, orgVejnavn,orgGadeid,orgHusnr,orgHusnrBogstav,orgLatitude,orgLongitude,orgRute,id,postnr,vejnavn,gadeid,husnr,husnrbogstav,latitude,longitude,rute,afstand,`timestamp`) "+
207                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";                                  "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )";
208    
209                  PreparedStatement saveStmt = conn.prepareStatement(sql);*/                  PreparedStatement saveStmt = conn.prepareStatement(sql);*/
210    
211                  saveStmt.setInt(1, orgAdresse.id);                  saveStmt.setInt(1, orgAdresse.id);
212                  saveStmt.setShort(2, orgAdresse.postnr);                  saveStmt.setShort(2, orgAdresse.postnr);
213                  saveStmt.setString(3, orgAdresse.adresse);                  saveStmt.setString(3, orgAdresse.vejnavn);
214                  saveStmt.setInt(4, orgAdresse.gadeid);                  saveStmt.setInt(4, orgAdresse.gadeid);
215                  saveStmt.setShort(5, orgAdresse.husnr);                  saveStmt.setShort(5, orgAdresse.husnr);
216                  saveStmt.setString(6, orgAdresse.husnrbogstav);                  saveStmt.setString(6, orgAdresse.husnrbogstav);
# Line 208  public class Database { Line 219  public class Database {
219    
220                  saveStmt.setInt(8, bedsteAdresse.id);                  saveStmt.setInt(8, bedsteAdresse.id);
221                  saveStmt.setShort(9, bedsteAdresse.postnr);                  saveStmt.setShort(9, bedsteAdresse.postnr);
222                  saveStmt.setString(10, bedsteAdresse.adresse);                  saveStmt.setString(10, bedsteAdresse.vejnavn);
223                  saveStmt.setInt(11, bedsteAdresse.gadeid);                  saveStmt.setInt(11, bedsteAdresse.gadeid);
224                  saveStmt.setShort(12, bedsteAdresse.husnr);                  saveStmt.setShort(12, bedsteAdresse.husnr);
225                  saveStmt.setString(13, bedsteAdresse.husnrbogstav);                  saveStmt.setString(13, bedsteAdresse.husnrbogstav);
# Line 252  public class Database { Line 263  public class Database {
263    
264                          adr.id = res.getInt(1);                          adr.id = res.getInt(1);
265                          adr.postnr = res.getShort(2);                          adr.postnr = res.getShort(2);
266                          adr.adresse = res.getString(3);                          adr.vejnavn = vejnavnCache.getInstance( res.getString(3) );
267                          adr.gadeid = res.getInt(4);                          adr.gadeid = res.getInt(4);
268                          adr.husnr = res.getShort(5);                          adr.husnr = res.getShort(5);
269                          adr.husnrbogstav = husnrbogstavCache.getInstance( res.getString(6) );                          adr.husnrbogstav = husnrbogstavCache.getInstance( res.getString(6) );

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

  ViewVC Help
Powered by ViewVC 1.1.20