--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/13 13:48:09 2276 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/13 15:15:13 2282 @@ -7,7 +7,11 @@ import java.util.concurrent.ConcurrentHashMap; import dk.daoas.daoadresseservice.AddressUtils.SplitResult; -import dk.daoas.daoadresseservice.SearchResult.Status; +import dk.daoas.daoadresseservice.beans.Address; +import dk.daoas.daoadresseservice.beans.ExtendedBean; +import dk.daoas.daoadresseservice.beans.HundredePctBean; +import dk.daoas.daoadresseservice.beans.SearchResult; +import dk.daoas.daoadresseservice.beans.SearchResult.Status; import dk.daoas.daoadresseservice.db.DatabaseLayer; public class AdressSearch { @@ -21,6 +25,9 @@ Map idAddressMap; + Map hundredePct; + + public SearchResult search(String postnrStr, String adresse) { int postnr=0; @@ -60,6 +67,10 @@ if (addr.daekningsType == DaekningsType.DAEKNING_IKKEDAEKKET) { return new SearchResult(Status.STATUS_NOT_COVERED); } + + if (addr.distributor.equals("LUKKET")) { + return new SearchResult(Status.STATUS_NOT_COVERED); //Skal vi have en special status til Lukkede adresser ? + } return new SearchResult(addr); @@ -85,9 +96,10 @@ searchPostnrVejnavnGadeid.put(a.postnr, postnrVeje); } - Long gadeident = postnrVeje.get(a.vasketVejnavn); + String vasketVejnavn = AddressUtils.vaskVejnavn(a.vejnavn); + Long gadeident = postnrVeje.get(vasketVejnavn); if (gadeident == null) { - postnrVeje.put(a.vasketVejnavn, a.gadeid); + postnrVeje.put(vasketVejnavn, a.gadeid); } Map gade = searchGadeidentAdresser.get(a.gadeid); @@ -99,9 +111,11 @@ gade.put(husnrSearch, a); } - System.out.println("Build -- stage 2"); - List extDao = DatabaseLayer.getExtendedAdresslistDao(); + //////////////////////////////////////////////////////////////////////////////////////// + System.out.println("Build -- stage 2 udvidet dækning"); + + List extDao = DatabaseLayer.getExtendedAdresslist(); for (ExtendedBean eb : extDao) { Address orgAddress = idAddressMap.get(eb.orgId); @@ -112,6 +126,14 @@ if (targetAddress == null) continue; + if (orgAddress.distributor != null && orgAddress.distributor.equals("LUKKET")) { + continue; + } + + if (targetAddress.distributor.equals("LUKKET")) { + continue; + } + orgAddress.extTarget = targetAddress; orgAddress.extAfstand = eb.afstand; @@ -131,10 +153,33 @@ } + ////////////////////////////////////////////////////////////////////////////////////// + System.out.println("Build -- stage 3 - 100pct"); - System.out.println("Build -- stage 3"); + hundredePct = DatabaseLayer.get100PctList(); + for (Address addr : alleAdresser) { + if (addr.daekningsType != DaekningsType.DAEKNING_IKKEDAEKKET) { + continue; + } + + if (addr.distributor != null && addr.distributor.equals("LUKKET")) { + continue; + } + + + HundredePctBean bean = hundredePct.get(addr.postnr); + if (bean == null) { + continue; + } + + addr.daekningsType = DaekningsType.DAEKNING_100PCT; + addr.rute = bean.rute; + addr.koreliste = bean.koreliste; + addr.dbkBane = bean.dbkBane; + addr.distributor = bean.distributor; + } - System.out.println("Build -- stage 4"); + System.out.println("Build Completed"); }