diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/at/gv/util/client/ur_V5/URClient.java | 40 | 
1 files changed, 28 insertions, 12 deletions
| diff --git a/src/main/java/at/gv/util/client/ur_V5/URClient.java b/src/main/java/at/gv/util/client/ur_V5/URClient.java index e39b18d..537ed25 100644 --- a/src/main/java/at/gv/util/client/ur_V5/URClient.java +++ b/src/main/java/at/gv/util/client/ur_V5/URClient.java @@ -47,6 +47,7 @@ import at.gv.util.xsd.ur_V5.pd.PersonenDatenTyp.Zusatzdaten;  import at.gv.util.xsd.ur_V5.pd.PersonenDatenZusatzdatenTyp;  import at.gv.util.xsd.ur_V5.pd.ZusatzdatenPersonenTyp;  import at.gv.util.xsd.ur_V5.search.BestandszeitraumVollzug; +import at.gv.util.xsd.ur_V5.search.FktRegelTypVollzug;  import at.gv.util.xsd.ur_V5.search.FunktionVollzug;  import at.gv.util.xsd.ur_V5.search.SucheUnternehmenNachBpkRequest;  import at.gv.util.xsd.ur_V5.search.SucheUnternehmenRequest; @@ -215,22 +216,37 @@ public class URClient {  		} else { -			if(zsd != null) { -				List<PersonenDatenZusatzdatenTyp> pd = zsd.getPersonenDaten(); -				for (PersonenDatenZusatzdatenTyp pdzd : pd) { -					 -					ZusatzdatenPersonenTyp zusatzdaten = pdzd.getZusatzdaten(); -					if (zusatzdaten != null) { -					 -						List<FunktionVollzug> function = zusatzdaten.getFunktion(); -						for (FunktionVollzug funct : function) { +			GregorianCalendar now = new GregorianCalendar(); +			XMLGregorianCalendar xmldate; +			try { +				xmldate = DatatypeFactory.newInstance().newXMLGregorianCalendar(now);			 +				if(zsd != null) { +					List<PersonenDatenZusatzdatenTyp> pd = zsd.getPersonenDaten(); +					for (PersonenDatenZusatzdatenTyp pdzd : pd) { -							if (this.allowedERsBKeys.contains(String.valueOf(funct.getFktName()))) +						ZusatzdatenPersonenTyp zusatzdaten = pdzd.getZusatzdaten(); +						if (zusatzdaten != null) { +						 +							List<FunktionVollzug> function = zusatzdaten.getFunktion(); +							for (FunktionVollzug funct : function) { -								set.add(String.valueOf(funct.getFktName())); -						}	 +								if (this.allowedERsBKeys.contains(String.valueOf(funct.getFktName()))) {							 +									List<FktRegelTypVollzug> functRegel = funct.getFktRegel(); +									for (FktRegelTypVollzug el : functRegel) { +										if ( (el.getFktRegelVon().compare(xmldate) == DatatypeConstants.LESSER  +												&& el.getFktRegelBis().compare(xmldate) == DatatypeConstants.GREATER) ) +											set.add(String.valueOf(funct.getFktName())); +										 +									}								 +								} +							}	 +						}  					}  				} +			 +			} catch (DatatypeConfigurationException e) { +				log.warn("Internal error during date conversion", e); +				  			}  			return new ArrayList<String>(set); | 
