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))
+ }
+
+ }
]]>