--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/13 11:52:33 2275 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/13 13:48:09 2276 @@ -11,6 +11,7 @@ import dk.daoas.daoadresseservice.Address; import dk.daoas.daoadresseservice.AddressUtils; import dk.daoas.daoadresseservice.DaekningsType; +import dk.daoas.daoadresseservice.ExtendedBean; public class DatabaseLayer { @@ -50,6 +51,10 @@ a.daekningsType = DaekningsType.DAEKNING_IKKEDAEKKET; } + if (a.distributor != null) { + a.distributor = a.distributor.toUpperCase(); + } + list.add(a); } res.close(); @@ -60,4 +65,43 @@ return list; } + + public static List getExtendedAdresslistDao() throws SQLException { + String sql = "select orgid, a.id as targetid, afstand,type from fulddaekning.afstand_anden_rute a " + + "join odbc.transporttype t " + + "on t.Art = 'Transpost' " + + "and ( (t.Type = 'Cykel' and a.Afstand < 1.001) or (t.Type = 'Scooter' and a.Afstand < 1.201) or (t.Type = 'Bil' and a.Afstand < 2.601) ) " + + "and t.Rute = a.Rute " + + + "UNION ALL " + + + "SELECT orgid, a.id as targetid, afstand,'' as type FROM fulddaekning.afstand_anden_rute_bk a " + + "left join bogleveringer.postnummerdistributor d on d.PostNr = a.orgPostnr " + + "WHERE d.Distributor <> 10057" + ; + + Connection conn = DBConnection.getConnection(); + Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); + ResultSet res = stmt.executeQuery(sql); + + List list = new ArrayList(); + while (res.next()) { + ExtendedBean eb = new ExtendedBean(); + eb.orgId = res.getInt(1); + eb.targetId = res.getInt(2); + eb.afstand = res.getDouble(3); + eb.transport = res.getString(4).toLowerCase(); + + list.add(eb); + } + + res.close(); + stmt.close(); + conn.close(); + + System.out.println("Loaded " + list.size() + " extendedbeans"); + + return list; + } + }