--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2014/12/09 20:39:45 2238 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2014/12/10 09:50:33 2241 @@ -59,8 +59,8 @@ } public BoundingBox getBoundingbox(String postnr) throws SQLException { - String minPostnr = postnr.replace("x", "0"); - String maxPostnr = postnr.replace("x", "9"); + String minPostnr = postnr.replace('x', '0'); + String maxPostnr = postnr.replace('x', '9'); String sql = "SELECT max(latitude) latmax, min(latitude) latmin, max(longitude) lngmax,min(longitude) lngmin " + @@ -87,8 +87,8 @@ public Queue hentIkkedaekkedeAdresser(String postnr) throws SQLException { - String minPostnr = postnr.replace("x", "0"); - String maxPostnr = postnr.replace("x", "9"); + String minPostnr = postnr.replace('x', '0'); + String maxPostnr = postnr.replace('x', '9'); ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue(); @@ -124,10 +124,11 @@ */ - String sql = "SELECT concat(left(postnr,3),'x') as postnr2 " + + String sql = "SELECT rpad(left(postnr,?),'4', 'x') as postnr2 " + "FROM fulddaekning.adressetabel " + "WHERE postnr BETWEEN ? AND ? " + - "AND rute is null " + // Træk kun liste på postnumre hvor der er ikke-dækkede adresser + "AND rute is null " + // Trae kun liste paa postnumre hvor der er ikke-daekede adresser + "AND (postnr NOT BETWEEN 3900 and 3999) " + //Skip alle groenlandske postnumre "GROUP BY postnr2 " + "ORDER by postnr2 "; @@ -135,8 +136,11 @@ PreparedStatement stmt = conn.prepareStatement(sql); //stmt.setString(1, Lookup.distributor ); - stmt.setInt(1, consts.getMinPostnr()); - stmt.setInt(2, consts.getMaxPostnr()); + + stmt.setInt(1, consts.getPostnrGroup() ); + + stmt.setInt(2, consts.getMinPostnr()); + stmt.setInt(3, consts.getMaxPostnr()); ResultSet res = stmt.executeQuery(); while (res.next()) { @@ -170,7 +174,7 @@ stmt.setDouble(2, bbox.latitudeMax); stmt.setDouble(3, bbox.longitudeMin); stmt.setDouble(4, bbox.longitudeMax); - stmt.setString(5, Lookup.distributor); + stmt.setString(5, LookupMain.distributor); List list = hentAdresseListe( stmt ); return list.toArray( new Adresse[ list.size() ] ); @@ -192,7 +196,7 @@ PreparedStatement stmt = conn.prepareStatement(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); stmt.setFetchSize(Integer.MIN_VALUE); - stmt.setString(1, Lookup.distributor); + stmt.setString(1, LookupMain.distributor); List list = hentAdresseListe( stmt ); return list.toArray( new Adresse[ list.size() ] );