Index: vhUnitTest/APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering/VoerUit.cls.xml =================================================================== diff -u -r60515 -r71955 --- vhUnitTest/APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering/VoerUit.cls.xml (.../VoerUit.cls.xml) (revision 60515) +++ vhUnitTest/APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering/VoerUit.cls.xml (.../VoerUit.cls.xml) (revision 71955) @@ -11,108 +11,206 @@ 654321 - -DOM.TRANSP.Levering -1 - + + -DOM.TRANSP.Rit -1 - +Property Rit As DOM.TRANSP.Rit [ Private ]; - -vhTest.Mock.APPS.TRANSP.TransportAPI -1 - +Property TransportAPI As vhTest.Mock.APPS.TRANSP.TransportAPI [ Private ]; - -vhTest.Mock.APPS.TRANSP.TransportService -1 - +Property TransportService As vhTest.Mock.APPS.TRANSP.TransportService [ Private ]; - -vhTest.Mock.WS.Transsmart.TboxServicePort -1 - +Property TranssmartWSClient As vhTest.Mock.WS.Transsmart.TboxServicePort [ Private ]; - -vhTest.Mock.DOM.common.ProjectSettingsAPI -1 - +Property ProjectSettingsAPI As vhTest.Mock.DOM.common.ProjectSettingsAPI [ Private ]; - -vhTest.Mock.APPS.TRANSP.Transsmart.RequestDataBouwer -1 - +Property RequestBouwer As vhTest.Mock.APPS.TRANSP.Transsmart.RequestDataBouwer [ Private ]; - -vhTest.Mock.APPS.TRANSP.Transsmart.impl.ResponseControleur -1 - +Property ResponseControleur As vhTest.Mock.APPS.TRANSP.Transsmart.impl.ResponseControleur [ Private ]; - -vhTest.Mock.APPS.TRANSP.Transsmart.VerzendWijzeBepaler -1 - +Property VerzendWijzeBepaler As vhTest.Mock.APPS.TRANSP.Transsmart.VerzendWijzeBepaler [ Private ]; - -vhTest.Mock.APPS.TRANSP.Transsmart.data.VerzendDataRepository -1 - +Property VerzendDataRepository As vhTest.Mock.APPS.TRANSP.Transsmart.data.VerzendDataRepository [ Private ]; - -vhTest.Mock.APPS.TRANSP.Transsmart.impl.EtiketService -1 - +Property EtiketService As vhTest.Mock.APPS.TRANSP.Transsmart.impl.EtiketService [ Private ]; +Property QueryAPI As vhTest.Mock.TECH.Query.QueryAPI [ Private ]; +*/ +]]> + + AManager:Tools.Test.Manager %Status + + + + + + + + + + + + + +vhTest.Mock.DOM.common.ProjectSettingsAPI + + + 1 vhTest.Mock.APPS.TRANSP.Transsmart.impl.EtiketService @@ -136,18 +234,22 @@ +Indien:%Boolean="0" vhTest.Mock.APPS.TRANSP.TransportService +KlantID:%String="KLANTID" 1 vhTest.Mock.DOM.TRANSP.Levering geen colli Do Levering.VerwachtMethodCall("VoegToeEnBewaarDistributeurDataID","").DanDoeNiks() + Do Levering.VerwachtMethodCall("GeefRitID").DanReturn(..#RitNr) + Do Levering.VerwachtMethodCall("GeefGeleverdAanKlantID").DanReturn(KlantID) Quit Levering ]]> @@ -214,6 +318,16 @@ Quit RequestBouwer ]]> + + +Count:%String +TECH.ResultSet + + Index: APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering.cls.xml =================================================================== diff -u -r60532 -r71955 --- APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering.cls.xml (.../RegistreerLevering.cls.xml) (revision 60532) +++ APPS/TRANSP/Transsmart/impl/CommunicatieService/RegistreerLevering.cls.xml (.../RegistreerLevering.cls.xml) (revision 71955) @@ -8,15 +8,21 @@ 1 + +TECH.Query.QueryAPI +1 + + -ConfigMgr:TECH.Config.ConfigMgr="",ProjectSettingsAPI:DOM.common.impl.ProjectSettingsAPI="",TranssmartWSClient:WS.Transsmart.TboxServicePort="",RequestBouwer:APPS.TRANSP.Transsmart.RequestDataBouwer="",ResponseControleur:APPS.TRANSP.Transsmart.impl.ResponseControleur="",VerzendDataRepository:APPS.TRANSP.Transsmart.data.VerzendDataRepository="",VerzendWijzeBepaler:APPS.TRANSP.Transsmart.VerzendWijzeBepaler="",Rit:DOM.TRANSP.Rit,Levering:DOM.TRANSP.Levering,EtiketService:APPS.TRANSP.Transsmart.impl.EtiketService="" +ConfigMgr:TECH.Config.ConfigMgr="",ProjectSettingsAPI:DOM.common.impl.ProjectSettingsAPI="",TranssmartWSClient:WS.Transsmart.TboxServicePort="",RequestBouwer:APPS.TRANSP.Transsmart.RequestDataBouwer="",ResponseControleur:APPS.TRANSP.Transsmart.impl.ResponseControleur="",VerzendDataRepository:APPS.TRANSP.Transsmart.data.VerzendDataRepository="",VerzendWijzeBepaler:APPS.TRANSP.Transsmart.VerzendWijzeBepaler="",Rit:DOM.TRANSP.Rit,Levering:DOM.TRANSP.Levering,EtiketService:APPS.TRANSP.Transsmart.impl.EtiketService="",QueryAPI:TECH.Query.QueryAPI="" 1 1 %Status 1 @@ -27,9 +33,7 @@ #dim Request as WS.Transsmart.tns.doBooking = ..RequestBouwer.MaakdoBookingRequest(..LeveringInfo,..Rit) do ..ControleerLevering() - do ..VerwerkRequest(Request) - Do ..PrintEtiketten(..Levering) ]]> @@ -112,6 +116,39 @@ Do ##class(TECH.ExceptionHandler).Throw(##class(APPS.TRANSP.Transsmart.Exceptions.CommunicatieException).%New(Bericht)) } } + + + #dim TransportNr as %String = ..Levering.GeefRitID() + #dim SqlStatement as %String = "" + #dim OPOKlantnr as %String = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantNummerVoorPartijID(##class(DOM.VKP.enu.Klant).OPO()) + if (..Levering.GeefGeleverdAanKlantID() = ##class(DOM.VKP.enu.Klant).OPO()) { + // check of er andere klanten op transport zitten -> fout. + Set SqlStatement = "select count(*) from flow_cons.Transport t " + _ "join flow_cons.TransportAdres a on a.transport = t. id " + _ "where t.id = ? and a.klant != ?" + + Set Query = ##class(TECH.DynamicQuery).%New(SqlStatement,$ListBuild(TransportNr,OPOKlantnr)) + #dim ResultSet As TECH.ResultSet = ..QueryAPI.GetResultSet(Query) + Do ResultSet.Next() + If (ResultSet.GetData(1) > 0){ + Set Bericht = "Reeds andere klanten dan OPO op dit transport. OPO niet samen met andere klanten in één transport." + Do ##class(TECH.ExceptionHandler).Throw(##class(APPS.TRANSP.Transsmart.Exceptions.CommunicatieException).%New(Bericht)) + } + } else { + //Check of er op het transport al zendingen voor OPO zitten + Set SqlStatement = "select count(*) from flow_cons.Transport t " + _ "join flow_cons.TransportAdres a on a.transport = t. id " + _ "where t.id = ? and a.klant = ?" + + Set Query = ##class(TECH.DynamicQuery).%New(SqlStatement,$ListBuild(TransportNr,OPOKlantnr)) + Set ResultSet = ..QueryAPI.GetResultSet(Query) + Do ResultSet.Next() + If (ResultSet.GetData(1) > 0){ + Set Bericht = "Dit is een transport voor OPO. Andere klanten niet samen met andere OPO in één transport." + Do ##class(TECH.ExceptionHandler).Throw(##class(APPS.TRANSP.Transsmart.Exceptions.CommunicatieException).%New(Bericht)) + } + + } ]]>