--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/03/24 10:47:26 2487 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/07/14 08:48:33 2607 @@ -28,7 +28,7 @@ String debugFilter = DatabaseLayer.DEBUG ? " AND postnr = 8700 " : ""; String sql = - "SELECT id,vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,upper(distributor) AS distributor,dbkbane,koreliste,rute,latitude,longitude " + "SELECT id,vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,upper(distributor) AS distributor,dbkbane,koreliste,rute,korelisteloerdag,ruteloerdag,korelistesoendag,rutesoendag,latitude,longitude " + "FROM fulddaekning.adressetabel " + "WHERE gadeid IS NOT NULL " + debugFilter @@ -54,18 +54,24 @@ Address a = new Address(); a.id = res.getInt(1); a.vejnavn = vejnavnCache.getInstance( res.getString(2) ); - a.husnr = res.getInt(3); + a.husnr = (short) res.getInt(3); a.husnrbogstav = husnrbogstavCache.getInstance( res.getString(4) ); - a.kommunekode = res.getInt(5); - a.vejkode = res.getInt(6); - a.postnr = res.getInt(7); - a.gadeid = res.getLong(8); + a.kommunekode = (short) res.getInt(5); + a.vejkode = (short)res.getInt(6); + a.postnr = (short)res.getInt(7); + a.gadeid = res.getInt(8); a.distributor = distributorCache.getInstance(res.getString(9)); - a.dbkBane = res.getInt(10); + a.dbkBane = (short) res.getInt(10); + a.koreliste = korelisteCache.getInstance( res.getString(11) ); a.rute = ruteCache.getInstance( res.getString(12) ); - a.latitude = res.getDouble(13); - a.longitude = res.getDouble(14); + a.korelisteLordag = korelisteCache.getInstance( res.getString(13) ); + a.ruteLordag = ruteCache.getInstance( res.getString(14) ); + a.korelisteSondag = korelisteCache.getInstance( res.getString(15) ); + a.ruteSondag = ruteCache.getInstance( res.getString(16) ); + + a.latitude = (float) res.getDouble(17); + a.longitude = (float) res.getDouble(18); //a.vasketVejnavn = AddressUtils.vaskVejnavn(a.vejnavn); @@ -108,7 +114,7 @@ while (res.next()) { AliasBean ab = new AliasBean(); - ab.postnr = res.getInt(1); + ab.postnr = res.getShort(1); ab.vejnavn = vejCache.getInstance( res.getString(2) ); ab.aliasVejnavn = vejCache.getInstance( res.getString(3) ); @@ -175,7 +181,7 @@ } } - public static Map get100PctList() throws SQLException { + public static Map get100PctList() throws SQLException { String sql = "SELECT postnr,UPPER(distributor) as distributor,rute,koreliste,dbkbane " + "FROM bogleveringer.adresser_udenfor_daekning"; @@ -184,7 +190,7 @@ ) { ResultSet res = stmt.executeQuery(sql); - Map map = new HashMap(); + Map map = new HashMap(); DeduplicateHelper distributorCache = new DeduplicateHelper(); @@ -192,11 +198,11 @@ HundredePctBean bean = new HundredePctBean(); - bean.postnr = res.getInt(1); + bean.postnr = (short) res.getInt(1); bean.distributor = distributorCache.getInstance(res.getString(2)); bean.rute = res.getString(3); bean.koreliste = res.getString(4); - bean.dbkBane = res.getInt(5); + bean.dbkBane = (short)res.getInt(5); map.put(bean.postnr, bean); } @@ -211,15 +217,21 @@ } public static void saveRequestLog(String brugerid, String postnr, String adresse, SearchResult result) throws SQLException { + String setVar = "set sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' "; + String sql = "INSERT INTO logs.hentruteinformation (postnr,adresse,vejnavn,googlevejnavn,husnr,husnr_bogstav,etage,lejlighed,rest,brugerid,status, indlast) " + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW() )"; - try ( Connection conn = DBConnection.getConnection(); + try ( Connection conn = DBConnection.getConnection(); + Statement setStmt = conn.createStatement(); PreparedStatement stmt = conn.prepareStatement(sql); ) { + setStmt.execute(setVar); + + stmt.setInt( 1, safeInt(postnr) ); stmt.setString( 2, adresse); stmt.setString( 3, result.splitResult.vej); @@ -240,6 +252,7 @@ /* * Bruges til at sammenligne gammel og ny adresse service - kan fjernes engang efter at vi er skiftet til ny service */ + @Deprecated public static List getLoggedAdresses(int antaldage) throws SQLException { String sql = "select postnr,adresse,status from logs.hentruteinformation where indlast>=date_sub(curdate(), interval " + antaldage + " day) " + "and status IN (10,11,12) " +