Skip to content

Commit

Permalink
refactor: use current zds time instead of 000000 when creating status…
Browse files Browse the repository at this point in the history
… from einddatum or from sta.datumStatusGezet in voegZaakdocumentToe
  • Loading branch information
Meric Akgul authored and MLenterman committed Jan 8, 2025
1 parent def35a8 commit 4c4fd7b
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 62 deletions.
94 changes: 38 additions & 56 deletions e2e/SoapUI/zaakbrug-e2e-soapui-project.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project id="1d0f1760-ed7f-4d8c-9a48-36679e059cb8" activeEnvironment="Default" name="zaakbrug" resourceRoot="${projectDir}" soapui-version="5.7.2" abortOnError="false" runType="SEQUENTIAL" defaultScriptLanguage="Groovy" xmlns:con="http://eviware.com/soapui/config">
<con:soapui-project id="1d0f1760-ed7f-4d8c-9a48-36679e059cb8" activeEnvironment="Default" name="zaakbrug" resourceRoot="${projectDir}" soapui-version="5.8.0" abortOnError="false" runType="SEQUENTIAL" defaultScriptLanguage="Groovy" xmlns:con="http://eviware.com/soapui/config">
<con:settings/>
<con:interface xsi:type="con:WsdlInterface" id="aaaaa6d3-e786-4ca8-956d-c92d65b06ea5" wsaVersion="NONE" name="ZdsBeantwoordVraag" type="wsdl" bindingName="{http://www.egem.nl/StUF/sector/zkn/0310}SOAPBeantwoordVraag" soapVersion="1_1" anonymous="optional" definition="../../src/main/configurations/Translate/Common/xsd/Zaak_DocumentServices_1_1_02/zkn0310/zs-dms/zkn0310_beantwoordVraag_zs-dms.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<con:settings/>
Expand Down Expand Up @@ -8261,40 +8261,40 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue('DocumentBa
</ZKN:gerelateerde>
</ZKN:heeftAlsVerantwoordelijke>
<ZKN:heeft StUF:entiteittype="ZAKSTT">
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Afgehandeld</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>J</ZKN:indicatieLaatsteStatus>
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Afgehandeld</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>J</ZKN:indicatieLaatsteStatus>
</ZKN:heeft>
<ZKN:heeft StUF:entiteittype="ZAKSTT">
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Besluitvorming afgerond</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Besluitvorming afgerond</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
</ZKN:heeft>
<ZKN:heeft StUF:entiteittype="ZAKSTT">
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Ontvangen</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>In behandeling genomen</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
</ZKN:heeft>
<ZKN:heeft StUF:entiteittype="ZAKSTT">
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>In behandeling genomen</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
<ZKN:gerelateerde StUF:entiteittype="STT">
<ZKN:zkt.code>B1026</ZKN:zkt.code>
<ZKN:zkt.omschrijving>Minimaregeling aanvraag</ZKN:zkt.omschrijving>
<ZKN:omschrijving>Ontvangen</ZKN:omschrijving>
</ZKN:gerelateerde>
<ZKN:datumStatusGezet>*</ZKN:datumStatusGezet>
<ZKN:indicatieLaatsteStatus>N</ZKN:indicatieLaatsteStatus>
</ZKN:heeft>
</ZKN:object>
</ZKN:antwoord>]]></content>
Expand Down Expand Up @@ -15571,7 +15571,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken'
<ingangsdatumObject xsi:nil="true" StUF:noValue="waardeOnbekend"/>\r
</gerelateerde>\r
<toelichting/>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; import java.util.Calendar; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); new SimpleDateFormat("yyyyMMdd").format(cal.getTime())}000000000</datumStatusGezet>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}</datumStatusGezet>\r
<isGezetDoor StUF:entiteittype="ZAKSTTBTR" StUF:verwerkingssoort="T">\r
<gerelateerde>\r
<medewerker StUF:entiteittype="MDW" StUF:verwerkingssoort="T">\r
Expand Down Expand Up @@ -16516,7 +16516,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken'
<ingangsdatumObject xsi:nil="true" StUF:noValue="waardeOnbekend"/>\r
</gerelateerde>\r
<toelichting/>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; import java.util.Calendar; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); new SimpleDateFormat("yyyyMMdd").format(cal.getTime())}000000000</datumStatusGezet>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}</datumStatusGezet>\r
<isGezetDoor StUF:entiteittype="ZAKSTTBTR" StUF:verwerkingssoort="T">\r
<gerelateerde>\r
<medewerker StUF:entiteittype="MDW" StUF:verwerkingssoort="T">\r
Expand Down Expand Up @@ -17818,7 +17818,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken'
<ingangsdatumObject xsi:nil="true" StUF:noValue="waardeOnbekend"/>\r
</gerelateerde>\r
<toelichting/>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; import java.util.Calendar; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); new SimpleDateFormat("yyyyMMdd").format(cal.getTime())}000000000</datumStatusGezet>\r
<datumStatusGezet>${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}</datumStatusGezet>\r
<isGezetDoor StUF:entiteittype="ZAKSTTBTR" StUF:verwerkingssoort="T">\r
<gerelateerde>\r
<medewerker StUF:entiteittype="MDW" StUF:verwerkingssoort="T">\r
Expand Down Expand Up @@ -44180,10 +44180,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down Expand Up @@ -44839,10 +44836,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down Expand Up @@ -49148,10 +49142,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down Expand Up @@ -49734,10 +49725,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down Expand Up @@ -50535,10 +50523,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down Expand Up @@ -51368,10 +51353,7 @@ def einddatum = xml.'**'.find { it.name() == 'einddatum' }?.text()
def datumStatusGezet = xml.'**'.find { it.name() == 'datumStatusGezet' }?.text()

// Check if the value of "datumStatusGezet" took the value of "einddatum"
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"

// Check if the value of "datumStatusGezet" set the time zero"
assert datumStatusGezet.contains('000000') : "'datumStatusGezet' did not set the time zero"</scriptText>
assert datumStatusGezet.contains(einddatum) : "'datumStatusGezet' did not take the value of 'einddatum'"</scriptText>
</con:configuration>
</con:assertion>
<con:credentials>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@
>
<Param name="ZgwZaak" sessionKey="ZgwZaak" type="DOMDOC"/>
<Param name="ZgwStatusType" sessionKey="ZgwStatusType" type="DOMDOC"/>
<Param name="ZdsStatusDatum" xpathExpression="concat(object/isRelevantVoor/sta.datumStatusGezet,'000000')"/>
<Param name="ZdsStatusDatum" xpathExpression="object/isRelevantVoor/sta.datumStatusGezet"/>
<Forward name="success" path="PostZgwStatusSender"/>
</XsltPipe>

Expand Down
12 changes: 7 additions & 5 deletions src/main/configurations/Translate/Zgw/Zaken/Model/ZgwStatus.xslt
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,16 @@

<xsl:variable name="DatumStatusGezetFromParams" as="xs:string">
<xsl:choose>
<xsl:when test="$ZgwStatusType/ZgwStatusType/isEindstatus = 'true'
and (string-length($ZdsEinddatum) > 0)
and (string-length($ZdsStatusDatum) = 0)
<xsl:when test="$ZgwStatusType/ZgwStatusType/isEindstatus = 'true'
and (string-length($ZdsEinddatum) > 0)
and (string-length($ZdsStatusDatum) = 0)
and not($ZdsEinddatum = 'Undefined')">
<xsl:value-of select="zgw:toZgwDatetime(concat($ZdsEinddatum,'000000'))"/>
<!-- No guarantee that current time is later than statusDatumGezet of last set status if einddatum is in the past -->
<xsl:value-of select="zgw:toZgwDatetime(concat($ZdsEinddatum, zgw:currentZdsTime()))" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="zgw:toZgwDatetime($ZdsStatusDatum)"/>
<!-- No guarantee that current time is later than statusDatumGezet of last set status if einddatum is in the past -->
<xsl:value-of select="zgw:toZgwDatetime(concat($ZdsEinddatum, zgw:currentZdsTime()))" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Expand Down
28 changes: 28 additions & 0 deletions src/main/configurations/Translate/Zgw/ZgwFunctionsBase.xslt
Original file line number Diff line number Diff line change
Expand Up @@ -260,4 +260,32 @@
</xsl:choose>
</xsl:function>

<xsl:function name="zgw:currentZdsDateTime" as="xs:string">
<xsl:variable name="currentUtcDateTime" select="adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))" />
<xsl:variable name="timezoneOffset" select="format-dateTime($currentUtcDateTime, '[Z]', (), (), environment-variable('zaakbrug.zds.timezone'))" />
<xsl:variable name="dayTimeDuration" as="xs:dayTimeDuration">
<xsl:choose>
<xsl:when test="starts-with($timezoneOffset, '+')">
<xsl:value-of select="concat('PT', substring-before(substring-after($timezoneOffset, '+'), ':'), 'H')" />
</xsl:when>
<xsl:when test="starts-with($timezoneOffset, '-')">
<xsl:value-of select="concat('PT-', substring-before(substring-after($timezoneOffset, '-'), ':'), 'H')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'PT0H'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="adjustedDateTime" select="adjust-dateTime-to-timezone($currentUtcDateTime, $dayTimeDuration)" />
<xsl:value-of select="format-dateTime($adjustedDateTime, '[Y0001][M01][D01][H01][m01][s01]')" />
</xsl:function>

<xsl:function name="zgw:currentZdsDate" as="xs:string">
<xsl:value-of select="substring(zgw:currentZdsDateTime(), 1, 8)" />
</xsl:function>

<xsl:function name="zgw:currentZdsTime" as="xs:string">
<xsl:value-of select="substring(zgw:currentZdsDateTime(), 9, 6)" />
</xsl:function>

</xsl:stylesheet>

0 comments on commit 4c4fd7b

Please sign in to comment.